How to get More Density Out of Existing Infrastructure
by Chuck Tatham of CiRBA
I recently had the privilege of sitting down with a prospective customer to discuss their concerns relating to density in their virtual infrastructure and whether they needed to purchase new hardware to fit another wave of workloads being transformed.
It appeared there wasn’t room within existing infrastructure even though density was quite low. This prompted questions around efficiency and “Why can’t we just get more density?”
This is a logical question to ask prior to making any additional hardware purchases. The issue is that in many cases the setup of the existing infrastructure is such that it simply can’t welcome new guests (inaccurate resource allocations and sub-optimal workload placements) or the prospect is too scary.
While most of these types of environments operate without major disasters, they are almost always facing performance risk and are far less efficient than they could be. This “state” makes it difficult to welcome new workloads, and it’s no mystery how this happens: most virtual infrastructure is made up of servers that were acquired specifically for the purpose of receiving VM’s and treated as blank slates.
Administrators do their best to place workloads in informed ways, choosing both placements and allocations. But “doing their best” usually comes down to leveraging best-guesses as to what a workload will look like once virtualized and how much resource it will actually require and when. This makes it very challenging to fit multiple workloads together on a host and if it’s operating at acceptable levels, it becomes harder and harder to confidently add more, even though there may be space.
The reality is that available space may be fragmented across many hosts unnecessarily or held in overzealous allocations rendering it useless. The question is this then: how do you safely make room for more workloads without disrupting what is already running?
There are three things you can do to free up some spare capacity and restore order in your virtual infrastructure:
1. Validate what resources VM’s truly require - Most of the time, resource allocation for VMs or guests are determined by leveraging rudimentary utilization or best-guess analysis based on comparable workload profiles. This lack of precision in determining allocations often leads to one of two scenarios: under-provisioned VMs, which causes performance issues that irritate or alienate app owners; or a tendency to over-provision to avoid the problem altogether.
Over-provisioned VMs look great from a performance and service-level perspective, but they unnecessarily hold precious resources captive. Ideally, organizations would examine the workload profiles empirically, and combined with service level requirements and other policies, make allocation decisions that fit the workload without waste. Accurate allocations that factor policies leave little room for unpleasant surprises and ensure that spare capacity is truly available for new workloads.
2. Rebalance workloads across hosts - Placing workloads is like playing a game of Tetris. If you don’t consider the size and shape of the workloads, you will quickly leave capacity stranded. VMWare DRS can provide rudimentary load balancing, but you have to look at policies as well as metrics beyond short term CPU and RAM utilization in order to effectively play the game and place workloads to maximize use of your infrastructure.
This kind of approach to laying out workloads in an environment is vastly superior to relying solely on a tool like DRS because you are able to maximize efficiency and reduce placement volatility. Rebalancing workloads and optimizing placements based on long term historical behaviour is a powerful and cost-effective way of freeing up a lot of space in your environment.
3. Improve visibility into what is coming and when - What appears to be excess capacity today, may not be the case in a month, three months, or even a year. Cloud operating models have created the need to respond quickly to new workload placement requests. Many organizations are in the process of investing in “request portals” that enable users to submit requests for capacity into the future. But a portal only gets you so far unless you have a true pipeline of requests that is tied into the overall planning process. By capturing requirements, accurately modeling them, and incorporating them into capacity requirement analysis, you can gain an accurate picture of exactly how much capacity you require and when.
Before you conclude that additional capacity should be purchased, determine if you truly need it. If you haven’t optimized your infrastructure using the steps above, you may very well have all the capacity you need.
First look at the individual guests and how they are doing in their allocations. If they are maxing out, then give them more, if they are swimming in excess, take some back. Then look at the hosts and how well they are balanced. Move VM’s into complementary layouts and balance the load.
The newly adjusted VMs will have impact on this and that’s why they need to be looked at first. Finally, consider the future pipeline of demand and factor that into planning. Only then will you know if you can and should add more workloads.
Chuck Tatham is SVP of operations and business development of CiRBA, a data center intelligence analytics software provider that determines optimal workload placements and resource allocations required to safely maximize the efficiency of cloud, virtual and physical infrastructure.