We are planning on installing a new Exchange 2013 server into our network (we currently use hosting now). We will be hosting about 200 mailboxes and clients are in 5 locations. Has Exchange 2013 come along enough to be run as a VM? We are currently running most of our servers as VM with 2008 Hyper V. We would need to get 2012 Hyper V as the host with Exchange 2013. For our setup, we may be better off running it on a physical server, as we are worried about availability and performance as a VM
Exchange Server 2013 runs very well in a virtual environment.
Have a look at Best Practices for Virtualizing & Managing Exchange 2013 for some, ahem, best practices.
Flashy whitepapers aside, though, 200 mailboxes could well be served by a VM with a meager quantity of RAM and JBOD storage. (I'm a little squeamish to give specific numbers here, because I don't know anything about your sizing, but I'd guess something in the way of 16 - 32GB of RAM would give you plenty of cache cushion to allow you to use whatever storage you had laying around.)
Unlike Exchange 2003, all the 64-bit versions of Exchange need much less I/O bandwidth and, for such a small number of mailboxes, will run very well on lower-end hardware or a VM provisioned with modest resources. (That was always the downfall of older Exchange versions-- a 32-bit address space meant wild thrashing of disks and a tiny window of the database cached in RAM.)
It is not necessary to use Hyper-V 2012 to run Exchange 2013 in a virtual environment. It will run fine and is supported on Hyper-V 2008. (Although, having said that, newer versions of Hyper-V are much nicer than the older versions.)
A physical machine isn't the way to go for availability. Arguably, leveraging just the simple VM replication functionality of Hyper-V 2012 R2 would give you better availability than you could get with a physical machine.
If you really want to get into availability have a look at Database Availability Groups and the replication functionality built into the product. Since Exchange 2007 Microsoft has made leaps-and-bounds improvements in doing high availability Exchange. Gone are the bad days of Wolfpack clustering and shared storage. It's really much better now.
200 Mailboxes falls under the "small installation" category. The performance of Exchange 2013 running as virtual machine is perfectly fine on modern hardware. I no longer have physical Exchange servers as a result. Having enough RAM is key. Disk I/O and CPU needs are extremely low.
Microsoft's own Exchange 2013 hardware guidelines are reasonable and outline this well.
In practice, my busier Exchange 2013 servers of that scale (150-200 mailboxes) look like:
- Yes, Exchange 2013 works just fine as VMs, as (as TheCleaner pointed out) did the last two versions.
- You only have 200 mailboxes? Hell, you could run that on a single VM on reasonably-modern hardware.
- You only have 200 mailboxes? Unless there was a big reason not to, I'd put that on O365 or some other hosted Exchange system. Why are you migrating off of a hosted system to in-house for so few mailboxes?