Yesterday, the folks at Ubuntu announced that they are renaming Ensemble project as Juju. Since the names Ensemble, Formula and Principia didn’t connect well in their original incarnation, they have decided to move on to a new name. Juju is an African word for magic.
While we liked the sophistication and refinement that went along with the name “Ensemble”, we were struggling to find a cohesive link between the tool itself, “formulas” for deployment, and “Principia” (the shared collection of formulas we want to grow a community around). All three were great names by themselves, but when combined didn’t connect well as a whole. First we considered going for a more music focused theme, with formulas becoming “collaborations” “chords” or “sheets” for example. However, given there’s already the Ubuntu Orchestra project, we felt like we might be taking the music theme too far, plus we were already having confusion around the two because of the name similarities. So we decided to go with something that had a bit of excitement and “punch” to it, that could also represent the same fun we’ve found folks having when using our project. We figured it should represent the complexities and mystery that often surround those skilled in the DevOps field, and be something that played on the same “u” sound and etymology as Ubuntu. Thus, “Juju” was born!
What is Ubuntu Juju, BTW?
As we move more and more into the cloud based world, the role of the operating systems fades into the background. Almost, every OS vendor has taken steps to adjust their strategies to stay relevant in the cloud world. Even among the Linux vendors, Redhat has been pushing hard with their cloud offerings, including their recent PaaS solution. With Ubuntu’s early focus on desktops, they don’t have a server marketshare like others in the space. However, they partnered with Eucalyptus (previous CloudAve coverage) early on and now they are investing on the OpenStack project (previous CloudAve coverage). As we go further along with many cloud infrastructure platforms and PaaS solutions in the play, Ubuntu is forced to come out with a strategy so that they stay relevant in the cloudy future. There are many ways in which they can achieve this including a straight out acquisition of a cloud platform. However, Ubuntu doesn’t have the necessary market power in the enterprise space to push their own integrated cloud platform. Instead, they are taking a unique approach where they are building a set of tools that helps at the orchestration level and they tie these tools closely to Ubuntu server OS. There are many orchestration tools in the market but most of them require a level of manual intervention. Canonical aims to build a set of orchestration tools that takes away the need for manual intervention much like what Puppet and Chef did for configuration management in the servers era. Canonical expects these tools to gain considerable traction and hence keep Ubuntu OS relevant in the future.
The net result of this thinking is Juju project (formerly known as Ensemble). The core idea of this project is to build a framework that simplifies DevOps. As cloud brought down the provisioning of infrastructure from months to hours, Juju aims to bring the provisioning and control of application services to matter of seconds. It is essentially a service orchestration framework for the cloud. At this time, I want to bring your attention to another orchestration project by Canonical, Ubuntu Orchestra. Ubuntu Orchestra is different from Juju in the sense that Orchestra is for deploying Ubuntu on bare metal servers while Juju is for deploying and managing services in the cloud. Much like Chef platform and the associated Recipes, Ubuntu Juju has charms, scripts for deploying services. These charms can be shared and reused.
In short, Ubuntu Juju
- deployment of services
- reuse existing deployment charms in an openly accessible repository of shared expertise
- compose whole systems from individual application components and describe the entire deployment
- explicit control over deployment, configuration and upgrade options
- track usage, monitor, scale, shrink and adjust deployment parameters in real time
- implement decisions immediately regardless of infrastructure scale
Can you point to some use case for Juju?
Yes, there are many examples which one can point out including setting up applications like WordPress or Wiki and let the backend infrastructure scale based on the needs. But the most interesting use case for me is its use with CloudFoundry. Recently, CloudFoundry (previous CloudAve coverage) announced a partnership with Canonical when they announced that CloudFoundry client is part of core Ubuntu OS repository. But they can come together in other ways too. One of the biggest criticism thrown against CloudFoundry Open Source project by the competitors is the lack of autoscaling feature. When Ubuntu Juju is used with CloudFoundry, autoscaling cannot be an issue. Juju not only allows an easy deployment of CloudFoundry, it also ensures that the infrastructure scales well to meet the scaling needs of the CloudFoundry platform. Please check out this blog post by Juan Negron about how one can use Ubuntu Juju to deploy CloudFoundry in 10 minutes.
Juju is an interesting strategy from Canonical to stay relevant in the cloud world. I am not sure if it is a winning strategy but I have a feeling that Juju might be a very important tool as we go towards a federated cloud future. I clearly see a need for a service like this as more and more service providers enter the marketplace. If you are keeping a watch on what is happening in the cloud computing space, you should keep a tab on the Juju project.