Canonical’s Open Operator Collection extends Kubernetes operators to traditional Linux and Windows applications
Tags: Charms , Juju , k8s , kubernetes , Management , operations , Operators
13th November 2020: Canonical’s Open Operator Collection, the largest collection of application operators, now supports both cloud-native and traditional applications on Windows and Linux. The collection is hosted at Charmhub.io and follows the Open Operator Manifesto.
Next-generation operations unify CAAS and IAAS
“The operator pattern successfully replaced config management on Kubernetes for cloud-native workloads,” said Sohini Roy, Product Manager at Canonical. “We are excited to generalise the operator pattern to include traditional applications on Linux and Windows, for a consistent model-driven operator framework for application management, across bare metal, virtual and K8s estates.”
An operator is software that implements the lifecycle management of an application. The operator replaces custom hand-crafted institutional ops code with shared, standardised ops code packages for many organisations and many scenarios. An operator eliminates duplication of effort between organisations, who benefit from a shared operations codebase for that app.
Operators encapsulate application domain knowledge so that organisations can run them without learning the low-level details. The operator code provides the full application lifecycle, including configuration and integration, as well as day-2 actions.
“Data security and developer productivity are vital to our customers – across the full application lifecycle,” said Ian Tien, Co-Founder and CEO, Mattermost. “With charmed open source operators, Mattermost installs in minutes with the assurance the implementation utilises best practices – not just for deployment, but also for patching, upgrading and even re-architecting.”
A manifesto for better operators
Charmhub.io is both a public repository of operators for many apps, and a forum for operator community collaboration. Open source operators incorporate insights from the widest variety of users in the widest range of scenarios.
The Charmhub community embraces the Open Operator Manifesto, a set of guiding principles for operator development that ensure security, quality and usability across the collection. The manifesto outlines key values for operator developers and shapes community efforts to improve operators.
Vendor participation in the Open Operator Collection ensures comprehensive support and certification for workloads deployed with open source operators.
Reusable integration code
Integration is the biggest burden for enterprise IT, with significant maintenance costs for large amounts of institution-specific integration code.
Charmhub operators include declarative integration points for reusable automated integration between operators from diverse vendors. Integration code is embedded in each operator to handle dynamic integration during deployment, ensuring best practices for security and availability throughout the process.
“The ETSI Open Source MANO (OSM) project uses Juju to provide automated integration and lifecycle management for telco workloads and Network Function Virtualisation deployments,” said Mark Beierl, Devops MDL at OSM. “Integration with charms is completely automated, dramatically increasing the speed with which new services can be onboarded into a telco environment.”
Composable microservice operators
Charmed operators follow the design principle “do one thing, and do it well”, with composition of operators through integration to address larger and more complex scenarios. The focus on a single microservice means the operator is able to deal with a wide variety of environments – public clouds, private infrastructure, and different architectures or platforms, to drive that microservice perfectly in all of those situations.
For example, this scenario definition includes many components from the Kubeflow and cloud-native ecosystem. Each part is reusable and focused on a single microservice. These operators can be combined in a multitude of ways to deploy exactly the right mix of Kubeflow application components for a particular environment.
Scenario definitions can be shared as text files, for collaboration, iteration or gitops workflows.
Operators from the Open Operator Collection are open source and do not have any dependencies on proprietary infrastructure components.
The project aims to elevate the art of devsecops together with leading ISVs, global system integrators and devsecops professionals, ensuring high-quality code and conversations among community members. This includes source verification, built-in security and validation of the operators to make sure that they meet security and quality standards.
Easier to write high quality operators
While operators are language-neutral and can be developed in any language, Python is the language of choice. Charmhub provides code sharing and collaboration facilities for Python operator developers to reuse libraries and interface definitions across operators. The Python Operator Framework handles low-level lifecycle management and integration details.
Model-driven multi cloud operations
To reduce administrative overhead, operators are deployed in groups called models. Users compose operators in an application graph with declarative integration. Since integration lines can cross cloud boundaries, charmed operators provide a reliable and consistent basis for multi cloud operations.
The model-driven approach ensures a consistent operator experience regardless of vendor, and eliminates duplication in a highly integrated application scenario. Changes made in one operator automatically propagate to others in the same model.
Universal operator lifecycle manager
The Open Operator Collection uses the Juju Operator Lifecycle Manager (OLM) that provides services to operators. Beyond basic provisioning and lifecycle management capabilities the Juju OLM enables model-driven architecture with event delivery, event serialisation, persistent state, leader election, application status monitoring, application messages and integration data exchange capabilities.
The Open Operator Collection is available at Charmhub.io.
Canonical is the publisher of Ubuntu, the OS for most public cloud workloads as well as smart devices like industrial gateways, self-driving cars and advanced robots. Canonical provides enterprise security, support and services to commercial users of open source. Established in 2004, Canonical is a privately held company.
What is Kubernetes?
Kubernetes, or K8s for short, is an open source platform pioneered by Google, which started as a simple container orchestration tool but has grown into a platform for deploying, monitoring and managing apps and services across clouds.