The time has come for me to choose which cloud platform I am going to develop on. I have played around with all three of the heavy weights:
Microsoft’s Azure, Amazon AWS, and the Google Cloud Platform. All three of these cloud platforms offer slightly different services and each seems to have their pluses and minuses. It is almost impossible to come up with an apples to apples comparison, but I am going to have to make a choice, so…
Amazon’s cloud computing offering is the most mature and the biggest dog on the block. AWS has been around since 2002 but relaunched in 2006 combining the three initial service offerings of Amazon S3 cloud storage, SQS, and EC2. From my admittedly less than scientific research Amazon AWS does not seem to be the most cost effective solution. This is obviously more important to me than it might be to big organizations. AWS does seem to be the leader in market-share as well as number of offerings and number of data centers.
If I were working for a big company and wanted to make sure that I kept my job, I would chose AWS. Their pricing is competitive ( and for the biggest installations maybe even cheaper ) and the services are rock solid and mature. However I am just an independent developer trying to get the most bang for the buck.
Another huge plus for AWS is that they offer server-side encryption for S3. Additionally they also offer the most cloud based services but this is less important to me.
Microsoft Azure is a cloud computing service created by Microsoft for deploying applications and services through a global network of Microsoft-managed data centers. Say what you want about Microsoft but they have been making some interesting products lately, they have embraced Linux, and have worked hard to make Python on Windows easy as installing any other program.
Microsoft’s cloud platform is a strong offering. They offer hundreds of integrated services on Azure including storage and backups, virtual machines, databases, and more importantly for me: services for mobile and web apps.
If I were developing applications for Windows 10 Azure would be a no-brainer choice. Obviously that’s not all you can do on the platform, but the Azure Active Directory is fantastic if you do have allot of Windows PC’s to manage. Azure can also be used with standards-based technologies as well as proprietary Microsoft solutions.
The Google Cloud
First, a bit of a disclaimer: I have always been a Google fan boy. I distinctly remember when I first used Google and realized that Infoseek, AltaVista, et all, were doomed… While I freely admit that Google has it’s own privacy related issues, I remain a fan. I use Gmail, feel lucky often, and write in Google Docs. But I digress…
Google’s cloud computing is the newest of the three and runs on the same infrastructure as their search, gmail, docs, etc. While their cloud computing platform is not as mature as AWS, in my testing their CLI tools and service API are more usable. Another thing in Google’s favor is that they love Python almost as much as I do. While you can also use Python on the other platforms, there are ( very good ) Python specific tutorials for using the Google Cloud to build Python apps. AWS is billed by the hour, while Google Cloud uses the Pay per use (billed by the minute).
Hopefully I will be working with big data, and nobody does big data as well as Google. Google’s BigQuery alone sets Google apart from the other offerings on this point.
There are many many other cloud platforms like IBM Bluemix, Oracle Cloud; and smaller offerings such as Linode and Heroku. However I will be using one of the big three for a number of reasons. Doing this research and post has me leaning towards Google’s Cloud Platform but my mind is not completely made up. Us the comments below to convince me your favorite cloud platform is better.