Service Catalog
Posted by
Manish Panchmatia
on Tuesday, March 26, 2019
Labels:
Database,
DevOps,
k8s,
microservice,
software
Introduction
The Service Catalog offers :
- powerful abstractions to make services available in a Kubernetes cluster.
These services are:
- typically third-party managed cloud offerings OR
- self-hosted services
Developers can focus on the applications without the need for managing complex services deployment.
Service Catalog is list of (1) service class (or service offering) E.g services : database, messaging queue, API gateway, a log drain, or something else. Services are associated with (2) service plan The service plan is variant of service in terms of cost, size etc.
Service Broker
Typically, a third party Service provider will expose a Service Broker on their own infrastructure
Service configuration options using JSON schema to configure service and plan. Automatic form building is also possible.
Service Broker use cases
1. Service breaker handle interactions from modern cloud native apps to legacy system for valueable data stored at legacy system.
2. OSBAPI allows interactions with multiple cloud provider.
Service broker can also implement web-based service dashboard
A Service Broker is a piece of software (server) that implements the Open Service Broker APIs. These APIs are for
- listing catalog
- provisioning
- deprovisioning
- binding service instance with application
- unbinding service instance from application
These are secure APIs. Service broker implements OAuth etc on interface with application / container / platform. a service broker proxy can be used to support custom authentication flow.
For time consuming provisioning and deprovisioning, OSBAPI supports asynchronous operation.
The service broker first register with K8s.
on-demand : service instance is provisioned, when requested.
multi-tenant : service instance are pre-provisioned.
The Service Catalog offers :
- powerful abstractions to make services available in a Kubernetes cluster.
These services are:
- typically third-party managed cloud offerings OR
- self-hosted services
Developers can focus on the applications without the need for managing complex services deployment.
Service Catalog is list of (1) service class (or service offering) E.g services : database, messaging queue, API gateway, a log drain, or something else. Services are associated with (2) service plan The service plan is variant of service in terms of cost, size etc.
Service Broker
Typically, a third party Service provider will expose a Service Broker on their own infrastructure
Service configuration options using JSON schema to configure service and plan. Automatic form building is also possible.
Service Broker use cases
1. Service breaker handle interactions from modern cloud native apps to legacy system for valueable data stored at legacy system.
2. OSBAPI allows interactions with multiple cloud provider.
Service broker can also implement web-based service dashboard
A Service Broker is a piece of software (server) that implements the Open Service Broker APIs. These APIs are for
- listing catalog
- provisioning
- deprovisioning
- binding service instance with application
- unbinding service instance from application
These are secure APIs. Service broker implements OAuth etc on interface with application / container / platform. a service broker proxy can be used to support custom authentication flow.
For time consuming provisioning and deprovisioning, OSBAPI supports asynchronous operation.
The service broker first register with K8s.
K8s platform is like client software, that request service broker. The first request may be to get service catalog. Then K8s platform will ask to create new service instance.
on-demand : service instance is provisioned, when requested.
multi-tenant : service instance are pre-provisioned.
The service instance will be bind to K8s application/pod using Service Bindings. Typically, a Service Binding will also provide credentials and connectivity information (IP and port) to the application to access the Service. These credentials will be managed by K8s as secrets.
Here, service catalog is K8s resource and it has corresponding (1) Service Catalog Controller and (2) Service Catalog API Gateway. The end-user will interact with Service Catalog API gateway. The gateway will ask service broker to list out all the services (service offering/class + service plan). Then K8s will update (remove duplicate, add, delete, modify) the master service catalog and respond to application/platform client.
Comparison
Open Service Broker API Kubernetes servicecatalog.k8s.io Kinds
Platform Kubernetes
Service Broker ClusterServiceBroker
Service ClusterServiceClass
Plan ClusterServicePlan
Service Instance ServiceInstance
Service Binding ServiceBinding
Reference
0 comments:
Post a Comment