Canonical leads the cloud deployment market with Juju, a single service orchestration tool that works on public clouds, private clouds and the micro-clouds on Ubuntu developer workstations.
Cloud magic in action
Watch Ubuntu founder Mark Shuttleworth demonstrate the blinding speed with which cloud services can be deployed using Juju.
Increase your agility
Life before Juju
Before the cloud, deploying interconnected services across multiple servers required days, if not weeks. IT departments had to buy the necessary servers, find lab space for them, physically set them up, install the OS and required applications and then configure and connect the various applications on each machine to provide the desired services. Once the entire solution was deployed, the labour overhead remained: upgrading or replacing the service applications, modifying the connections between them, scaling out to account for higher load and/or writing custom scripts for re-deployment elsewhere — the list went on.
In time, deployment tools evolved, first to reduce the time and complexity involved in installing the OS on each machine, then to automate system configuration.
Now, with the arrival of cloud computing, the burdens associated with hardware acquisition and setup are largely a thing of the past. The bottleneck has consequently shifted, from the provisioning stage to the deployment stage. For devops teams, the time taken to develop, test and deploy new iterations of applications is a critical measure of effectiveness. And in the cloud, wasted time is wasted money.
Frictionless ongoing management
The long-term costs of change management in the cloud can be high, unless your tools support organic extension of the service workloads. In other words, if you can’t easily add to or remove, services or capacity, you won’t be effective in the cloud.
Juju provides a uniquely straightforward way to extend existing deployments. Unlike traditional script-based approaches, Juju deployments can grow and shrink on demand, adding layers or substituting components on the fly.
For example, if you want to shift to a different branch of code for one
component in your business application stack, you can do that on the fly with Juju — first in test, then in staging and finally in production. This is the time-saving killer feature of Juju. Deployment can be automated with any number of technologies. Most ops teams have scripts to deploy a particular stack quickly. Those scripts are usually tied to a specific infrastructure — be it cloud or physical — but they nevertheless make initial deployments fast. Juju goes further, in allowing you to modify the deployment in real time, preserving your configuration and adapting to your changes intelligently.
Juju provides a uniquely straightforward way to extend existing deployments
Beyond configuration management
In the cloud, there can be no central, master view of every configuration and deployment. You need the flexibility to deploy and connect services organically, adding layers and reshaping parts without depending on a central understanding of how all the pieces fit together.
Juju was designed to co-exist with tools such as Puppet and Chef, proven management products for defining specific services. Orchestration toolsets like Juju take the process one step further, glueing those services together.
Juju keeps teams productive, allowing deployments to grow as fast as you can make decisions, rather than slowing down as things get more complex.
More scale, more elasticity
Many organisations choose cloud for scale — the ability to scale up (and down) quickly and easily.
The key challenge, of course, is how to achieve the service orchestration that underpins such elasticity. Your cloud can deliver the resources, but you have to be able to configure and manage those services in an elastic fashion.
In the cloud, scale is achieved horizontally. Rather than scaling up, we scale out. Rather than moving to a “faster node” we add more, cheaper, nodes. That’s the Google and Amazon model and it works very well if you have the smarts to coordinate farms of servers.
Juju gives you those smarts in a neat package: each charm knows what it takes to scale the service it provides, so scaling up or down becomes a simple matter of asking the charm to do the work. If you have a tricky workload, you can encapsulate your institutional knowledge once in the charm and share the benefits of that with other teams in the company.
Each charm knows what it takes to scale the service it provides
It is easy to get going with Juju, it takes only five minutes. Check out our step-by-step guide on juju.ubuntu.com.