As your online presence grows, you may start to consider the pros and cons of buying/renting hardware and using cloud services for your hosting. All of these options have pros and cons and this article will provide an impartial view on the realities of this decision, rather than the sales pitches of a given company.
If you buy hardware, you can get exactly what you want. Choose the chassis, choose the motherboard and then start adding more components. If you need a storage server, buy a large chassis and add lots of disks. If you need a compute-intensive server, buy a small chassis and put a 4 socket motherboard in it. The choices are endless.
This is an excellent choice for those whose infrastructure spans a large number of servers. Why? Because buying 100 servers has economies of scale over buying 1 (and buying 1000 has economies of scale over buying 100). Intel openly publish the “tray price” of their CPUs (i.e. the cost to buy them in bulk) and you probably won’t find those prices at any retailers. It’s the same for other components too.
It’s not just the immediate economies of scale though. There are also economies of scale co=locating your servers. A rack is cheaper than 46 co=location packages and also gives you physical access (so you don’t have to pay for remote hands). You can co=locate tools and spares, for which many co=location providers charge extra. You can connect your servers over a private network and reduce your bandwidth cost, especially if you co=locate a backup server and do backups over the private network.
Renting hardware can offer almost the same level of control as buying hardware. Sure, you don’t get physical access, but many large dedicated server providers now have very advanced control panels where you can add extras, take remote control of your server, reprovision your server and so on so there isn’t always a need for physical access.
Not owing the hardware might seem like a bad financial decision (if you draw a parallel to renting a home) but in reality it often isn’t. Consider the following hypothetical yet realistic example where the server provider can take advantage of their economies of scale. Of course these economies of scale don’t apply if you need an usual server configuration.
Owning: £5000 upfront (needs upgrading after 3 years), £50/month to co-locate, 5 remote hands requests at £75 each and 3 disk failures at £100 each. Total: £7475.
Renting: £200 per month all inclusive. Total: £7200.
It’s also a lot more reassuring than worrying about who will be around to do a drive replacement in a faraway city in the middle of the night.
There are several myths about cloud, its performance, its reliability and its scalability. Put simply, cloud is great for small deployments but as you start to approach the need for a dedicated server, you won’t be able to do the same with the cloud at a similar cost. There is a very simple reason for this:
To provide a large cloud server with a certain specification, a quality provider will usually allocate resources on a physical server with slightly more than your virtual server specifications (so you’re paying for more than you can use). This is because the software that creates the virtual server uses resources too. That software is often the cause of a lot of problems, too. Virtualisation software can be highly complex, needing experienced systems administrators 24×7 to deal with mishaps, further adding to the cost. There are software solutions out there to take away some of the complexity but most of these are also very complex themselves and require a lot of investment and room for price variation due to vendor tie-in. It is for this reason that I would advise anyone in the market for an important cloud service not to rely on a company whose whole virtual infrastructure is dependent on their business relationship with a particular vendor. We have known a particular vendor to increase the price of their software tenfold where affected clients were told via a mailing list.
Again, cloud is great for small setups but with the added complexity, you won’t get the performance/cost ratio of a dedicated server.
Claims are often made about the cloud’s scalability and reliability. Scalability may be useful where you need to grow significantly very quickly, then back again, often. This is a rare occurrence and most often, if you compare the cost of a dedicated server to match your largest demand with a cloud server that offers the scalability you need, you’ll find the former is more cost effective. Discussions with one hosting company revealed that one client’s obsession with scalability pays for their whole cloud infrastructure.
Reliability is a hot topic too. Many cloud technologies claim to have automatic failover resulting in essentially zero downtime. CloudHarmony has impartial, accurate uptime statistics for all of the major clouds and all of the major clouds have more downtime than a many dedicated servers. This again, is due to the complexity. More software, means more complexity, means points of failure. Interestingly, many of the cloud providers that people associate with reliability (because of their marketing and higher prices), have uptime similar to, or worse than, the cheaper providers.
Compare this with a dedicated server. We tend to recommend Kimsufi for a cheap place to store backups. Our 10 euro-per-month Kimsufi has been up for over a whole year without any downtime at all. If you need more reassurance than that, look at the same company’s enterprise servers, which are still reasonably priced and come with financially-backed SLAs, RAID and redundant power/network supplies.