Canonical has added support for legacy Linux and Windows platforms to the Charmhub.io public repository for Operators for Kubernetes environments.
Company CEO Mark Shuttleworth says Canonical is trying to promote the adoption of Operators as a pattern for managing applications beyond cloud-native applications running on Kubernetes clusters.
Charmhub.io is both a repository and forum for collaboration among developers of the software who subscribe to the Open Operator Manifesto, a set of guiding principles that ensure security, quality, usability and interoperability.
Each instance in the Charmhub repository includes declarative integration points that make it easier to automate workflows spanning multiple open source Operators. Developers are encouraged to share code with one another to make it easier for IT teams to construct those workflows, says Shuttleworth.
Rather than constructing one massive Operator, Shuttleworth notes IT teams will be better off employing a set of building blocks to construct those workflows. Each building block would be built by a small team that intimately knows the application that the Operator manages, he says.
A single monolithic Operator spanning an IT environment is not going to be optimized for each component of that environment. In addition, there tend to be multiple Operators available for various platforms. A modular approach enables IT teams to rip and replace them as they see fit, notes Shuttleworth.
Operators today are designed to be language-neutral but the bulk of them so far are written in Python. Canonical via Charmhub provides code-sharing and collaboration facilities for Python that make it easier to reuse libraries and interface definitions across operators. There’s also a Python Operator Framework that addresses integration and other low-level lifecycle management tasks.
The Open Operator Collection from Canonical is based on the Juju Operator Lifecycle Manager (OLM) to provide those basic provisioning and lifecycle management capabilities. It enables a model-driven approach to manage event delivery, event serialization, persistent state, leader election, application status monitoring, application messages and data integration.
Shuttleworth says Operators will advance IT management more broadly across cloud-native and legacy platforms using the model-driven approach. IT teams can compose them using an application graph that enables declarative integration to consistently manage heterogeneous IT environments spanning public clouds and on-premises IT environments. Changes made in one automatically propagates across the model.
Most IT teams are still unfamiliar with Operators as a management construct. The core open source framework used for building most Kubernetes Operators was created by CoreOS before it was acquired by Red Hat. Today the number being created for various platforms is increasing rapidly. It’s already not uncommon for there to be multiple Operators available for the same application, as developers leverage the core framework to create their own alternatives to ones created by an IT vendor.
Regardless of who creates the Operator, Shuttleworth says a new pattern is emerging for managing IT more broadly. The challenge now is finding the best way to make all of them available in a way that allows IT teams to employ them in the most consistent way possible.