Of all the trends I have witnessed in my 10 years of being a network administrator/manager, the one that has seen little if no argument, is the need to reduce server sprawl. When your average server was once in the 4U to 6U range, the amount of rack space and cooling needs quickly got out of control. It was common to only have 4 to 6 servers in your standard 19-inch rack. These racks themselves could cost upwards of $1000, and then there the KVM needs, maintenance on each physical box, etc. We all know/remember the pain points. Although, as an admin, it was impressive to show off 10 racks full of servers with blinking LED's (as long as they were all green!). But once that equipment aged and caused additional support headaches, we all wanted nothing more than to reduce the "head count".
So started the consolidation initiative. Consolidating file and print servers was easy. Throw more horsepower in a single box, and you could put more into it. You could even knock down some database servers that way. So, what were the real challenges? The insistence from application vendors to have dedicated systems for their apps. Seems like every app my company purchased meant 2 more servers (app + db). I know this was probably my biggest fight. A fight that I escalated all the way up to the CIO. So we started insisting to vendors that we would not accept this as a requirement. We probably turned away some really decent applications because of vendors who wouldn't accept their app living on shared systems. And then there were existing apps that we just migrated to shared systems, and I can tell you that doing that caused some support nightmares.
When virtualization and blade servers came on the scene, or should I say came down in price and went up in dependability, we saw drastic declines in space requirements, cooling needs, power consumption, etc. Between virtual servers and blades, I have roughly 100 servers housed in my first 2 racks. And that includes the storage and fiber switches. My general rule of deploying new servers is virtual first, blade second, and stand alone as a last resort if deemed necessary. What I didn't give immediate thought to was reviewing my stance on the above mentioned practice of consolidating my app servers, even if it was against the vendor's requirements.
Now I'm not saying that it's a good practice to separate every single app, database, or infrastructure server. Many vendors (because of customer's insistence) fully support their apps running on shared systems now, and I do that whenever it is supported and causes no issues. There is still OS license and maintenance costs for each server instance. And of course each one has to be maintained, secured, patched, etc. even if it is virtual. But what I am saying is that virtualization and blade servers have given me the ability to add dedicated systems with little or no impact on some of the previous pain points. If there is ROI in deploying an app, or just a definitive need, I don't hesitate in provisioning a dedicated system for it, if it is required. Doing so has helped tremendously in application support from the vendor, maintenance windows (which did not always coincide when running multiple apps on one box), and it keeps one rogue application from taking down 2 or 3 others. Again, I am not promoting server sprawl, but rather recommending that returning to dedicated application systems in certain circumstances, is not as painful with the newer technologies available to us.
I would be interested in hearing how other admins feel on the subject.