Exchange Best Practices: Virtual vs Physical infrastructure.

So you want to implement Exchange as your messaging platform? Weather it’s a new install or a migration from an older version of Exchange, you should keep in mind that an important part of any Exchange environment is correctly planning and implementing a solid, supportable environment.

Virtual vs Physical

Virtualizing your Exchange environment is a very appealing idea because it allows you to fully utilize the resources that you have purchased by hosting multiple virtual servers on one physical host. Done properly, this can save money and time. Done poorly, and it can cause you endless headaches. Microsoft does support virtualizing all Exchange roles as long as the vendor you choose is participating in the Windows Server Virtualization Validation Program (SVVP)

If you do plan on virtualizing your environment, below are some important high level points that need to be taken into account when setting up the virtual environment.

CPU:

  • CPU should be provisioned in a 1:1 relationship, however, a 2:1 relationship is supported. Hypervisor vendors may support more than 2:1, but Exchange will not.
  • Remember to include the virtualization overhead in your sizing calculations.

Memory:

  • Exchange is VERY dependant on having dedicated memory resources available on demand. Never over provision or use dynamic memory.
  • Remember to include the virtualization overhead in your sizing calculations.

High Availability

  • Migration technology like Live Migrations or vMotion are supported.
  • If you plan to use HA (why wouldn’t you?), you will need to adjust DAG cluster heartbeat to keep DAG from failing over during an HA event.
  • Snapshots are not supported.
  • You should use rules to ensure two DAG members are not running on the same host.
Management:
  • Depending on your environment, you may not have console access to the physical servers. In this case, it’s my opinion that virtual servers are easier to manage. You are able to completely manage the server from an admin console (Hyper-V Manager, vSphere, etc…). This gives you full access to the server from anywhere you have connectivity. This is available for physical servers using technologies like iDRAC (Dell) and iLO (HP) but in my experience, the virtual machine technologies are more reliable. That’s just an opinion though.

Support:

  • Although SVVP hypervisors are officially supported, if you run into issues you may end up dealing with support from multiple vendors simultaneously. I can’t speak for all vendors, but I have personally dealt with Microsoft and VMware together on several occasions to track down an issue and they were both fine to work with. Just something to keep in mind. 

Physical servers give you the benefit of making it impossible to run into the issue of resource contention. When a server is built, all resources of the hardware are fully dedicated to the OS/application. This prevents the possibility of incorrectly provisioning resources to the “guest” machines.

I think ultimately, this decision comes down to your own personal preference and technology or business requirements and restrictions. At the end of the day, both options are viable, supportable technologies that have their place in today’s IT world.

Additional Resources: