Editorial Rss

Best Practices for Virtual Machines

Virtual machines are continuing to grow in performance with reduced cost of ownership resulting in what I believe to be greater adoption for self hosted systems. Even when purchasing hardware in the cloud, this is often how it is configured in SAAS or IAAS.

What I’m wondering is that through the use of Virtual Machines if we are violating some of the best practices we followed when everything ran on a real machine? For example, a best practice was to have a single purpose for any particular server. 

You would have Active Directory singled out so that it was always high performing when users or applications required authentication.

You would have your web server on a different machine than your database so that your database was not exposed to outside consumers. It also assured the different services had adequate resources.

Those were the days when we paid for each individual CPU, and memory was much more expensive. Today we can have a host machine with many cores and lots of memory, and then carve out Virtual Machines, granting them the same capacity as a previous physical host would have provided. This allows us to potentially move Virtual Machines from one host to another for many reasons, etc. However, are we missing something by placing Virtual Machines on the same host, supporting many different kinds of services?

The point is, they all share a host operating system in common. Are we safe in assuming that since the different services are running on different virtual machines, and the total resources required are less than the physical hardware in the host machine, that there is true separation? For instance, can we assume that the SQL Server virtual machine will not consumer too many resources so that the Active Directory virtual machine is starving and slows down authentication? In short, can any single VM consumer enough of the host resources to impact other Virtual Machines on the same host?

What are the best practices you have found? Get in to the conversation by sharing them here online or sending an email to