blog
Pros and cons of cloud computing versus dedicated servers
I’m a big believer in cloud computing. I especially like the idea of using third-party cloud computing on a “utility” basis (e.g. Amazon web services). Why? It’s so easy to get started and it’s so easy to scale according to load—assuming you’ve architected things properly. So why, then, should you ever consider using dedicated physical servers in a data center?
First of all, you can get higher performance. You’re not just deploying servers in the data center, you are also deploying networking gear like firewalls, load balancers, and switches. So you have full control over everything. Because the servers are in the same physical rack as the networking gear, latency is almost non-existent. In the very common case where you use web services or database servers, this can give you a small but noticeable boost in performance. You can choose your networking gear to have very high performance with accelerators built into the hardware. In addition, if you don’t virtualize your servers, you also avoid the small amount of overhead due to the virtual OS (e.g. Xen, VMware, etc.).
Second, it can be cheaper. But you have to have a fairly large number of servers before this is the case due to amortizing the cost of your networking gear across the servers. And I’m also assuming you can depreciate your hardware over at least three years. It also helps if you use inexpensive white-box servers to keep the costs down.
Third, you can be fully Level 1 PCI compliant for ecommerce sites. Level 1 requires physical access to the servers for the PCI audit, but Amazon, for example, won’t allow for physical access to their cloud computing servers. (Lower compliance levels are possible, though.)
Fourth, you have the option of doing fancier networking. For example, you could easily route your traffic to a “site down” web page if all of your web servers went off line for some reason. You could also inspect the incoming URL and send some traffic to one pool of servers but other traffic to a different pool. You can terminate SSL in one place instead of on every server, and also take advantage of high-performance SSL hardware. And much more…
Fifth, you have full control over who has access to the data on the servers. This might be important for highly sensitive data, such as a corporate database, where you want to maintain the highest amount of control due to SOX compliance.
Sixth, you could also implement a hybrid solution whereby you use physical servers for some things, but cloud computing for other things. For example, let’s say that your site does a lot of heavy processing of photos. Do the photo processing in a third-party cloud using web services, but do everything else on your physical servers. In another example, you could use cloud computing for overflow processing. Your day-to-day processing could be done on your physical servers, but if the load gets too high you could add servers in the cloud on the fly.
Of course, there are also many disadvantages of using physical servers. Perhaps foremost among them, you have the expertise to be able to set up all the servers or networking gear. (Although you could use some one-time consulting to do the setup and then do the relatively straightforward day-to-day activities yourself.) You also have to sometimes travel to the data center to do setup and maintenance work. Unless the data center is close by, this could get expensive.
This entry was posted on Monday, June 21st, 2010 at 10:11 am and is filed under Data Centers . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
