The difference in building across clouds!

An Unbiased Opinion of ALL Public Cloud Vendors

If I start to repeat myself in day to day I like to come here to write up the result, partly to vent from the frustration of repeating myself but also to redirect and teach others. As an engineer there is a need to "solve a problem" for good and that is what has driven this post.

If I have said it once, I have screamed it a thousand times. There are many key differences between the big three (four?) cloud providers when it comes to the DevOps Lifecycle. Through out my career at Cloudreach I have witnessed many clients with different motivations all wanting to migrate to the cloud, in some cases migrating between clouds as the original choice did not serve it's purpose.

Which Cloud is the Best?

The true answer is that none of them are the best, it all depends on the companies motivation, and much like selecting technology for your company to use, you need to have a look around firstly at the talent at your disposal, what are the engineers comfy with. There is a way to cheat this a little with automation discussed below.

I have seen too many articles (that I wonder if they were paid for on some level) saying "Their" Cloud is the best and another cloud is rubbish. Many of these I feel stem from a lack of understanding with working with the Cloud platform for a prolonged period.

Azure

I am known as a "Microsoft Hater" and I have my reasons (maybe I will go in to in a Future blog) and it is true that I do not think the most of the company. However, I will admit that for companies that are looking to move directly out of a data centre without changing much, Azure is the way forward. It can provide a fast exit while allowing Information Technology departments to maintain their old policies as you can create a Data centre in the Cloud. This should not be confused with "going cloud" where an enterprise will adopt the antive principles of Cloud Technology and even embrace the chaos of virtual workloads, in Azure, there technology stack is not so good... plus all the security issues that have happened in recent years. CosmoDB anyone? 

AWS

AWS is the all-rounder, they were on of the first to appear having taken the Open Stack framework and run with it, they were the first to market and have had to build with raw elements to cope with new and varied workflows as enterprise discovered how they would adopt the Cloud. Because of this the amount of tooling available from AWS is enormous. Each element catering for a different tool set and circumstance as they push cloud native strategies that force their users to break the mould. Of course with this comes a lot of configuration to main and run your account at peak, a lot of companies and users can get annoyed at this as it can be hard to write the automation to provision all of these services and it will be time consuming for a team to manually implement, especially when you bring things like AWS Orgs into the picture for good practice and security. 

AliBaba... effectively AWS

AliBaba is effectively a rip off of AWS but with less services, should you need to operate in China, I would suggest using this provider as they are already set up behind the great firewall. Their toolkit is essentially the same as AWS, to the point I would wonder if they ripped the code from inside AWS some how to market as their own. Even some of the documentation bares a similar feel with interesting translations.

Either way, it is a public Cloud platform and has its own pros and cons like any other platform.

GCP

GCP is probably the newest for the classical offerings of Cloud, if you don't count the years it spent offering GAPS (Google Applications Service). And with that it has been created differently which gives an interesting twist to the classic check list.

I have found that much like working with the Go programming language, using GCP is very much "Do it the Go/Google/GCP way or pick another platform". This can be great as there can often be less to configure for the setup and a small business can achieve maximum efficiency and security pretty simply with the recommended defaults. However, this sadly falls down when an obscure workload that Google has not found before is required, there just isn't the level of customisability as a more mature platform such as AWS.

Short Verdict 

As you can see that no Cloud is actually the best, like most tools, it depends on what you are doing with it which will mandate what you choose to use! 



Automation

Cloud providers typically offer a native infrastructure as code language that exclusively supports the deployment of resources to their cloud platform. For AWS, that offering is a service called AWS CloudFormation. There are other tools on the market, some of which are sometimes described as “cloud agnostic” due to their ability to support the deployment to multiple cloud providers, which we will discuss in further detail later.

However, if you are looking to provision services on multiple cloud platforms, Terraform is your go-to option. While Terraform supports all cloud vendors like AWS, GCP, Azure, and many others, CloudFormation is confined only to AWS. So, in case your environment involves multiple cloud deployments, Cloudformation is not for you. Suppose you are using AWS resources like EC2, S3, etc., you are best advised to stick to Cloudformation or the platform equivalent. 

Wrap Up!

Cloud Computing has revolutionised the world of DevOps. It is not just a buzzword anymore; it is here and it is here to change the way we develop and maintain our applications. There are very few companies who are not using Cloud Technology as part of their set up to speed up their delivery cadence.

In future posts we will explore the different automations of each of these Clouds and see if we can unite them!