11 ms·
As for choosing a provider, remember the cloud is more about horizontal and dynamic scaling. If your application has a predictable or consistent load the cloud
by davismwfl 12y ago
As for choosing a provider, remember the cloud is more about horizontal and dynamic scaling. If your application has a predictable or consistent load the cloud is likely not be the best nor the cheapest solution. We had a client move off the cloud because they were mature and their growth was mostly predictable and usually followed a 3-6 month sales cycle that would mean there was plenty of time to allocate hardware to scale when needed.
I have used AWS and Azure professionally, only played with Google. Right now AWS is the most mature, stable and well documented. We have only had 2 clients come off AWS out of about 25ish we put there. We have had 4 out of the 5 leave Azure. That speaks volumes to me, one is maybe we suck at Azure, but I really feel it is more that Azure just hasn't matured far enough along.
I am sure plenty of people have had good experiences in Azure and Google, but to me it requires more time and resources to manage and resolve issues because both are less mature. AWS takes a little time to understand but it just works, and if you follow their recommendations you will rarely have any major issues. It isn't that things don't fail in AWS, because they do, but if you follow the basic design principles you won't have major issues from them. While in theory this is true with Google and Azure I just haven't seen them be as stable or mature, but I am sure that will change. Personally if I was re-evaluating today, I would look harder at Google since I haven't used it in production yet, but Azure wouldn't even be in the conversation right now.
As for what to consider, AWS can get expensive so you have to manage it properly and closely. Setup weekly cost reporting so you can see how you are trending and properly use a CDN where possible to reduce bandwidth charges etc. Also, properly select your storage in EC2 to make sure you aren't paying for unused space needlessly, same with CPU. AWS has some tools to help show you where you might be wasting dollars which helps too. All this really applies to all cloud environments too, not just AWS.
Features AWS wins hands down, but remember if you build your product depending on their services you have created a solution that is not extremely mobile without some code changes. Specifically this mostly happens with services like DynamoDB, SQS, not necessarily EC2 or RDS.
Support, AWS has rocked every time I have had to use them. Azure was also responsive but honestly seemed just as lost as we were sometimes, which didn't inspire confidence for me.