We decided to go for physical servers for databases and virtual servers for application servers.
For application servers we went for virtual servers since we can scale them horizontally i.e. add additional servers.
For database servers we went for physical servers since we can scale them vertically i.e. add additional CPU core’s and memory.
In this case database server was SQL server, and application/web server stack involved SharePoint, SSRS, SSAS, SSIS, and Pyramid – data visualization software.
Performance – In our case we were doing data warehouse ETL processing on the database server.
The above article starts with – If you take two dedicated servers of identical capabilities, virtualize one of them, and run the same application in both servers, the dedicated server will always show better performance. Why? Because virtualization always inflicts a performance penalty.
That said, the game changer for virtualization is not raw one-on-one performance comparison. It’s the efficiency of resource usage.
The above article brings up a very nice point about periodic optimization: Regardless of which solution you choose (physical or virtual), server performance can take a nose dive if it is not optimized periodically. Why? Because applications are dynamic – the number of users change, the database size change, the traffic patterns change. A server or application that’s optimized in June will perform sluggishly in July if it’s not re-optimized for the constantly changing server conditions.
The article then sheds light on the bottlenecks: In dedicated servers, the bottlenecks are usually application related, such as database memory limits, cache size limits, replication latency, etc. For virtual servers, the bottle necks could be related to resource limits such as IOPS limits, CPU cycle limits, memory exhaustion, etc.
Cost – The article nicely explains about cost – The most popular reason to virtualize is to save money, and it holds true for a vast majority of cases – but there are exceptions. Depending on the number of servers you have, the amount of traffic you receive, the data storage you use, and the capital you are willing to invest, your choice can vary… Calculating costs of virtualization is not a straight forward process. It involves analysis of the current resource usage, projected growth, possible bottlenecks down the road, and setting up the most suitable virtualization technology.