Virtualization Matters Except When It Doesn’t
In my previous post “Physical is New Virtual,” I mentioned that I would talk about when you will need virtualization and when you don’t. This topic could be a little controversial as we at virtualization community all assume that virtualization is the way to go, which is true in general.
There are however use cases in which virtualization doesn’t make much sense. In the following, I will detail some of these use cases and explain why it doesn’t make much sense to use virtualization. Like everything else, virtualization doesn’t fit all.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
For that, let’s first look at a keyword called workload. It is the types of workloads that decide the best way to run them. This includes, but not limited to, the application type, IO pattern, usage pattern, SLA, etc. Combined together, they could be huge number of varieties.
To simplify it, I think it helps to separate the enterprise workloads and service provider workloads. The latter includes Internet hosting service providers, and Internet companies like Google, Facebook which provide various content/search services. The key difference here is the volume of the workloads.
When we talked about the benefits of virtualization, we almost always assume that the typical server utilization without virtualization is about 6-8%. This may be true in enterprise but not likely true for Internet companies. That explains why leading Web sites do not use virtualization in their production environment.
In general, the workloads that don’t need virtualization include (I am sure I have missed some others. Please feel free to add yours in the comment):
- Data crunching applications. Breaking calculations into multiple virtual machines and then switching among them only slows down the calculations.
- Performance sensitive applications. Virtualized workloads have less predictable performance pattern than their physical counterparts. If your application demands real-time response, you’d better try it out before virtualizing production system.
- Already saturated workloads. If a workload already uses 80% of the physical capacity of a machine like CPU/IO/net, it doesn’t make sense to virtualize it with additional 10-15% overhead.
- Large scale workloads. When the scale is extrmely largely, any saving on hardware can be significant. Any overhead including virtualization could hurt a company’s bottomline.
For these workloads, the new hardware platforms with virtualization features built in, like Cisco UCS, provides an alternative that balances flexibility and performance.
In summary, virtualization is a new way to run IT. But it’s not the only way, especially for heavy workloads in service providers and Internet sites. It’s important to think carefully about what to virtualize and what not, and even more so to try it out with pilot projects.