Should you pay more in the cloud or pay less for bare metal in the datacenter? This is a crucial decision point facing startups today. Which way should you go? In this Webpulp.tv interview, Joe Stump, always a go-to guy when you need a metric ass-ton (a favorite expression of Joe’s) of good advice on cutting edge practices for the modern startup, laughs at conventional wisdom by saying the cloud is really not more expensive than bare metal.
The argument for a cheaper cloud has a three main points:
- Raw Hardware Costs are Close. Buying hardware is cheaper than renting hardware from Amazon, but it’s close when you consider reserved instances. A reserved instance costs about $250 a year and a new server costs about $1500. Let’s say Amazon is 30% slower. That means for a cluster of 20 machines you would need a another 7 servers. This takes 10 minutes and 4 button clicks to provision on the cloud (the advantage of a scale-out architecture + automation + cloud aware tools). So 7 extra servers using reserved instances costs another $7-10K a year. High end people cost $120K+, which is two weeks of work. At the end of the day would you have some spend 6 months building a new datacenter or spend more time producing direct value? Given a projected server life of 2 years, the costs will be close.
- Hidden Costs. There are lot of hidden costs when running a datacenter that people usually don’t consider in their calculations. People usually just consider raw server costs, but that’s just the start of what you need: 1) devops people to spec hardware, work contracts, etc. 2) network engineers to manage routers, etc. These are very expensive people that do an essential job, but they don’t add direct value to your product, so why not let Amazon employ them?
- Opportunity Costs. The real disadvantage of buying servers is the opportunity cost. With a small team of say 3 people, if one person spends a day in the datacenter then you’ve lost 33% of your productivity because time is being spent in the muck instead of providing direct value to customers. The idea is to have all your big guns working on your product, adding value, not working on plumbing. Hardware has been commoditized. A small shop can’t have its talent spend all their time wrangling hardware and sure as the sky is blue, someone will end up spending most of their time on hardware issues.
I think Joe makes a pretty convincing case here, especially for greenfield applications with smaller teams, with tight finances, that are using a scale-out scalability strategy. The incremental savings of bare metal is dwarfed by other concerns. And by concentrating all their effort on producing value they might grow into the position where going bare metal becomes a real decision for them. For now, however, it’s the flexibility of the cloud that is allowing them to make massive inroads with relatively little expense.
37signals offers direct counter example. 37signals is moving away from Rackspace and into their own datacenter. Some forces acting on 37signals are:
- They have an existing architecture that isn't cloud based. 37signals is successful and well established, what they are doing is working, so there's no incentive to change everything to a different model.
- They have a scale-up scaling strategy. With a scale-up strategy you need big hardware and the best way to get big hardware is to buy and manage it yourself.
- They have money. With money in the bank CapEx isn't your mortal enemy.
- They have three full-time sysadmins. With dedicated people, product development isn't harmed.
It’s possible SimpleGeo, Joe's current startup, may grow into a 37signals in the future and have to decide if increased profit margins are worth going bare metal. Or it’s possible Amazon will keep innovating and bring costs down and increase performance so that they will never have to move. In either case the main point for me was Joe’s pro tip of considering opportunity costs, not just raw server costs in cloud cost calculations.