📜 ⬆️ ⬇️

How to calculate how much hardware is required for your OpenStack cloud?

Author: Kirill Ishanov

Often, customers who ask us to deploy a cloud based on OpenStack also attract us to performance planning, i.e. hardware configurations for OpenStack on which the cloud will run. We recently posted a video on the Internet in which this topic is covered in more detail.

The simplest scenario assumes that the client has several physical servers that are planned to be used specifically for OpenStack, but the client does not actually consider whether the server configuration is optimal for the cloud and the intended use model. Therefore, as a rule, we are trying to more deeply analyze a specific usage scenario and make recommendations regarding the hardware that the client will need to achieve success.
')
Doing this kind of work again and again over the past 3 years, we noticed that this can be a daunting task for a number of reasons:
- Different usage scenarios require a different approach. If you are designing a data center for hosting a functioning web application or a Dev & QA cloud or a cloud to support internal information technologies, your choice will be different. In most cases, it is not entirely practical to reduce the use case to “I’ll just take all of the above.”
- There is a desire to optimize the list of equipment in terms of either costs or performance; in fact, optimization is required somewhere in the middle.
- Without exaggeration, there are a large number of variables (processor, RAM, networks, data warehouses), and you can easily invest excessive funds in one element and not enough in another.
Web sites of various equipment suppliers do not solve the problem completely. Yes, there are servers that are “well suited for virtualization” or “optimal for solving critical tasks,” but such characteristics are usually difficult to quantify or compare.
-In the market there are good solutions that have been tested in practice and approved for clouds based on VMWare, but information on clouds based on OpenStack is almost absent.

Pragmatic compromise?


During the time during which we were engaged in such planning of hardware, we have accumulated sufficient experience and empirically derived several formulas in order to “well enough” assess which hardware can be used for a specific workload.
Today it is not enough to formulate these heuristic algorithms: a simple overview of various server configurations from different vendors shows that there are a huge amount of options. For example, on a single Dell PowerEdge R720 server, more than 7,000 combinations of functions are possible. This can easily lead you to the paradox of choice .
Since the ultimate goal is to make some practical decisions about your cloud, we decided to try to limit the difficulty of obtaining all possible server configurations. Applying the rules and formulas derived from the “magic” of automation, we created a simplified online hardware specification calculator to achieve a “good enough” result based on the input data you provided on several key parameters. Taking into account the variety of ways of dividing the cloud into parts based on OpenStack, today we are implementing a pilot version and refining it based on feedback from users, customers and vendors.

How the hardware specification calculator for OpenStack deployment works


In the first version, the Hardware Specification Calculator for OpenStack stores user input in two parameters: (1) the total number of virtual machines you plan to use for the entire cloud, and (2) the average size of each of these virtual machines. We then apply several simplifying constraints with the following assumptions:
-You do not plan to exceed the initial amount of memory.
-If you plan to "optimize performance", you do not intend to use more than two VCPU processors per physical core.
-If you plan to “optimize costs”, the number of VCPU processors will not exceed six per physical core.
- For each server model, the cheapest configuration is offered using no more than 60% RAM (this will ensure the correct functioning of a larger number of virtual machines and the host OS).

The latest version of the hardware specification calculator can be found here . The video simply demonstrates how the calculator works:



We learned a lot by collecting all this data and getting some useful results from it. And, as mentioned above, the first release did not take into account several important points. In the coming weeks, we plan to expand the existing functionality and include in them:
-Data on HP and Cisco servers plus missing models (for example, DELL C-series servers) for existing vendors.
- Issues related to network architecture (network adapters, switches).
- Data storage options (both for short-term and block data storage).
- Hardware specification calculator for Swift clusters.
-Optimization for different use cases and load levels.

In one of the following posts, we will also provide more detailed information about the formulas we use, and also lift the curtain on how filtering and evaluation of possible server configurations occurs.

In addition, we are clearly aware that creating such a calculator requires expert knowledge in a variety of areas, so if you find deviations in the results obtained using the calculator or you have additional ideas that you can share, please contact us at Email bom-calculator [at] mirantis.com.

Try a calculator, give us feedback, and stay tuned. And, if you haven't done it yet, be sure to check out the video on hardware planning methods for OpenStack in general.

Original article in English

Source: https://habr.com/ru/post/197966/


All Articles