May 17, 2012

On Databases and Virtual Machines

VMWare and other Cloud based technologies are very popular cost saving technologies these days. While we are certainly big believers in the benefits that VMware enabled cloud technology offers businesses there are a number of important factors that most vendors won’t talk about regarding cloud.

Fundamentally, all cloud technologies (ours as well as all of our completion) utilize software (VMware) to subdivide physical CPU, RAM and disk resources to allow you to only utilize what you need (saving dollars). The following factors and limitations of all public clouds are important to consider when deciding whether to virtualize a particular workload:

  1. All Cloud system rely on large scale shared SAN infrastructure. Any shared resource must have rate limits on each VM in order to ensure heavy utilization by one server does not affect performance of another. As a result, servers that require high performance encounter speed limits that cannot be exceeded.
  2. No cloud system will scale your load beyond the capacity of one physical server – infinite scale without complex engineering does not exist
  3. Cost savings in the cloud are realized by paying a higher price for a small share of resources–generally only what you use. Costs for cloud resources are substantially greater than purchasing identical resources on a dedicated server.

Web Servers, Active Directory Servers, Domain Name Servers all virtualize well since they usually rely more on CPU and bandwidth–an underutilized resource on all clouds.

On the other hand, Database and Email Server performance is highly driven by Disk Input and Output Operations per Second (IOPS) and RAM. While CPU can certainly affect performance of a database server it is usually a sign of undue stress on the server due to unindexed data, and sub-optimal queries. In 90% of cases the exhaustion of RAM and IOPS tend to be the bottleneck. Database and Email Servers (of scale) do not virtualize effectively in public cloud platforms due to the sharing and rate-limiting of these two critical resources.

While cloud is a very effective tool for consolidating many application workloads, it is important use the right tool for the job to achieve the best combination of performance and cost savings. As your server or application gets more and more use you may find you are hitting some critical limitations. In these scenarios we recommend off-loading your Database Server to physical hardware.

Go back