What this book covers
Chapter 1, Revisiting OpenStack – Design Considerations, summarizes the latest features of the main architectural services of OpenStack. The chapter introduces the latest updates of each core component of Antelope and later releases. Initial logical and physical design models will be drafted and used as an architecture reference for later chapters.
Chapter 2, Kicking Off the OpenStack Setup – The Right Way (DevSecOps), starts by covering the concept of DevOps concept with the merge of security aspect. The chapter explores how DevSecOps helps to manage, deploy, and automate a large OpenStack private cloud infrastructure in the most agile and secure ways. The chapter introduces the Kolla Ansible project, which will be used to deploy different OpenStack cloud infrastructure pieces based on containers.
Chapter 3, OpenStack Control Plane – Shared Services, zooms in on the common OpenStack services designed to run in cloud controller nodes. The chapter dives into the latest OpenStack updates introduced into its control plane, including core service APIs, messaging, and database services. Based on the deployment based on containers, the chapter explores in more depth different pieces of the Kolla Ansible repository, targeting the OpenStack control plane.
Chapter 4, OpenStack Compute – Compute Capacity and Flavors, revisits the OpenStack compute Nova service in more depth. Scheduling and the Placement service will be covered, including advanced ways to carry out resource allocation to run instances in compute nodes. The chapter explores the latest updates to compute design for large-scale OpenStack deployments by covering the concepts of availability zones, host aggregation, and cells. A good part of the chapter is dedicated to learning about incubated projects targeting containerization technology in OpenStack. Zun and Magnum will be highlighted and deployed the same way as other services using infrastructure as code.
Chapter 5, OpenStack Storage – Block, Object, and File Shares, explores different storage options within the latest OpenStack releases, starting from the Antelope release. The chapter reveals different backend integrations with the Cinder block storage service, such as NFS and Ceph. More updates on block storage scheduling are highlighted in more detail. A succinct update overview for Manila and Swift will be given. The covered storage services will join the deployment model using the Kolla Ansible repository.
Chapter 6, OpenStack Networking – Connectivity and Managed Service Options, explains in more depth the Neutron networking service in OpenStack. The chapter introduces the reworked layout of the network architecture for large-scale deployment. Neutron plugins will be explored with the latest OpenStack release updates, including Open vSwitch and OVN. Routing is discussed and we show how it works under the hood by leveraging the Neutron plugin. Additional services, such as the new version of Load Balancing as a Service, codenamed Octavia, is demonstrated throughout the chapter.
Chapter 7, Running a Highly Available Cloud – Meeting the SLA, covers different techniques and design patterns to increase availability and scalability in each OpenStack control plane layer. The chapter explores different ways to achieve routing redundancy specifically in Neutron. It also goes beyond the infrastructure layer and exclusively introduces an automated approach to manage instance availability using a new trending OpenStack service codenamed Masakari.
Chapter 8, Monitoring and Logging – Remediating Proactively, illustrates a consolidated solution to run a sophisticated monitoring solution for a large OpenStack cloud setup. The chapter introduces Prometheus as a single pane of glass for all the OpenStack monitoring metrics. It also explores a simple way of visualizing and centralizing metrics in one system using Grafana. Succinct updates on the Ceilometer telemetry service in OpenStack are covered. The chapter unleashes a powerful and automated way to digest and visualize large amounts of OpenStack logs using OpenSearch.
Chapter 9, Benchmarking the Infrastructure – Evaluating Resource Capacity and Optimization, goes through more advanced operational tasks targeting OpenStack performance and resource optimization. The chapter discusses how to evaluate your cloud infrastructure core services and limits by performing benchmarking exercises using the Rally tool. It also takes the performance dilemma to the next level by enabling ways of tracing different OpenStack calls using a dedicated tool developed for OpenStack codenamed OSProfiler. The chapter highlights a great addition to the OpenStack project for resource optimization codenamed Watcher.
Chapter 10, OpenStack Hybrid Cloud – Design Patterns, suggests new ways of implementing, deploying, and integrating OpenStack beyond the private cloud model. The chapter discusses the rising trend of adopting a hybrid cloud model for several use cases. Hybrid cloud design patterns are discussed throughout the chapter and we explore the marriage between the public and private clouds based on OpenStack.
Chapter 11, A Hybrid Cloud Hyperscale Use Case – Scaling a Kubernetes Workload, wraps up this edition with exclusive content on scaling workloads between a private OpenStack cloud and an AWS public cloud environment. The chapter crystallizes the concept of duo containers and microservices to achieve a hybrid cloud model. A workload based on Kubernetes will be demonstrated to run between private and public cloud worlds and we cover a trending Canonical tool code named Juju to federate and manage workloads across clouds.