There’s a persistent myth in among executives in startups and even established businesses that cloud platforms invariably work out less expensive than colocated or hosted dedicated servers. For some types of workloads, that’s true. But for the majority of infrastructure hosting scenarios, colocated hardware has a lower total cost of ownership.
Let’s take a look at some of the reasons experienced companies choose to colocate.
Cloud Users Pay For Elasticity
The major selling point of the cloud is elasticity. Because virtual servers are software constructs, it’s possible to create new servers and delete unwanted servers at will. Whether the requirement is for one server or a thousand, the process is more-or-less the same. The servers can be ready to use in seconds or minutes. And, a key factor in cloud adoption: cloud users only pay for the resources they consume.
All of which is great for companies like Netflix that need to deploy thousands of servers at peak times and spin them down during the off-peak period. But there’s a price to be paid for elasticity. Cloud instances are consistently more expensive than equivalent dedicated hardware — and I’m using “equivalent” quite loosely here, as I’ll discuss in the next section.
The real issue here is the for the vast majority of infrastructure deployments, the type of elasticity offered at a cost by cloud platforms is simply unnecessary. Workloads are predictable within parameters that can easily be handled on colocated hardware. Scaling up colocation deployments can be done within practical time-scales in most scenarios.
When considering which platform to base your company’s applications and services on, think about where your infrastructure dollars are best invested: on massive elasticity or long-term reliability.
Slow I/O Is An Expense
As I’ve already said, public cloud platforms are a good match for some scenarios, but one area in which they fail to shine is performance — particularly the I/O performance required for moving large amounts of data around, the bread-and-butter of CRUD applications, big data analytics, and machine learning.
Public cloud platforms can suffer from contention issues that impact performance, and because the majority of cloud platforms use network attached storage, data throughput can be seriously affected by network contention and congestion.
Naturally, colocated infrastructure can be engineered for optimal I/O, depending on the needs of specific applications. It is possible to get great I/O performance on public cloud platforms, but the economics of cloud platforms are such that the TCO of high I/O performance on cloud is likely to be significantly higher than for colocated hardware.
Many SaaS applications launch initially in the cloud — it’s convenient and perfectly functional for an MVP — but then make the move to colocated hardware once they find themselves trying to troubleshoot inscrutable performance bottlenecks that simply aren’t an issue on colocated bare metal.
As Etsy engineer CB Bohn makes clear:
“If an organization has a constant need for compute and storage resources, it can be more efficient to buy commodity hardware and run it yourself.”
Cloud platforms definitely have a place within the full range of infrastructure hosting options, but the assumption that public cloud is always the least expensive option can lead companies astray.