Which Cloud for Startups?
I spent quite a bit of time working at startups before the Cloud became a Thing. Having to find a system administrator and DBA, and dealing with installing software and racking-and-stacking servers in co-lo was part of life — you just did it, and didn’t stop to ponder, “Gee, it’d be nice if I didn’t have to deal with this stuff and instead could focus more on things that are central to developing our product.”
So the Cloud is something of a revelation for today’s startups, offering greater velocity, performance, scalability, and reliability, all without significant up-front investment. It can be A Very Good Thing, and I have a hard time imagining a startup that wouldn’t want to leverage the Cloud in some way (maybe some sort of crocheting technology?) — it is pretty much a necessity.
Which begs the question, “Which Cloud for Startups?” and got me thinking about how I would approach answering that question.
For full disclosure: I have not done an exhaustive comparative analysis between the major cloud vendors. Such an exercise would be a huge, laborious endeavor fraught with apples-to-oranges comparisons. The resulting decision matrix would probably be painfully complex and require making a ton of assumptions about your future business (and you know what happens when you make assumptions). It could be done, but that’s not how I would approach the question — frankly, I don’t think such a comparative analysis is very relevant.
The good news is that I don’t think startups need to stress out about choosing their Cloud provider — I think that the choice you make is very unlikely to make or break your startup.
The bad news is that what you do have to worry about is using whichever Cloud you choose correctly. And that can be a very challenging thing, even for large organizations with plenty of resources. Making bad choices in how you use the Cloud can be painfully expensive. As a startup, you’ll be starting off at a small scale, so your exposure is somewhat limited. But as you ramp-up — and you want to ramp-up quickly, right? — you might be in for a nasty surprise that you really would rather not devote time and resources to fixing.
So I would approach the question, “Which Cloud?” by first noting that it isn’t going to make-or-break you as a startup. If there are some obvious business advantages for you in choosing one Cloud over another, then that might be a good reason to make a particular choice. Or if you absolutely need a particular service that only one Cloud provider offers, then there you go. If you have a very detailed knowledge of your future needs (which is challenging to arrive at), that could point you in the right direction as well.
Lacking any of the above and dealing with uncertainty about your future needs, I would probably recommend going with the Cloud provider that you feel will offer you the richest set of functionality that you might need, and is investing the most in developing more of that functionality. There is no universal answer to that question — you can make some generalizations about investment and spending by the major Cloud providers, but that doesn’t necessarily translate into functionality that is relevant to your needs.
Or you can chuck all of the analysis and just go with the good old, “No one ever go fired for choosing vendor X” approach.
Whichever way you go, your choice of Cloud provider is very unlikely to cause your startup to crash and burn.
But again, whichever Cloud provider you choose, do be worried about ensuring that you use the Cloud effectively.
Which can be tricky.
In some sense, my whole blog is about using the Cloud effectively, so there is no really simple answer to the question of how you do it.
But I can point out a few quick items that I think are important for startup founders to think about:
- Awareness. Being aware that the Cloud is not always cheap and easy is the single most important thing I can advise. If you have the mentality that you’re just going to pick it up and start using it and save yourself a ton of money, you’re likely to get in trouble. Paranoia in this area helps.
- Budget. Make sure that cost and budget are an essential part of every technical discussion that you have, starting from the very beginning. Engineers are used to thinking about things like performance and scalability, but focusing on the cost of it all may not be on their radar. Ensure that it is.
- Data. Gather cost data and look at it carefully. You want to be able to break it down as much as possible — grappling with nothing more than an overall monthly spend won’t get you too far. You need to be able to dig into it and see where the money is going. If you’re not getting that level of insight, bang your engineers over the head until you do
- Project. Think about what it will cost you eventually, if you’re wildly successful. It’s never too early to think about that eventual cost.
- Correct. If all of the above lead you to the realization that you have a potential problem on your hands, fix it as early as possible. You obviously want to evaluate your options carefully beforehand and make good decisions. But as I’ve noted earlier, you’re not going to be perfect. Expect to correct.
As is generally the case in life, there is no universal answer to the question, “Which Cloud for Startups?” but if you are in a position of making that choice, I hope I’ve at least given you something to think about.