The open source nature of OpenStack can be a double edged sword. The combination of freeware and the ever increasing number of add-ons and upgrades can empower you to do great things. But just as OpenStack is easy to use and manage, it can be confusing and conflicting when you are first implementing your install.
When you are planning an OpenStack install, hardware is often a hurdle that you’ve got to sort out before any true engineering can happen. To determine how much hardware computing power is required, you must first learn how the open source works.
There’s many ways you need to install an OpenStack deployment, but when you are operating a network or multiple box instance, there’s one of two types of boxes to consider. If you are intent on installing OpenStack on a single system you can use tools to do this for you.
Otherwise there’ll be a controller as well as a compute node. To properly determine hardware requirements, you must understand what the controller and the compute nodes do.
The controller node carries many functions of the OpenStack system, which means the bulk of the resources should be dedicated to it. Authentication, storage and scheduling services as well as the Nova API are run through the controller node.
On the other hand your compute node is the simple Nova compute agent, and in some rare cases you can run a networking agent like Neutron through it. And as such less hardware computing resources are required.
Any and all supporting services, including databases like MySQL and message brokers like Rabbit or Qpid must also run through the controller node for proper operation. If you want to expand block storage in a small test environment, try deploying cinder-volume on your compute node.
To expand your existing installation in this method, adding more compute nodes will help boost performance. Further separating the Neutron networking into an individual node and adding a second controller will also increase speed and reliability.
Increasing speed and performance are things that every network manager wants, and OpenStack makes it easy for you to do this. By parting out the storage nodes and adding dedicated storage nodes will increase and streamline the delivery of data and offload network resources to other more important areas.
This is the truly scalable and manageable facet of OpenStack that makes it such a wonderful base to structure your infrastructure around. See more of our articles on how to install, run and operate the open source software.