Chapter 3. Learning OpenStack Clustering – Cloud Controllers and Compute Nodes

Now that you have good knowledge of the approaches taken to deploy a large OpenStack infrastructure in an automated way, it is time to pe deeper and cover more specific conceptual designs within OpenStack.

In a large infrastructure, especially if you are looking to keep all your services up and running, it is essential that you ensure the OpenStack infrastructure is reliable and guarantees business continuity.

We already discussed several design aspects and highlighted some best practices of scalable architecture models within OpenStack in Chapter 1, Designing OpenStack Cloud Architecture.

We adopted a sample architecture based on the cloud controller and compute nodes, and on each of these, we pided and set up OpenStack services. This is a simplified way to design a scalable OpenStack environment.

Soon after, we discovered the magic of automation, where we resumed a basic setup of one cloud controller together with one compute node using the Chef server.

This chapter begins by covering some clustering aspects. It soon guides you to discover more OpenStack design patterns based on cloud controllers' and compute nodes' clustering. Bear in mind that this chapter will not treat high availability in detail and will not touch all OpenStack services layers. Instead, it will target covering a generic overview of several possibilities of the OpenStack clustering design. The art of clustering is the key to providing a solution that fits into a methodology that stresses standardized, consistent IT build-out OpenStack operations.

In this chapter, we will cover the following topics:

  • Understanding the art of clustering
  • Defining the use case of cloud controllers and compute nodes in an OpenStack environment
  • Covering other OpenStack clustering models based on cloud controller and compute node distribution
  • Understanding backup techniques of cloud controller and compute nodes for disaster recovery best practices
  • Learning how to refine your infrastructure code based on the Chef server for a fast and automatic deployment