Introducing the Operator Framework: Building Kubernetes applications just got easier
© Shutterstock / Chinnapong
Building Kubernetes applications is not that easy but that’s about to change. The Operator Framework aims to eliminate all the pain points and make the process as smooth as possible. And lucky for us, it is now open source.
There’s a new open source toolkit in town that’s supposed to manage Kubernetes native applications in a more scalable, effective and automated way. Thanks to Red Hat and the Kubernetes open source community (who just shared the Operator Framework), building Kubernetes applications just got easier.
If the name “Operators” sounds familiar, that’s because the concept was introduced just a couple of years ago. “An Operator is software that encodes this domain knowledge and extends the Kubernetes API through the third party resources mechanism, enabling users to create, configure, and manage applications,” Brandon Philips, CTO at CoreOS wrote in the blog post announcing the concept. One of the best parts about an Operator is that it manages multiple instances across the cluster.
The Operator Framework: What’s under its hood
The toolkit is supposed to “help lower the application development barrier on Kubernetes.” The Operator Framework includes the following:
- Operator SDK: In short, this means that developers can now build Operators based on their expertise without requiring knowledge of Kubernetes API complexities.
The SDK offers you the tools to build, test and package Operators. Although currently, its aim is to facilitate the marriage of an application’s business logic with the Kubernetes API to execute those operations, over time it can become an asset if you want to make applications smarter and have the user experience of cloud services.
- Operator Lifecycle Management: Oversees installation, updates, and management of the lifecycle of all of the Operators (and their associated services) running across a Kubernetes cluster.
After they are built, Operators must be deployed on a Kubernetes cluster. The goal of the Operator Lifecycle Manager is to facilitate management of operators on a Kubernetes cluster. This way, administrators can control what Operators are available, as well as other details such as the namespaces they are in and who can interact with running Operators. Furthermore, Operators can also manage the overall lifecycle of Operators and their resources, such as triggering updates to both an Operator and its resources.
- Operator Metering (not available yet): Enables usage reporting for Operators that provide specialized services.
In the future, the toolkit will also have the ability to meter application usage. Operator Metering’s goal is to tie into the cluster’s CPU and memory reporting, as well as calculate IaaS cost and customized metrics like licensing. It should become available in the coming months.
You can read more about the Operator Framework here.