OpenStack project teams.
Juju
Juju has been described as APT for the cloud. As you learned in Chapter 9,
“Managing Software,” APT does an amazing job of installing, configuring,
and starting complicated software stacks and services—but only as long as all
of that happens on only one system. Juju extends this ability across multiple
machines. Often, Linux servers are set up for similar tasks. Multiple physical
machines may be deployed with similar configurations to work with one
another in a network, perhaps for load distribution or redundancy to prevent
downtime in the event of one failing or being overloaded. Systems
administrators are masters at creating and orchestrating these networks.
However, doing so traditionally requires setting up each machine individually,
configuring its software settings, and so on.
Tools have appeared over the years to help with this great task, such as Chef
and Puppet; see Chapter 33, “Managing Sets of Servers,” for a little more
about these tools. Juju does for servers what package managers do for
individual systems: It enables you to deploy services quickly and easily across
multiple servers, simplifying the configuration process, and is particularly
designed with cloud servers in mind. As with Chef’s recipes, those services
are deployed using formulas that standardize communication, for example,
and may have been written by different people.
What makes Juju different from Chef and Puppet is that the Juju formulas,
called charms, encapsulate services, defining all the ways that services need
to expose or consume configuration data to or from other services. This can
be done many ways in the Juju charm, including via shell scripts or using
Chef itself in solo mode. Also, Juju orchestrates provisioning by tracking its
available resources (such as EC2, Eucalyptus, or OpenStack machines) and
adding or removing them as appropriate.
Juju is pretty cool, but it hasn’t seen much serious adoption outside
Canonical, especially now that the OpenStack tools are growing in number
and scope. However, it does have some unique features and is definitely
worth your consideration. Check out https://jujucharms.com for more
information.
Mojo: Continuous Delivery for Juju
Mojo, made by Canonical, helps you with configuration and tools to verify