Last year, we wrote about an interesting case study involving Ben Ubois’ feed reading service Feedbin. Because of consistent performance issues on the cloud, Ubois chose to move his service’s hosting to dedicated hardware. On bare metal he not only saw significantly improved performance, but much lower prices.
Stories of this sort are becoming more common, both because developers are becoming jaded with cloud performance issues and realising that the low prices promised in the cloud aren’t always delivered, and because traditional bare metal hosting technology has reached a level of maturity where it can compete with cloud platforms in the use-cases that are most relevant to the large majority of hosting users.
Another interesting example of this phenomenon was reported recently on the excellent High Scalability blog by Swiftype Head of Technical Operations Oleksiy Kovyrin. Swifttype is a hosted search provider that offers advanced web search solutions for site owners. Originally, the service was deployed on EC2, because as a startup, the company valued the on-demand pricing and rapid scalability of public cloud platforms.
But they soon ran into the now familiar litany of problems with the cloud. Search is an application that relies on low-latency responses. No one wants to buy a search product that will see their site’s users twiddling their thumbs. On EC2 Swiftype:
experienced networking issues, hanging VM instances, unpredictable performance degradation (probably due to noisy neighbors sharing our hardware, but there was no way to know) and numerous other problems. No matter what problems we experienced, Amazon always had the same solution: pay Amazon more money by purchasing redundant or higher-end services.
The solution offered by Amazon is at the heart of the problem that many infrastructure users discover with the public cloud. You can have cheap, you can have high performance, but you can’t have both at the same time. And when I say you can’t have cheap, I mean you will pay way more for high performance than you would on dedicated hardware.
If you’re interested in the mechanics of the transition from cloud to bare metal, you should take a look at the post, but upshot is that by migrating to bare metal, Swiftype not only removed the vast majority of their latency and performance issues, they also experienced vastly improved reliability and a cost reduction of about half. They were paying a lot less for a lot more.
Kovyrin ends his post by echoing a sentiment that you’ll have heard many times before if you regularly read this blog:
In our experience, the cloud may be a good idea when you need to rapidly spin up new hardware, but it only works well when you’re making a huge (Netflix-level) effort to survive in it. If your goal is to build a business from day one and you do not have spare engineering resources to spend on paying the “cloud tax”, using real hardware may be a much better idea.
The cloud is a fantastic technological achievement, but for most hosting users, it’s a solution in search of a problem. Almost no-one needs “Netflix-level” scalability; they need predictably and easily scalable infrastructure, fixed low costs, high performance, and reliably stable hardware. That’s what bare metal provides, and its what the cloud sacrifices in exchange for on-demand pricing and elasticity.