OpenStack Operations Guide
by Tom Fifield, Diane Fleming, Anne Gentle, Lorin Hochstein, Jonathan Proulx, Everett Toews, Joe Topjian
Chapter 3. Designing for Cloud Controllers and Cloud Management
OpenStack is designed to be massively horizontally scalable, which allows all services to be distributed widely. However, to simplify this guide, we have decided to discuss services of a more central nature, using the concept of a cloud controller. A cloud controller is just a conceptual simplification. In the real world, you design an architecture for your cloud controller that enables high availability so that if any node fails, another can take over the required tasks. In reality, cloud controller tasks are spread out across more than a single node.
The cloud controller provides the central management system for OpenStack deployments. Typically, the cloud controller manages authentication and sends messaging to all the systems through a message queue.
For many deployments, the cloud controller is a single node. However, to have high availability, you have to take a few considerations into account, which we’ll cover in this chapter.
The cloud controller manages the following services for the cloud:
- Databases
Tracks current information about users and instances, for example, in a database, typically one database instance managed per service
- Message queue services
All AMQP—Advanced Message Queue Protocol—messages for services are received and sent according to the queue broker
- Conductor services
Proxy requests to a database
- Authentication and authorization for identity management
Indicates which users can do what actions on certain ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access