Juju's controller manages all the machines in your running models, responding to the events that are triggered throughout the system.
It also manages scale out, configuration and placement of all your models and applications.
Application modelling for every cloud
Charms are sets of scripts for deploying and operating software. With event handling built in, they can declare interfaces that fit charms for other services, so relationships can be formed.
Bundles are collections of charms that link services together, so you can deploy whole chunks of app infrastructure in one go.
What they do:
Upgrade and update
Scale out and scale back
Perform health checks
Undertake operational actions
Specify the number of machines you want and how you want them to be deployed, or let Juju do it automatically.
Deploy your services with a few clicks of your mouse or re-deploy your entire app infrastructure to another cloud.
Monitor and manage
The Juju controller will manage:
All VMs in all your running models
Scale out, config and placement
User accounts and identification
Sharing and access
Frequently asked questions
What is Juju?
Juju is an open source application modelling tool that allows you
to deploy, configure, scale and operate cloud infrastructures
quickly and efficiently on public clouds such as AWS, GCE, and
Azure along with private ones such as MAAS, OpenStack, and VSphere.
Its store allows access to a wide range of best practice solutions
which you can deploy with a single command. You can use Juju from
the command line or through its powerful graphical representation
of the model in the GUI.
JAAS is Juju as a Service, managed by Canonical, the makers of
Ubuntu. It introduces a common controller that operates all the
machines in your running models.
JAAS enables you to quickly build, configure, manage and deploy
your applications to the public cloud directly from your browser
or the command line. It also allows you to share your models and
easily collaborate with other users.
Juju as a Service (JAAS) is a hosted service for using Juju to
operate your applications. JAAS is the fastest way to operate your
workloads on supported clouds with the fewest instances required.
You can use JAAS alongside your other self-hosted Juju
infrastructure with the same CLI and GUI.
Juju is a full release. JAAS is currently in public beta.
Charms are collections of scripts that contain all the operations
necessary to deploy, configure, scale, and maintain cloud
applications easily with Juju. Charms encapsulate a single
application and all the code and know-how it takes to operate it,
such us how to combine and work with other related applications or
how to upgrade it.
Application modelling is a simple way of describing what software
should actually do, specified from the top down (services and how
they relate) rather than built from the bottom up, making for a
clean and portable expression of intent rather than a complicated
recipe. Juju delivers the tools to describe your model and then to
turn it into reality in a repeatable fashion on any cloud or
All the operational hard work is automated, connecting your
services so they can work together and provision the
appropriate machines. You can scale up, scale down, or even
re-deploy the same model on another cloud.
Puppet and Chef are great tools for configuration management.
Juju provides a higher level of abstraction, supplying the tools
to manage the full scope of operations beyond deployment and
configuration management, regardless of the machine on which it
One of the main advantages of Juju is its dynamic configuration
ability, which allows you to re-configure services on the fly,
add, remove, or change relationships between services, and scale
in or out with ease, sharing the operational knowledge and making
the most of the wider community.
What kind of applications can I deploy?
Charms are available for hundreds of common and popular
cloud-oriented applications such as Kubernetes, Apache Hadoop,
Big Data solutions, OpenStack, or even your own software, with new
ones being added every day.
Yes! You can integrate your existing Chef, Puppet, Docker or other
scripts with custom charms for your own use, or make use of the
Juju store and the existing ecosystem of charm developers to
package and promote your application to a wider audience. There are
tools and documentation to help you get started.