Chapter 12. Cloud orchestration using OpenStack
This chapter covers
- Application orchestration using OpenStack Heat
- Application orchestration using Ubuntu Juju
One definition of orchestrate is to arrange or manipulate, especially by means of clever or thorough planning or maneuvering. You are likely very familiar with the first part of this definition in relation to computing. You must arrange layers of underlying hardware and software dependencies in order to deploy applications. This chapter, and in some respect this entire book, is about the clever part of orchestration. Specifically, this chapter covers application orchestration tools that make use of OpenStack resources. Some of the tools we’ll explore are official OpenStack projects, and others are related projects.
Even within official OpenStack orchestration tools, dependency hierarchies exist. For instance, the Murano project (not covered in this chapter), which provides users with an application catalog, depends on the Heat project to deploy infrastructure and application components. There are also standalone tools, like Ubuntu’s Juju, that interface directly with core OpenStack APIs to deploy infrastructure dependencies, which Juju then uses to deploy applications.
This chapter starts with the official OpenStack Heat project, which operates between the infrastructure and application levels. Next, we’ll look at the standalone Ubuntu tool Juju.