We've released Juju 2.8! For more information, please see our post on Discourse.

DevOps automation

Designed for DevOps, Juju provides full automation of software deployments and operations, significantly simplifying the entire process. Benefit from reusable blocks and customise them if needed. Deploy your software, scale it out, upgrade and integrate with LMA by running a single command. Juju abstracts operational tasks in a form of primitives and provides service orchestration capabilities.

Get started with Juju

Multi-cloud SaaS

Deploy your software on-demand in a multi-cloud environment. Your intent will be carried out at any scale on private and public clouds, from OpenStack and Kubernetes to AWS. Just define how your deployment should look like and Juju will make it for you. Focus on shaping your applications and maximising their business value rather than struggling with complex procedures. Benefit from the 'model and deploy' approach.

Get started with Juju

Autonomous software

Imagine software that runs on its own and controls other software components. Although the end-user is still responsible for defining how the deployment should look like, the autonomous software is able to heal applications, restart services and re-deploy failed units - whatever is required to achieve the desired ultimate state defined by the end-user. This software is already here. It is called Juju!

Get started with Juju

Alternative to OpenShift

By enabling the possibility to model containerised applications on top of Kubernetes, Juju is an open-source and free alternative to Red Hat OpenShift. The project has hundreds of individuals providing code commits, documentation updates and support. Backed by Canonical, the maintainer and publisher of Ubuntu, Juju empowers the infrastructure behind startups, research institutes, enterprises, telcos and governments.

Get started with Juju

Why Juju?

Built to manage complex software architectures and microservices wherever they run, Juju simplifies deployment and post-installation operations by enabling an infrastructure as code approach and providing lifecycle management capabilities from Day-1 to Day-N. Use Juju to manage applications on your workstation, on bare-metal or in a multi-cloud environment.

Choose your platform and get started

Install on Linux via a Snap

sudo snap install juju
Documentation for Linux ›

Install on macOS via Homebrew

brew install juju
Documentation for macOS ›

Infrastructure as code with Juju

By providing a declarative approach to application deployment and operations, Juju enables an infrastructure as code (IaC) approach allowing full automation and DevOps agility:

  • Automation

    Just define what your deployment should look like and let Juju deploy applications for you. No manual steps are required. All operations are performed automatically by Juju.

  • Orchestration

    Forget complex procedures, recipes and scripts. Juju possesses the entire logic required to install, configure, connect and maintain applications. All operations are fully automated too.

  • Redeployments

    Define once, deploy as many times as you need. Juju allows automated redeployments in the same environment or any other environment.

  • Reusability

    Use the same deployment definition across various environments. Juju supports most of the public clouds and various on-prem platforms: MAAS, vSphere, OpenStack and Kubernetes.

  • Versioning

    Save a point in time definition of your deployment and experiment with your applications. Get back to the working version if anything goes wrong.

  • CI/CD

    Integrate Juju with your CI/CD pipeline and make changes to your deployments by commits or pull requests. Build a fully functional CI/CD platform with Juju.

Lifecycle management from Day-1 to Day-N

Juju does not only handle the initial deployment, but also assists in daily operations. This provides lifecycle management capabilities from Day-1 to Day-N which significantly reduces operational costs:

Maintenance

Scale out a cluster, perform a database backup, upgrade software, change configuration or restart a service by executing a single command. Juju exposes operational tasks in a form of primitives, abstracting the complexity behind them.

Integration

Deploy new software components and integrate them with the existing ones without any additional overhead. Juju possesses the entire logic required to integrate various applications.

The simplicity comes from charms

The power of Juju comes from charms - software components that contain the entire logic required to install, configure, connect and maintain applications. Charms are usually written by experts in the field, but as the whole framework is open-source, users can create their own charms too. A selection of production-grade charms that are maintained by the community is available in the Charm Store.

The app store for Juju

Charm Store is a place with hundreds of popular charmed applications including Kubernetes, OpenStack, Apache Hadoop, Big Data solutions, LMA and more. Use Charm Store to quickly access them and deploy with Juju.

Browse charms in the Charm Store

JAAS - Juju As A Service

Hosted by Canonical, JAAS provides managed Juju infrastructure to maintain your applications. It is the fastest way to get started with Juju on supported public clouds with the fewest instances required.

Model, configure, deploy and maintain your applications to public clouds directly from your browser or the command line.

Try JAAS

Empowering production environments

Using the modelling ethos brought by Juju allows me to quickly run big data applications in a multitude of places. Be it locally on my laptop, on bare metal or in the Cloud, Juju lets me reuse the same models and code without changing any aspects of my deployment.

Tom Barber, Spicule

Juju enables you to encapsulate each different part of your infrastructure and lets everything talk to each other. So if you have a web server that's managed by Chef and a database that's deployed by a Docker container, you can have the web server talk to the database and the relations between these two very easily.

Merlijn Sebrechts, Ghent University

Juju acts as a thin layer on top of your infrastructure that allows all your operational code to talk to each other. And because of this communication layer, a lot of the problems that conventional configuration management systems have just don't exist anymore.

Konstantin Boudnik, EPAM Systems

Learn more