Universal Operator Lifecycle Manager
Better operators for enterprise apps with a full application graph and declarative integration for both Kubernetes and legacy estate.
In production at
Clean, composable operators
Juju operator integration allows us to keep each operator as simple as possible, then compose them to create rich application graph topologies that support complex scenarios with a simple, consistent experience and much less YAML. The UNIX philosophy of ‘doing one thing well’ applies to large-scale operations code too, and the benefits of clarity and reuse are exactly the same. Small is beautiful.
K8s and legacy estate operators
Universal operators for K8s as well as traditional Linux and Windows apps on bare metal, VMWare and IAAS
Juju allows you to adopt the operator pattern for your entire estate, including legacy apps. Model-driven operations dramatically reduce maintenance and operations costs for traditional workloads without re-platforming to K8s. Once charmed, legacy apps become multi-cloud ready, too. The Juju Operator Lifecycle Manager (OLM) uniquely supports both container and machine-based apps, with seamless integration between them.
Reusable integration code
An application graph drives pre-packaged integration code in the operator
Custom integration code is the biggest waste of time in enterprise operations. Our mission is to share integration code along with ops code, so we don’t just drive the app lifecycle with operators, we use the Juju OLM’s declarative operator integration to share and reuse open source integration code for better security and cost.
Multi-cloud operators
Portable operations code tested on every major public cloud, and on premise too
The encapsulation of ops code in charms allows us to deploy any scenario on any cloud, and integrate easily across cloud boundaries. Because the Juju OLM handles provisioning we achieve full multi-cloud independence with cloud-agnostic operators - not only for Kubernetes container workloads but also for legacy physical, virtual and cloud applications. Build models on any cloud, and unify your application management on public cloud, private cloud and container estate with JAAS, the multi-cloud enterprise dashboard for Juju.
The Open Operator Collection
Community-driven operator catalogue
Charmhub is the largest portfolio of operators for Kubernetes as well as traditional Linux applications or Windows applications that work consistently and integrate seamlessly. Open source principles and the Open Operator Manifesto guide the community. Find operators to drive apps on any cloud, or any bare metal, or any Kubernetes, on any architecture, with long term support and maintenance.
Highly available Enterprise OLM
Production-grade operator lifecycle management
Juju is built to run mission-critical infrastructure and applications, across cloud-native and traditional estate. The OLM controller itself features autonomous, self-healing high availability, and provides resilient leader-election as a service that enables vendors and communities to create HA operators easily. Creating operators that support high availability is straightforward in the Python Operator Framework.
OLM-as-a-service
Multi-cloud hosted Operator Lifecycle Manager
You can run your own Juju OLM anywhere, with or without Kubernetes. But instead of maintaining many OLM controllers across all the regions of all the clouds, you can use JAAS to offer a single enterprise-wide service for operator management and governance. For public cloud estate, JAAS.ai is a fully managed, multi-cloud, multi-tenant, infinitely scalable lifecycle manager.
Consistent operator experience
Many operators, one CLI for lifecycle, config, integration and ops
Unify the operator experience for diverse workloads from multiple vendors and communities. One consistent CLI for operator installation, updates, configuration, integration, scaling, and everyday ops like backup and restore. This consistent experience for all application management makes documentation and training much simpler and streamlines the process of onboarding new software into the enterprise.
SAAS integration
Third-party SAAS is just another operator in the model
Drive SAAS with operators too, for cloud deployments that combine software and SAAS seamlessly. For example, substitute the Amazon RDS PostgreSQL operator anywhere you normally use the PostgreSQL operator. It is even straightforward to connect SAAS from one cloud to SAAS from another cloud.
Offer home-grown SAAS internally
Integrate managed apps between teams
Juju model-driven operations make it easy to delegate application operations to independent teams for home-grown SAAS. Each team that runs applications with Juju can offer them to other teams, to integrate across models in the enterprise. Each model has its own administrators, and cross-model integration just requires permission from both sets of admins. Your DBA team can run databases on cloud or on prem which other teams consume as SAAS. This even works across different clouds!
Devsecops by design
Encapsulate security best practices with every service or application
Operators provide repeatable security best practice for hardened application installation, update, configuration, and integration. We track security issues in operators with CVEs and distribute patches automatically, so you can manage compliance professionally. And of course, open source operators evolve to meet multiple industry security and compliance standards.
Pure Python operators
Cleaner infra-as-code with the Python Operator Framework
You can write operators in any language with the Juju OLM, but most people prefer Python. Every instance of every app in every deployment becomes an object, with methods for integration and operations. Clean, accessible code with a fully asynchronous API. Just perfect, just Python. Charmcraft lets you share libraries between charms easily for smoother operator integration.
Windows operators
Create operators for Windows apps for cross-platform integration
Full support for Windows applications enables consistent use of the operator pattern across the entire business IT estate. Windows operators integrate perfectly with remote applications on Kubernetes and public clouds thanks to Juju cross-model relations.
App-centric operations
Manage apps and services, not configuration files
It’s not about configuration management, it’s about application management. Operators encapsulate applications to handle the details, especially in containers where config management doesn’t work. This allows organisations to onboard new applications faster, because they don’t need to train admins on the details of configuration for every new application.
Model-driven operations
Operators respond to real time desired state model
Integrated applications on the same substrate share a single model, so that changes can be made in one place and propagate to all affected applications. Each model is a separate RBAC domain for segregated management and administration controls. Multiple models can be composed and integrated into a single multi-cloud scenario.
Enterprise multi-cloud operator dashboard
A single global view of operators and models across all clouds and clusters
On-premise JAAS connects all your lifecycle managers across all public clouds, VMware, bare metal and OpenStack into a single enterprise OLM service with RBAC. Manage operators across your hybrid estate.
Event-driven operator framework
Build operators for workloads on both K8s and traditional machines
Event-driven operator code simplifies the distributed systems logic to react to changes in your environment. Use the same operator libraries and event model for both cloud-native and legacy workloads.
Scale-aware ops code
Deploy the same scenario at small or large scale
Unify development, test and production with operators that work at any scale. Enjoy perfect reuse of operations code, from Raspberry Pi’s to tiny Kubernetes clusters at the edge, giant public clouds and mainframes.
Shared infrastructure-as-code
Community maintenance for operations code
Share the maintenance of operations code across all the users of the operator. Many eyes make for much better operations code! In fact, all of the practices of enterprise software now become available for ops code too. Rigorous tests, continuous integration, a standard framework and reusable libraries turn ops spaghetti into solid ops gold.
Object oriented operations API
Every app or service is an object, with methods for daily operations
Imagine your infrastructure and applications as an object model. Update configuration, upgrade applications, trigger operations, scale up or down and react to service status changes in real-time. Seamlessly, across every cloud and on-premise too.
Scale out, scale back
Elastic excellence with a scale-aware model and fine-grained operators
Horizontal scale is central to software resilience and capacity management. The Juju OLM enables fine-grained operator control of individual application units, greatly simplifying the development of operators for high availability and scale-out software.
Consistent configuration
Unify operator configuration with YAML schemas
Simplify global operations and change management. The Juju OLM provides standardized, schema-driven YAML configuration for each operator, with consistent semantics for config updates, reads, and rollouts.
Day 1, day 2 and beyond
Long term operations included for every service
Reduce long-term operations costs with admin task code, shared in every operator. Actions like backup, restore, reset and restart become API calls on the operator and never require access to systems or containers.
Cross-cloud integration
Deploy two services to different clouds, and integrate them instantly
Connect services in multiple diverse clouds. Integrate cloud services with on-prem applications.
Scenario sharing and reuse
Juju bundles are shareable YAML deployment definitions
Export a running scenario, capturing application scale, configuration, and integration topology for reuse across teams or industries. Declarative deployments are the perfect primitive for devops pipelines at scale.
Persistent operator state
Simplify operator design and code for dynamic environments
Writing an operator is greatly simplified with Juju’s persistent operator state service, which enables operators to run in stateless environments for maximum Kubernetes efficiency.
Multi-arch operators
ARM, x86, POWER, Z are all supported
Integrate heterogeneous environments transparently — connect services on the mainframe to applications on the cloud and in the data centre.
Why choose the Juju OLM?
The Juju OLM makes the K8s operator pattern universal, for traditional applications too. Full lifecycle management. Automated integration. Upstream ops code update distribution. Day-1 to Day-N operations included. Open source and no security subscription required.