Instaclustr is pleased to announce the availability of Instaclustr Service Broker, an implementation of Open Service Broker (OSB) API, that enables containerised applications to seamlessly integrate with data layer services like Apache Cassandra and Apache Kafka on the Instaclustr Managed Platform. Containerised applications can now use capabilities such as automated service discovery, provisioning, management and deprovisioning of data layer clusters running on the Instaclustr Managed Platform.
Kubernetes and Service Brokers
Container Orchestration technologies like Kubernetes have been increasingly adopted by businesses as they enable them to build applications that are portable, easily and rapidly deployable, manageable and scalable as needed for business operations. Specifically, Kubernetes is the go-to container orchestrator as it is fast becoming a de-facto in the industry. Applications running within Kubernetes will often need to use Managed Services like Kafka, Cassandra etc. Kubernetes maintains a catalogue of Service Brokers where each Service Broker exposes a set of APIs (built as per OSB specifications) that can be used by applications to integrate with different external services. The Instaclustr Service Broker is such an OSB implementation that allows our customers to connect their containerised application running on Kubernetes to Instaclustr Managed services. Applications running in Kubernetes can easily create and deploy a new Cassandra or Kafka cluster on Instaclustr Managed Platform, scale the cluster as needed, and delete the cluster when it is no longer needed. The significant advantage is that you can do all of these programmatically or by using management tools within the Kubernetes framework. This completely removes the burden of manually setting up these services, and building and maintaining non-standard scripts to constantly keep business applications aware of the clusters running on Instaclustr Managed Platform.
Instaclustr Service Broker
The Instaclustr Service Broker APIs adhere to the OSB specification and could be used by any application running on Kubernetes or other container orchestrators. It supports the following operations through a Service Catalogue available to applications
- Create a Cluster-scoped or Namespace-scoped, Instaclustr Service Broker and register it in the Service Catalogue. Namespace-scoped broker provides role-based access control to its services and plans.
- Read and inspect the details of an Instaclustr Service Broker’s Service Class and Service Plan. The Service Class represents the service provided and a Service Plan represents how the service can be used. Each Service Class may have one or more Service Plans. Currently, we have a single Service Class called instaclustr-managed-service and it comes with two plans: new-cluster and existing-cluster.
- Create an instance of Instaclustr Service. If the plan is new-cluster, this operation provisions a new cluster on the Instaclustr Managed Platform based on the configuration details in the parameters as specified in the YAML file (configuration file used by Kubernetes). The details include cluster type (Kafka or Cassandra), instance type and other cluster configuration. The provisioning process may take some time depending on the type and size of the cluster. You can inspect the Instaclustr Service instance to see the details of the service and the provisioning status. If the plan is existing-cluster, this operation gets all the details of the existing Instaclustr managed cluster and populates the Instaclustr Service instance to allow service discovery in Kubernetes.
- Bind a Kubernetes Operator to Instaclustr Service instance. This operation effectively integrates a Kubernetes cluster with an Instaclustr managed service which means the application is now fully aware of the Instaclustr managed service and can seamlessly use its capabilities.
- Unbind a Kubernetes Operator from Instaclustr Service instance to remove the binding.
- Delete a cluster by deprovisioning the corresponding Instaclustr Service Instance.
As we observe and learn from the real world use cases, we may extend and add more Service Classes and Plans to suit different purposes. For more details on how to use Instaclustr Managed services via the Instaclustr Service Broker, please read the support documentation.
Service Broker extends Instaclustr’s ability to assist customers in seamlessly integrating their application stack with their data-layer clusters running on our Managed Platform. Essentially, it is an easier and better way for Kubernetes users to provision and manage Instaclustr clusters in addition to the existing Management Console interface and Provisioning API. Several of our customers running their applications on Kubernetes have requested us for this capability and we are very excited that the Instaclustr Service Broker will address their challenges. We are also happy to share that there is no additional cost to use this capability. With more and more customers embracing and adopting containerised applications and micro-services architecture, we expect that the Instaclustr Service Broker will become a key interface to engage and use Instaclustr services.
If you want to know more about Instaclustr Service Broker and how to leverage its function for different use cases or if you have specific requirements around Service Broker, Service discovery, and integration with Instaclustr provided services, please contact our Support team.