Chef and Puppet are great Development/Operations (DevOps) cloud programs. But say you want something even easier, at an even higher level, to set up and manage your cloud. Is there such a program? Well, yes, yes there is: Canonical, best known for Ubuntu Linux, is trying to make the cloud even easier with its cloud orchestration program Juju.
Like other DevOps programs the name of Juju's game is to get rid of the busy work of setting up and managing standard servers and their relationships on the cloud. This is why Jorge Castro, a Canonical developer relations executive, says that Juju's main idea is to get rid of “metawork.”
Castro explains that metawork is “all the work you have to go through, such as setting the program up, before you can start using the program.” What Juju does is give developers and system administrators the tools at a service level, instead of the machine level.
Juju is not a replacement for Puppet, Chef, or Salt. These are meant to automate server configuration. The name of their game is setting up virtual cloud servers so that each instance is an identical software configuration and is running the correct services. Juju works at a higher level. It's meant to manage services, not machines.
Juju does this with charms. “These are shareable, re-usable, and repeatable expressions of DevOps best practices,” says Castro. “You can use them unmodified, or easily change and connect them to fit your needs. Deploying a charm is similar to installing a package on Ubuntu. Ask for it and it’s there; remove it and it’s gone." In short, Castro added, "Charms are like Lego blocks."
With Juju you don't just hook up WordPress to MySQL, you can use Juju charms to connect your cache, your back-ups and other ancillary services to your cloud server configuration. Each charm contains the settings for each service and how each should be configured.
While Juju is written in Python, its charms can be written in any language. You can write them in Python, Bash, Puppet and Chef scripts, whatever works. Once written and tested, you can then use them to bring up services and connect them together without worrying over the details ever again. One advantage of this approach, according to Casto is that you don't need to be, for example, a Hadoop expert. Someone who knows Hadoop or some other big data program like the back of his or her hand can write the charm. All you need to do is to deploy it.
How easy can this get? Using the more than 100 pre-made Juju charms and the Juju GUI you can literally draw up your cloud services on a virtual whiteboard. With it, you can sketch out cloud/server applications such as CloudFoundry, Drupal, MySQL, Tomcat, and WordPress. These applications, in turn, all run on Ubuntu Linux instances on HP Cloud, Rackspace, Windows Azure, OpenStack and Metal as a Service (MAAS).
Sound interesting? Juju is open source and you can download and try it for yourself for free. You don't even need a cloud of your own to try it.