OpenStack Operations Guide
by Tom Fifield, Diane Fleming, Anne Gentle, Lorin Hochstein, Jonathan Proulx, Everett Toews, Joe Topjian
Chapter 5. Scaling
Whereas traditional applications required larger hardware to scale (“vertical scaling”), cloud-based applications typically request more, discrete hardware (“horizontal scaling”). If your cloud is successful, eventually you must add resources to meet the increasing demand.
To suit the cloud paradigm, OpenStack itself is designed to be
horizontally scalable. Rather than switching to larger servers, you procure
more servers and simply install identically configured services. Ideally,
you scale out and load balance among groups of functionally identical
services (for example, compute nodes or nova-api nodes),
that communicate on a message bus.
The Starting Point
Determining the scalability of your cloud and how to improve it is an exercise with many variables to balance. No one solution meets everyone’s scalability goals. However, it is helpful to track a number of metrics. Since you can define virtual hardware templates, called “flavors” in OpenStack, you can start to make scaling decisions based on the flavors you’ll provide. These templates define sizes for memory in RAM, root disk size, amount of ephemeral data disk space available, and number of cores for starters.
The default OpenStack flavors are shown in Table 5-1.
| Name | Virtual cores | Memory | Disk | Ephemeral |
|---|---|---|---|---|
m1.tiny | 1 | 512 MB | 1 GB | 0 GB |
m1.small | 1 | 2 GB | 10 GB | 20 GB |
m1.medium | 2 | 4 GB | 10 GB | 40 GB |
m1.large | 4 | 8 GB | 10 GB | 80 GB |
m1.xlarge | 8 | 16 GB | 10 GB | 160 GB |
The starting point for most is the core count of your cloud. ...
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