- UCAR Home
- About Us
- For Staff
Jim Baker of Canonical will present a seminar for the UCAR Software Engineering Assembly titled"Service Orchestration for Cloud Environments with Juju"
When: Thursday, August 30, 2012 at 3:00 PMWhere: Mesa Lab Main Seminar Room
Abstract:Juju is a new and opensource part of Ubuntu Server that simplifies the deployment of user-defined service stacks over their entire lifecycle to both cloud and "bare metal" providers. Services are defined by charms; there are currently over 90 open source charms in the charm store and more are under development. So we have Cassandra, Ceph, CloudFoundy, CouchBase, CouchDB, and those are just the notable charms starting with "C", see http://jujucharms.com/charms/precise for more. Charms distill DevOps expertise on how to best manage distributed services across a wide range of actual user environments, whether in terms of performance, cost, or some other set of factors. Lastly, services are related together to form stacks.
To accomplish this, Juju implements a service orchestration model. Juju manages both the changing relationship between services - whether this is a scalable LAMP stack like MediaWiki or a Hadoop cluster - and the scaling up or down of a given service to one or more machines over the lifetime of the deployed environment.
At its core, Juju uses Apache ZooKeeper. The desired service stack is configured in ZK, and Juju then uses its agents to make it so. By executing idempotent hooks in a charm with the right sequencing, as supported by ZK's distributed coordination semantics, the service orchestration is able to gracefully cope with the eventual consistency and outright failures seen in a distributed environment. But this is done without requiring deep expertise in distributed computing by charm authors. With Juju, simple scripts for hooks can be correct scripts, even in the context of scaling and failure.
This talk will introduce Juju, describe its architecture, and show you how to write charms and build your own service stacks. We will also look at how you can start development on your own laptop (cloud in a box) and readily move (export/import) your stacks around, whether on Amazon EC2, HP Cloud, or other providers.