Recently, the industry has seen a surge in tools being developed to move virtual machines around the data center. Not just a vMotion or a Live Migration, moving the application infrastructure when you need and decide to explicitly, but an automated, intelligent decision on where the VM is best placed. VMware vRealize Operations, VM Turbo and Cirba all strive to solve this in their own unique way, but I would like to talk about why they are useful….and potentially essential as you move forward at scale.
Time to Re-Think Application Placement?
Since the advent of virtualization, we have seen a huge increase of the number of machines being deployed in data centres across the globe. Its easier and faster to deploy a VM than a physical server so this isn’t surprising. Since more and more businesses are adopting automation within their data centers and moving towards the private cloud model, it gets easier and faster gain. The result….VM sprawl. The problem with deploying services at an increased rate stems from operational constraints. More services to manage, in an ever denser environment, with the same amount of people managing it all. VM Sprawl can be avoided by reclaiming underutilized resources through automation, but it doesn’t address the effect of VM sprawl on the amount of hosts or clusters being used. This sprawl has a very real impact on the total cost of the data center.
Automation/Private Cloud tools make it very simple to allow end users to deploy virtual machines, or any kind of services onto the estate. But who decides where it all ends up? Reservations/Deployments could be based on a specific hypervisor, cluster, host, datastore etc. And this could be a round-robin decision chosen by the tool set or it could be provided as an option to the end-user. But does it know if it is effectively placing the service in the optimal location, based on trends and current consolidation rates?
The best way to describe the need for intelligent workload placement is with tetris (who remembers tapping away at their gameboy, flipping and moving blocks around?). Well, the analogy lines up perfectly here. Each application you deploy is the tetris block, some look the same, but most are different with different shapes and sizes, some are wider (scaled out, requiring multiple VMs), some are taller (scaled up, requiring more resource from the host). The data center, or piece of the data center you manage is the tetris screen, with each application filling up the screen in weird and wonderful combinations. What would happen if we didn’t intelligently decide on which way up or where those blocks fall? the screen fills up very quickly. In real life the screen is your potentially expensive hardware which is a significant investment for your company.
Introducing Workload Placement!
So understanding that the consolidation of workloads is a strategic requirement as you scale, we should take steps to make sure we are going about it effectively:
- Virtualization is the first step. Bringing more than one application/operating system/vm onto a single physical machine did wonders for workload consolidation. Hypervisors enabled massive cost savings, but also agility and stability.
- Right-sizing. Making sure VMs are right-sized is a big discussion on its own, but for now, lets assume everyone is deploying the correct sized VMs and services. This can be a difficult task, telling your end users that they can’t have the huge virtual machine they’ve requested, because they simply don’t need it. How much easier would tetris be if you could make your blocks smaller?!
- Decide whether you need to focus on consolidation or balance. If you have servers powered on regardless and want them to live as long as possible, it would make sense to spread applications evenly across hosts, to keep the load low. If you are driving to reduce cost and footprint, you need to make the most of each resource you have and consolidate as many applications as possible onto as few hosts as possible.
- Workload Placement and Dynamic Workload Placement tools should understand your drive to consolidate or balance. They do this typically through API interaction with the hypervisor and an analytics engine making the correct decisions depending on your defined configuration. Analytics are the key to visibility across the virtual estate, understanding not just a point-in-time view, but provide trending analysis to analyse risk.