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
An installer for WindowsDocumentation for Windows ›
Install on macOS via Homebrew
brew install juju
Install anywhere via MultipassDocumentation for Multipass ›
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:
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.
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.
Define once, deploy as many times as you need. Juju allows automated redeployments in the same environment or any other environment.
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.
Save a point in time definition of your deployment and experiment with your applications. Get back to the working version if anything goes wrong.
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:
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.
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.
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.
Empowering production environments
Tom Barber, Spicule
Merlijn Sebrechts, Ghent University
Konstantin Boudnik, EPAM Systems