There is a flawed belief that the Cloud which many times is AWS is the right answer for a startup. Here is a post friend sent me of someone who went through the numbers and came up with a non-AWS solution.
First, we simply wanted to reduce the number of variables when we needed to troubleshoot this critical layer. For us, audio quality is a top priority, and the fewer layers of virtualization and their parties between us and the user, the better.
Second, and more technically, we were having syncing issues between the time clock on the physical Amazon machines and the time clocks on the OS and virtual layers, which was causing additional delays. Moving to our own physical servers in a data center instantly solved this problem.
Third, the audio/voice layer of our system scales fairly predictably, giving us a fair amount of lead time to order new physical servers. The elasticity of cloud hosting was thus not a priority for us.
Finally, in our own financial analysis we found that when it came to our audio/voice component, our own physical servers would be cheaper than any of the cloud providers we were considering. For our API layer and Web interface, we found the opposite to be true, and so we host these across a few different cloud providers for the sake of redundancy.
That brings up a secondary point: Being open-minded means remembering that it is fine to mix-and-match. Not only is one server solution the best across all startups, it may not even be the best acrossall components of one startup. By thinking of these components’ needs separately, considering all your options, planning for the near future and not for forever, and finding the best fit for you, you can vastly improve the odds that you’ve made a good decision.