CINXE.COM
Juju | The simplest way to deploy and maintain applications in the cloud
<!DOCTYPE html> <!-- This is a basic HTML file template to become the new homepage of the site. Currently it simply includes Vanilla styles and not much else. When you come to work on it in ernest, please remove this comment and replace index.html with this file. --> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <meta name="description" content="Software operations are easier with Juju - the open source orchestration engine for software operators. Deploy, integrate, scale and manage your applications' lifecycle at any scale, on any infrastructure with Juju and charms." /> <link rel="icon" type="image/png" href="/static/favicon.png?v=c916f6a" /> <link rel="stylesheet" href="/static/css/styles.css?v=3aec53a" /> <title> Juju | The simplest way to deploy and maintain applications in the cloud </title> <meta name="copydoc" content="https://docs.google.com/document/d/147spDkSVH0YaEGKZ4tDi7i28zzhIcacF1hBOMHvxaC0/edit"> <meta name="description" content="Juju is an open source orchestration engine for software operators that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure"> <meta property="og:title" content="The simplest way to deploy and maintain applications in the cloud"/> <meta property="og:site_name" content="Juju"/> <meta property="og:type" content="website"/> <meta property="og:description" content="Juju is an open source orchestration engine for software operators that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure"/> <meta property="og:image" content="https://assets.ubuntu.com/v1/b0441e88-Canonical%20Juju.svg" /> <meta property="og:image:width" content="1660" /> <meta property="og:image:height" content="1000" /> <meta property="og:image:alt" content="Canonical Juju banner" /> <meta property="og:url" content="https://juju.is" /> <meta property="twitter:card" content="summary_large_image" /> <meta property="twitter:site" content="@juju_devops" /> <meta property="twitter:creator" content="@juju_devops" /> <meta property="twitter:image" content="https://assets.ubuntu.com/v1/b0441e88-Canonical%20Juju.svg" /> <meta property="twitter:url" content="https://juju.is" /> <meta name="msvalidate.01" content="F922865A678BADA5E7209E29B2656AA6" /> <script src="https://assets.ubuntu.com/v1/703e23c9-lazysizes+noscript+native-loading.5.1.2.min.js" defer></script> <script src="https://buttons.github.io/buttons.js" defer></script> <!-- Google Tag Manager --> <script>(function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-K9KCMZ');</script> <!-- End Google Tag Manager --> </head> <body class="is-paper"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K9KCMZ" height="0" width="0" style="display: none; visibility: hidden;"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <header id="navigation" class="p-navigation is-dark"> <div class="p-navigation__row--25-75"> <div class="p-navigation__banner"> <div class="p-navigation__tagged-logo"> <a class="p-navigation__link" href="/"> <div class="p-navigation__logo-tag"> <img class="p-navigation__logo-icon" src="https://assets.ubuntu.com/v1/a603c7c9-Favicon - Juju.svg" alt="Canonical Juju" /> </div> <span class="p-navigation__logo-title">Canonical Juju</span> </a> </div> <ul class="p-navigation__items"> <li class="p-navigation__item"> <a href="#navigation" class="p-navigation__toggle--open" title="menu">Menu</a> <a href="#navigation-closed" class="p-navigation__toggle--close" title="close menu">Close menu</a> </li> </ul> </div> <nav class="p-navigation__nav"> <ul class="p-navigation__items"> <li class="p-navigation__item"> <a class="p-navigation__link" href="/why-juju">How Juju Works</a> </li> <li class="p-navigation__item"> <a class="p-navigation__link" href="https://charmhub.io">Charmhub</a> </li> <li class="p-navigation__item"> <a class="p-navigation__link" href="https://jaas.ai">JAAS</a> </li> <li class="p-navigation__item--dropdown-toggle" id="learn-link"> <a class="p-navigation__link" href="#forum-link-menu" aria-controls="forum-link-menu">Community</a> <ul class="p-navigation__dropdown" id="forum-link-menu" aria-hidden="true"> <li> <a href="https://discourse.charmhub.io/" class="p-navigation__dropdown-item">Discourse forum</a> </li> <li> <a href="https://matrix.to/#/#charmhub:ubuntu.com" class="p-navigation__dropdown-item">Matrix chat</a> </li> <li> <a href="/operator-day" class="p-navigation__dropdown-item">Operator Day</a> </li> </ul> </li> <li class="p-navigation__item--dropdown-toggle" id="contribute-link"> <a class="p-navigation__link" href="#docs-link-menu" aria-controls="docs-link-menu">Docs</a> <ul class="p-navigation__dropdown" id="docs-link-menu" aria-hidden="true"> <li> <a href="/docs/juju" class="p-navigation__dropdown-item">Juju</a> </li> <li> <a href="/docs/sdk" class="p-navigation__dropdown-item">Charm SDK</a> </li> </ul> </li> <li class="p-navigation__item"> <a class="p-navigation__link" href="https://ubuntu.com/blog/tag/juju">Blog</a> </li> </ul> <ul class="p-navigation__items global-nav"></ul> </nav> </div> </header> <main id="main-content"> <section class="p-section--hero"> <div class="row--50-50-on-large"> <div class="col"> <div class="p-section--shallow"> <h1>Revolutionise the speed and quality of software operations with Juju</h1> </div> <div class="p-section--shallow"> <p>Juju is an open source orchestration engine for software operators that enables the deployment, integration and lifecycle management of applications at any scale, on any infrastructure using charms.</p> <p>A charm is an operator - business logic encapsulated in reusable software packages that automate every aspect of an application's life.</p> </div> <hr class="is-muted" /> <a href="/why-juju" class="p-button">How Juju works</a> <button data-js="open-modal-control" class="p-button--positive">Contact us</button> </div> <div class="col u-align--center u-hide--medium u-hide--small"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_450,h_366/https://assets.ubuntu.com/v1/8e1d3bf5-juju-hero-juju.is.svg" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_900,h_732/https://assets.ubuntu.com/v1/8e1d3bf5-juju-hero-juju.is.svg 2x" alt="" width="450" height="366" loading="auto" /> </div> </div> </section> <section class="p-section"> <div class="u-fixed-width"> <hr /> </div> <div class="row--50-50"> <div class="col"> <h2>Shift from application to system lifecycle management</h2> </div> <div class="col"> <p> Juju and charms consider the integrations between different applications as a first class primitive. </p> <p> This means your observability stack, database, SSO, and more, evolve with your system - and they work on day 1,000 just as well as they did on day one. </p> <p class="u-no-margin--bottom"> <a href="/docs/juju/tutorial" class="p-button u-no-margin--bottom">Get started with Juju</a> <a href="/docs/sdk" class="p-button u-no-margin--bottom">Create your first charm</a> </p> </div> </div> </section> <section class="p-section"> <div class="u-fixed-width"> <hr /> </div> <div class="row--50-50 u-sv2"> <div class="col"> <h2>Reuse operations code across Kubernetes and VMs</h2> </div> <div class="col"> <p> Use a single codebase to automate the lifecycle management of your system across public clouds, Kubernetes, virtual (VM) and bare metal machines. </p> <p>Learn how to use Juju across supported clouds and environments.</p> </div> </div> <div class="row"> <div class="col-9 col-start-large-4 col-medium-5 col-start-medium-2"> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <h3 class="p-heading--5">On Cloud</h3> </div> <div class="col-6 col-medium-3"> <div class="p-logo-section"> <div class="p-logo-section__items"> <div class="p-logo-section__item"> <a href="/docs/juju/amazon-ec2"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/3477dfe5-aws-logo.png" alt="AWS" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/google-gce"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/dad928bd-google-cloud-logomark.png" alt="Google Cloud" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/oracle-oci"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/77661134-oracle-new-logo.png" alt="Oracle OCI" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/microsoft-azure"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/a8ada77e-microsoft-azure-2021.png" alt="Azure" /> </a> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-9 col-start-large-4 col-medium-5 col-start-medium-2"> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <h3 class="p-heading--5">On K8s</h3> </div> <div class="col-6 col-medium-3"> <div class="p-logo-section"> <div class="p-logo-section__items"> <div class="p-logo-section__item"> <a href="/docs/juju/microk8s"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/7809f7d5-Canonical%20Kubernetes.svg" alt="Canonical Kubernetes" /> </a> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/d5d616f3-kubernetes-logo.svg" alt="Kubernetes" /> </div> <div class="p-logo-section__item"> <a href="/docs/juju/amazon-eks"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/bd4bf3d8-amazon-eks-logo.svg" alt="Amazon EKS" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/google-gke"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/29843a76-google-gke-logo.svg" alt="Google GKE" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/google-gce"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/920a5a48-google-gce-logo.svg" alt="Google GCE" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/microsoft-aks"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/9214fcae-amazon%20kubernetes%20services.svg" alt="Microsoft AKS" /> </a> </div> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-9 col-start-large-4 col-medium-5 col-start-medium-2"> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <h3 class="p-heading--5">On VMs</h3> </div> <div class="col-6 col-medium-3"> <div class="p-logo-section"> <div class="p-logo-section__items"> <div class="p-logo-section__item"> <a href="/docs/juju/lxd"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/60078056-Canonical%20LXD.svg" alt="Canonical LXD" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/openstack"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/2dd7c33b-Canonical%20OpenStack.svg" alt="Canonical OpenStack" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/vmware-vsphere"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/7f211a54-vmware-logo.svg" alt="VMware" /> </a> </div> </div> </div> </div> </div> </div> </div> <div class="row"> <div class="col-9 col-start-large-4 col-medium-5 col-start-medium-2"> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <h3 class="p-heading--5">On Metal</h3> </div> <div class="col-6 col-medium-3"> <div class="p-logo-section"> <div class="p-logo-section__items"> <div class="p-logo-section__item"> <a href="/docs/juju/maas"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/8c052326-Canonical%20MAAS.svg" alt="Canonical MAAS" /> </a> </div> <div class="p-logo-section__item"> <a href="/docs/juju/equinix-metal"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/ee48addc-equinix-logo.svg" alt="Equinix" /> </a> </div> </div> </div> </div> </div> </div> </div> </section> <section class="p-section"> <div class="row"> <div class="lazyload" data-noscript> <noscript> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_3000,h_1220/https://assets.ubuntu.com/v1/01f41e75-Juju-main-illustration.svg" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_6000,h_2440/https://assets.ubuntu.com/v1/01f41e75-Juju-main-illustration.svg 2x" alt="" width="3000" height="1220" loading="lazy" class="u-full-width" /> </noscript> </div> </div> <hr class="is-fixed-width" /> <div class="row"> <div class="col-9 col-medium-3"> <h2>Deploy and integrate with enterprise-grade software operators</h2> </div> <div class="col-3 col-medium-3"> <p> <a href="https://charmhub.io">Charmhub</a> is a curated marketplace for charms which can be readily integrated into any infrastructure, and the centre of the charm community. </p> <p class="u-no-margin--bottom"> <a href="https://charmhub.io/" class="p-button u-no-margin--bottom">Explore all charms</a> </p> </div> </div> </section> <section class="p-section"> <hr class="is-fixed-width is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-side-navigation"> <ul class="p-side-navigation__list"> <li class="p-side-navigation__item"> <a href="#databases" class="p-side-navigation__link is-active" data-js="panel-link">Databases</a> </li> <li class="p-side-navigation__item"> <a href="#big-data-and-ai" class="p-side-navigation__link" data-js="panel-link">Big data and AI</a> </li> <li class="p-side-navigation__item"> <a href="#observability" class="p-side-navigation__link" data-js="panel-link">Observability</a> </li> <li class="p-side-navigation__item"> <a href="#infrastructure" class="p-side-navigation__link" data-js="panel-link">Infrastructure</a> </li> </ul> </div> </div> <div class="col-9 col-medium-4" id="databases"> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/postgresql"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_237,h_288/https://assets.ubuntu.com/v1/3c1ecfd9-postgres-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_474,h_576/https://assets.ubuntu.com/v1/3c1ecfd9-postgres-logo-jujuis.png 2x" alt="" width="237" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Postgres</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p>Open-source relational database management system</p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/postgresql">Postgres on charmhub ›</a> </p> </div> </div> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/mysql"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_420,h_288/https://assets.ubuntu.com/v1/5d559f28-MySQL.juju.is.svg" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_840,h_576/https://assets.ubuntu.com/v1/5d559f28-MySQL.juju.is.svg 2x" alt="" width="420" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">MySQL</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3 col-medium-2"> <p>Open-source relational database management system</p> </div> <div class="col-3 col-medium-2"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/mysql">MySQL on charmhub ›</a> </p> </div> </div> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/mongodb"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_288,h_328/https://assets.ubuntu.com/v1/5a6b9b4b-ubuntu-logo.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_576,h_656/https://assets.ubuntu.com/v1/5a6b9b4b-ubuntu-logo.png 2x" alt="" width="288" height="328" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Charmed MongoDB</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3 col-medium-2"> <p>Source-available document-oriented database</p> </div> <div class="col-3 col-medium-2"> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/mongodb">MongoDB on charmhub ›</a> </p> </div> </div> </div> <div class="col-9 col-medium-4 u-hide" id="big-data-and-ai"> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/kafka"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_154,h_288/https://assets.ubuntu.com/v1/f00ede67-kafka-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_308,h_576/https://assets.ubuntu.com/v1/f00ede67-kafka-logo-jujuis.png 2x" alt="" width="154" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Kafka</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3 col-medium-2"> <p> Open source distributed event store and stream-processing platform </p> </div> <div class="col-3 col-medium-2"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/kafka">Kafka on charmhub ›</a> </p> </div> </div> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/kubeflow"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_252,h_288/https://assets.ubuntu.com/v1/62a19f47-kubeflow-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_504,h_576/https://assets.ubuntu.com/v1/62a19f47-kubeflow-logo-jujuis.png 2x" alt="" width="252" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Kubeflow</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3 col-medium-2"> <p> Open source platform for machine learning and MLOps on Kubernetes </p> </div> <div class="col-3 col-medium-2"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/kubeflow">Kubeflow on charmhub ›</a> </p> </div> </div> <hr class="is-muted" /> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/spark-history-server-k8s"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_247,h_288/https://assets.ubuntu.com/v1/d9906786-apache-spark-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_494,h_576/https://assets.ubuntu.com/v1/d9906786-apache-spark-logo-jujuis.png 2x" alt="" width="247" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Apache Spark</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3 col-medium-2"> <p> Open source unified analytics engine for large-scale data processing </p> </div> <div class="col-3 col-medium-2"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/spark-history-server-k8s">Apache Spark on charmhub ›</a> </p> </div> </div> </div> <div class="col-9 col-medium-4 u-hide" id="observability"> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/prometheus-k8s"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_247,h_288/https://assets.ubuntu.com/v1/74efd28b-prometheus-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_494,h_576/https://assets.ubuntu.com/v1/74efd28b-prometheus-logo-jujuis.png 2x" alt="" width="247" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Prometheus</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p> Open source monitoring system with a dimensional data model and a time series database </p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/prometheus-k8s">Prometheus on charmhub ›</a> </p> </div> </div> <div class="u-fixed-width u-sv1"> <hr class="is-muted" /> </div> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/grafana-k8s"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_231,h_288/https://assets.ubuntu.com/v1/1c10fa01-grafana-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_462,h_576/https://assets.ubuntu.com/v1/1c10fa01-grafana-logo-jujuis.png 2x" alt="" width="231" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Grafana</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p> Open source analytics and interactive visualization web application </p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/grafana-k8s">Grafana on charmhub ›</a> </p> </div> </div> <div class="u-fixed-width u-sv1"> <hr class="is-muted" /> </div> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/loki-k8s"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_211,h_288/https://assets.ubuntu.com/v1/a647636f-loki-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_422,h_576/https://assets.ubuntu.com/v1/a647636f-loki-logo-jujuis.png 2x" alt="" width="211" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Loki</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p> Open source log aggregation system designed to store and query logs from all your applications and infrastructure </p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/loki-k8s">Loki on charmhub ›</a> </p> </div> </div> </div> <div class="col-9 col-medium-4 u-hide" id="infrastructure"> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/vault"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_262,h_288/https://assets.ubuntu.com/v1/8f9d47a0-vault-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_524,h_576/https://assets.ubuntu.com/v1/8f9d47a0-vault-logo-jujuis.png 2x" alt="" width="262" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Vault</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p> Open source identity-based secrets and encryption management system </p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/vault">Vault on charmhub ›</a> </p> </div> </div> <div class="u-fixed-width u-sv1"> <hr class="is-muted" /> </div> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/traefik-k8s"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_216,h_288/https://assets.ubuntu.com/v1/52d0f6ab-traefik-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_432,h_576/https://assets.ubuntu.com/v1/52d0f6ab-traefik-logo-jujuis.png 2x" alt="" width="216" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Traefik</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p> Open-source reverse proxy and load balancer for HTTP and TCP-based applications </p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">K8s</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/traefik-k8s">Traefik on charmhub ›</a> </p> </div> </div> <div class="u-fixed-width u-sv1"> <hr class="is-muted" /> </div> <div class="row"> <div class="col-3 col-medium-2"> <div class="p-heading-icon u-no-margin"> <div class="p-heading-icon__header"> <a href="https://charmhub.io/landscape-scalable"> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_154,h_288/https://assets.ubuntu.com/v1/6320c190-landscape-logo-jujuis.png" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_308,h_576/https://assets.ubuntu.com/v1/6320c190-landscape-logo-jujuis.png 2x" alt="" width="154" height="288" loading="auto" class="p-heading-icon__img operator-logo" /> </a> <h3 class="p-heading-icon__title">Landscape</h3> </div> </div> </div> <div class="col-6 col-medium-2"> <div class="row"> <div class="col-3"> <p>Ubuntu systems management tool developed by Canonical</p> </div> <div class="col-3"> <div class="p-chip"> <span class="p-chip__value">Machine</span> </div> </div> </div> <hr class="is-muted" /> <p> <a href="https://charmhub.io/landscape-scalable">Landscape on charmhub ›</a> </p> </div> </div> </div> <div class="row"> <div class="col-9 col-start-large-4"> <div class="u-fixed-width"> <hr class="is-muted" /> </div> </div> <div class="col-6 col-start-large-7"> <p>Learn more about charms on <a href="https://discourse.charmhub.io">Discourse</a> and <a href="https://matrix.to/#/#charmhub:ubuntu.com">Matrix</a> </p> </div> </div> </div> </section> <section class="p-section"> <div class="u-fixed-width"> <hr class="is-muted" /> </div> <div class="row--50-50"> <div class="col"> <h2>Watch: Learn about Juju in 10 minutes</h2> <p> Watch this video to learn the core concept of Juju and charms, how you can use them to automate operations across different clouds/VM/k8s and the benefits of integrations. </p> </div> <div class="col"> <div class="u-embedded-media"> <iframe class="responsive-video" src="https://www.youtube.com/embed/HhRBNs9ckIk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe> </div> </div> </div> </section> <section class="p-section"> <hr class="is-fixed-width"> <div class="row--50-50"> <div class="col"> <h2>Add visibility and compliance controls with JAAS</h2> <p>JAAS (Juju as a service) is your centralised enterprise control plane for Juju deployments.</p> <ul class="p-list--divided"> <li class="p-list__item is-ticked">Manage hundreds of Juju controllers.</li> <li class="p-list__item is-ticked">Add fine grained access controls.</li> <li class="p-list__item is-ticked">Enable enhanced audit functionalities.</li> <li class="p-list__item is-ticked">Protect deployments by having a smaller attack area.</li> </ul> <p class="u-no-margin--bottom"> <a href="https://jaas.ai" class="p-button--positive u-no-margin--bottom">Discover JAAS</a> </p> </div> <div class="col"> <div class="u-embedded-media"> <div class="lazyload" data-noscript> <noscript> <img src="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_1200,h_779/https://assets.ubuntu.com/v1/ed078d85-juju-dashboard.gif" srcset="https://res.cloudinary.com/canonical/image/fetch/f_auto,q_auto,fl_sanitize,w_2400,h_1558/https://assets.ubuntu.com/v1/ed078d85-juju-dashboard.gif 2x" alt="" width="1200" height="779" loading="lazy" /> </noscript> </div> </div> </div> </div> </section> <section class="p-section"> <hr class="is-fixed-width"> <div class="u-fixed-width"> <h2>Trusted by 10,000+ engineers at</h2> </div> <div class="u-fixed-width"> <div class="p-logo-section has-misaligned-images"> <div class="p-logo-section__items"> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/a6f05598-ubuntu-logo.png" alt="Ubuntu logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/4589dd76-logo-deutsche-telekom.svg" alt="Deutsche Telekom logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/d1c6f829-logo-ibm.svg" alt="IBM logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/ecf0af7c-logo-Intel.svg" alt="Intel logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/f01ae6bc-logo-azure.svg" alt="Microsoft Azure logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/2ec61a24-logo-deutsche-telekom.svg" alt="Cisco logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/e651641d-logo-china+telecom.svg" alt="China Telecom logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/3a707af3-nec-logo.png" alt="nec logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/3a082df1-logo-hp.svg" alt="Hewlett Packard logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/3bfe80c9-logo-yahoo-jp.svg" alt="Yahoo! Japan logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/2de518fb-logo-verizon.svg" alt="verizon logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/2a962e80-logo-Bell.svg" alt="Bell logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/efcbfd05-swissquote-logo.png" alt="Swissquote logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/01b828d0-logo-panasonic.svg" alt="Panasonic logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/066908c1-logo-scania.svg" alt="Scania logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/c2220484-logo-BT.svg" alt="BT logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/a2e4ca92-logo-rabobank.svg" alt="Rabobank logo"> </div> <div class="p-logo-section__item"> <img class="p-logo-section__logo" src="https://assets.ubuntu.com/v1/bafeea04-logo-tele2.svg" alt="tele2 logo"> </div> </div> </div> </div> </section> <section class="p-section--deep p-suru--bottom-right"> <hr class="is-fixed-width"> <div class="row--50-50"> <div class="col"> <h2>Community and support</h2> </div> <div class="col"> <div class="row"> <div class="col-2 col-medium-2"> <h3 class="p-heading--5">Connect with the community</h3> </div> <div class="col-4 col-medium-2"> <p> <a href="https://matrix.to/#/#charmhub:ubuntu.com">Matrix chat</a> </p> <hr class="is-muted"> <p> <a href="https://discourse.charmhub.io/">Discourse forum</a> </p> </div> </div> <div class="u-fixed-width"> <hr class="is-muted"> </div> <div class="row"> <div class="col-2 col-medium-2"> <h3 class="p-heading--5">Contact us</h3> </div> <div class="col-4 col-medium-2"> <p> <button class="p-button--link" data-js="open-modal-control">Talk to a Canonical expert</button> </p> </div> </div> <div class="u-fixed-width"> <hr class="is-muted"> </div> <div class="row"> <div class="col-2 col-medium-2"> <h3 class="p-heading--5">Read more</h3> </div> <div class="col-4 col-medium-2"> <p> <a href="/why-juju">How juju works</a> </p> <hr class="is-muted"> <p> <a href="/docs/olm">Juju documentation</a> </p> <hr class="is-muted"> <p> <a href="/docs/sdk">Charm SDK documentation</a> </p> <hr class="is-muted"> <p> <a href="https://ubuntu.com/engage/kubernetes-operators-explained">What is a software operator?</a> </p> <hr class="is-muted"> <p> <a href="https://ubuntu.com/engage/kubernetes-operators-explained-whitepaper">Software operators explained</a> </p> </div> </div> </div> </div> </section> </main> <div class="p-modal u-hide" id="modal"> <section class="p-modal__dialog" role="dialog" aria-modal="true" aria-labelledby="modal-title"> <header class="p-modal__header"> <h2 class="p-modal__title">Get in touch</h2> <button class="p-modal__close" aria-label="Close active modal" aria-controls="modal" data-js="close-modal-control">Close</button> </header> <form action="https://ubuntu.com/marketo/submit" method="post" id="mktoForm_5332" style="max-width: 560px;"> <label for="firstName">First name</label> <input type="text" name="firstName" id="firstName" required> <label for="lastName">Last name</label> <input type="text" name="lastName" id="lastName" required> <label for="title">Job title</label> <input type="text" name="title" id="title" required> <label for="Email">Email address:</label> <input type="email" name="email" id="email" required> <label for="phone">Phone</label> <input type="text" name="phone" id="phone" required> <label for="Comments_from_lead__c">Comments</label> <textarea name="Comments_from_lead__c" id="Comments_from_lead__c"></textarea> <label class="p-checkbox"> <input type="checkbox" class="p-checkbox__input u-no-margin--top" name="canonicalUpdatesOptIn" aria-labelledby="CanonicalUpdatesOptIn" value="yes"> <span class="p-checkbox__label" id="CanonicalUpdatesOptIn"> <small>I agree to receive information about Canonical's products and services.</small> </span> </label> <p> <small>In submitting this form, I confirm that I have read and agree to <a href="https://ubuntu.com/legal/data-privacy/newsletter">Canonical's Privacy Notice</a> and <a href="https://ubuntu.com/legal/data-privacy">Privacy Policy</a>.</small> </p> <button type="submit" class="p-button--positive u-no-margin--bottom" aria-label="Submit">Get in touch</button> <input type="hidden" name="formid" class="mktoField" value="5332"> <input type="hidden" name="returnURL" value="https://juju.is/thank-you" /> <input type="hidden" name="Consent_to_Processing__c" value="yes"> <input type="hidden" name="utm_campaign" id="utm_campaign" value=""> <input type="hidden" name="utm_source" id="utm_source" value=""> <input type="hidden" name="utm_medium" id="utm_medium" value=""> <input type="hidden" name="utmcontent" id="utmcontent" value=""> <input type="hidden" name="utm_term" id="utm_term" value=""> <input type="hidden" name="GCLID__c" id="GCLID__c" value=""> <input type="hidden" name="Facebook_Click_ID__c" id="Facebook_Click_ID__c" value=""> <input type="hidden" name="grecaptcharesponse" id="grecaptcharesponse" value=""> <input type="hidden" name="productContext" id="productContext" value=""> </form> </section> </div> <script> const panelLinks = document.querySelectorAll("[data-js='panel-link']"); panelLinks.forEach((panelLink) => { panelLink.addEventListener("click", (e) => { e.preventDefault(); const activePanelLink = document.querySelector("[data-js='panel-link'].is-active"); const activePanel = document.querySelector(activePanelLink.getAttribute("href")); if (activePanelLink === panelLink) { return; } const targetPanel = document.querySelector(panelLink.getAttribute("href")); activePanelLink.classList.remove("is-active"); activePanel.classList.add("u-hide"); panelLink.classList.add("is-active"); targetPanel.classList.remove("u-hide"); }); }); // Contact us modal const modal = document.querySelector("#modal"); const openModalControls = document.querySelectorAll("[data-js='open-modal-control']"); const closeModalControl = document.querySelector("[data-js='close-modal-control']"); modal.addEventListener("click", (e) => { if (e.target === modal) { modal.classList.add("u-hide"); } }); openModalControls.forEach(el => el.addEventListener("click", (e) => { e.preventDefault(); modal.classList.remove("u-hide"); })); closeModalControl.addEventListener("click", (e) => { e.preventDefault(); modal.classList.add("u-hide"); }); </script> <footer class="p-strip--dark footer"> <div class="p-section"> <div class="row u-vertically-center"> <div class="col-7"> <h2>Join the community</h2> </div> <div class="col-5"> <ul class="p-inline-list u-no-margin--bottom"> <li class="p-inline-list__item"> <a href="https://github.com/juju" class="p-icon--github p-icon--github-white"></a> </li> <li class="p-inline-list__item"> <a href="https://twitter.com/ubuntu" class="p-icon--twitter"></a> </li> <li class="p-inline-list__item"> <a href="https://www.youtube.com/@UbuntuOS" class="p-icon--youtube"></a> </li> </ul> </div> </div> </div> <div class="p-section"> <div class="u-fixed-width"><hr class="p-rule is-dark"></div> <div class="row"> <div class="col-3"> <h2 class="p-heading--5">Juju</h2> <ul class="p-list"> <li class="p-list__item"> <a href="/#what-is-juju">What is Juju?</a> </li> <li class="p-list__item"> <a href="https://charmhub.io">What is Charmhub?</a> </li> <li class="p-list__item"> <a href="/docs/juju/reference">What are Charms?</a> </li> <li class="p-list__item"> <a href="/docs/sdk">What is the Charm SDK?</a> </li> </ul> </div> <div class="col-3"> <h2 class="p-heading--5">Charms</h2> <ul class="p-list"> <li class="p-list__item"> <a href="https://charmhub.io/?base=all&filter=databases,big-data">Data</a> </li> <li class="p-list__item"> <a href="https://ubuntu.com/kubernetes">Charmed Kubernetes</a> </li> <li class="p-list__item"> <a href="https://ubuntu.com/openstack">Charmed OpenStack</a> </li> <li class="p-list__item"> <a class="p-heading--5" href="https://charmhub.io/">All operators ›</a> </li> </ul> </div> <div class="col-3"> <h2 class="p-heading--5">Compare</h2> <ul class="p-list"> <li class="p-list__item"> <a href="/blog/operators-and-charmed-operators">Operators & Charms</a> </li> <li class="p-list__item"> <a href="/blog/beyond-helm-and-kustomize-the-future-of-kubernetes-apps">Helm alternative</a> </li> <li class="p-list__item"> <a href="/blog/beyond-helm-and-kustomize-the-future-of-kubernetes-apps">Kustomize alternative</a> </li> <li class="p-list__item"> <a href="/blog/ansible-vs-terraform-vs-juju-fight-or-cooperation">Ansible alternative</a> </li> <li class="p-list__item"> <a href="/blog/juju-vs-infrastructure-as-code-tools">Terraform alternative</a> </li> </ul> </div> <div class="col-3"> <h2 class="p-heading--5">Blog</h2> <ul class="p-list"> <li class="p-list__item"> <a href="/blog/ubuntu-and-canonical-at-kubecon-europe-2021">Best Practices for creating charms</a> </li> <li class="p-list__item"> <a href="/model-driven-operations-manifesto">Model Driven Operations Manifesto</a> </li> <li class="p-list__item"> <a href="/blog/beyond-helm-and-kustomize-the-future-of-kubernetes-apps">Why Helm and Kustomize aren鈥檛 enough: the future of Kubernetes apps</a> </li> <li class="p-list__item"> <a class="p-heading--5" href="/blog">Read all of our blogs ›</a> </li> </ul> </div> </div> </div> <div class="p-section"> <div class="u-fixed-width"><hr class="p-rule is-dark"></div> <div class="row"> <div class="col-3"> <p>© 2024 , Canonical Ltd.</p> </div> <div class="col-3"> <p> <a class="js-revoke-cookie-manager" href="">Manage your tracker settings</a> <br> <a href="https://www.ubuntu.com/legal">Legal Information</a> </p> </div> <div class="col-6"> <p> Ubuntu and Canonical are registered trademarks.<br> All other trademarks are the property of their respective owners. </p> </div> </div> </div> </footer> <div class="u-hide" id="contact-form-container" data-form-location="/get-in-touch" data-form-id="1337" data-lp-id="2313" data-return-url="http://juju.is/thank-you" data-lp-url=""></div> <script src="/static/js/dynamic-contact-form.js?v=9f388c0"></script> <script src="/static/js/navigation.js?v=daf4a4b"></script> <script src="/static/js/build/cookie-policy/cookie-policy.js?v=a393259"></script> <script> cpNs.cookiePolicy(); </script> <script src="/static/js/build/global-nav/global-nav.js"></script> <script> canonicalGlobalNav.createNav({ breakpoint: 900 }); initNavDropdowns(".p-navigation__item--dropdown-toggle"); </script> <script type="application/ld+json"> { "@context": "http://schema.org/", "@id": "https://juju.is/#organization", "@type": "Organization", "name": "Juju", "logo": "https://assets.ubuntu.com/v1/eeb4c506-Canonical-Juju-logo-2022.svg", "url": "https://juju.is", "sameAs": [ "https://github.com/canonical/operator/", "https://en.wikipedia.org/wiki/Juju_(software)", "https://twitter.com/juju_devops", "https://www.youtube.com/@jujucharms" ] } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@id": "https://juju.is/#website", "@type": "WebPage", "name": "Juju", "url": "https://juju.is" } </script> </body> </html>