Choosing Between AWS, GCP, and Azure

May 30, 2017 by Armory

Cloud-providers will specialize over time; the big players such as Google Cloud Platform (GCP), Amazon Web Services (AWS), and Microsoft Azure will look for ways to differentiate themselves from the competition. The past two years has seen GCP and Azure roll out a slew of changes and services meant to catch up to the lead that AWS has had for years, and the end result is a competitive ecosystem of different services. This means that in the near future, companies will want to run workloads on the cloud platform best suited for each application’s need and the company’s deployments landscape may rely on multiple cloud-providers.

We think that moving to the cloud will become the second great digital migration (the first was when companies went digital by cutting reliance on paper), and we have previously covered why businesses should move to the cloud. For the companies that are already in the cloud, we’ve also covered why companies should keep multi-cloud deployments in mind.

To continue helping companies navigate this new cloud environment, we want to take a look into what the next five years may bring: a gradual specialization between cloud-providers as they attempt to differentiate and offer competitive services. For companies looking to adopt the cloud for its competitive edge it will become imperative to understand what differentiates between these cloud-services. We fully expect to see a trend for these services to begin offering specifications that are desirable for different applications to run on.

The motivation to diversifying your cloud-providers won’t be an external push from cloud-providers but an internal one from your deployment teams. Cloud-providers would love to tell you that their service is all you need but we’ve found that some workloads or pricing structures make sense for specific environments. As your teams evaluate services and realize that certain applications have specific environment requirements for efficiency or that some pricing structures don’t make sense for the workloads the organization is running, we believe you will find yourself negotiating contracts with multiple providers.

The choice of a cloud provider won’t become an “either/or” question, but “I have contracts with all these providers, now which one should I run this application on?”

So what will each cloud-provider be great for? There will be a lot of homework that needs to be done to answer that question especially given how quickly innovation has occurred.

As you start to determine the optimal mix of cloud-services for your organization’s needs, here are some insights to consider:

GCP:

Summary of Takeaways for GCP:

At the time of this writing, GCP has the smallest amount of data centers compared to the other two. There should be no problem latency-wise due to the impressive global network infrastructure that Google controls, but it’s possible your workload may desire a data-center in a specific region. GCP seems to offer the best service to providers who value flexibility of service or need to use technologies from Google such as Big Query, Big Table, or even artificial intelligence machine learning systems. Finally, GCP is extremely cost-efficient if you anticipate a sustained amount of usage but would like to not commit to an upfront cost.

Here is a link to GCP’s pricing.

Azure:

Microsoft offers a calculator to help you figure out the cost of their service.

Summary of Takeaways for Azure:

Optimization for general purposes seems to be the key here – Azure is performance and network optimized, giving you less specific selection but hoping to lure you in with a strong foundation of raw computing power. Combine that with Microsoft’s rapid scaling of data centers around the globe, it seems Azure would be great for any workload that wants low latency, a selection of global data centers to choose from, and non-specific VM settings. The pricing model is simple but hardly flexible: you commit or pay as you go, and discounts are only offered to those who pay upfront.

AWS:

Here is a link to the costs of AWS EC2 Instances.

Summary of Takeaways for AWS:

The complex pricing models can be overwhelming; AWS is making you choose between convenience, flexibility, and cost-efficiency with their pricing models thereby forcing you to plan accordingly (contrary to how GCP allows you to dive in without planning). However, being the market leader and having a large suite of VM families in addition to a veritable arsenal of services that play in the cloud-deployment space, Amazon still has a competitive edge. The biggest item of note is the amount of servers that AWS has on a global-level.

Other Important Things to Note:

As you begin to diversify your cloud dependency your tools will need to change accordingly; deploying to multiple clouds will be a different process to oversee and some existing tools were not built to do so without arduous additions of glue-code. Ensuring the standardization of your teams’ deployments is a best practice for achieving developer efficiency. There are many deployment tools out there to make this easier for your engineering teams, but we recommend using Spinnaker. It is a one-size-fits-all deployment tool to orchestrate all the deployments on one standardized platform, and is already used by big companies like Netflix and Waze for their multi-cloud deployments.

Learn More

Share this post:

Recently Published Posts

How to Become a Site Reliability Engineer (SRE)

Jun 6, 2023

A site reliability engineer (SRE) bridges the gap between IT operations and software development. They understand coding and the overall task of keeping the system operating.  The SRE role originated to give software developers input into how teams deploy and maintain software and to improve it to increase reliability and performance. Before SREs, the software […]

Read more

Continuous Deployment KPIs

May 31, 2023

Key SDLC Performance Metrics for Engineering Leaders Engineering leaders must have an effective system in place to measure their team’s performance and ensure that they are meeting their goals. One way to do this is by monitoring Continuous Deployment Key Performance Indicators (KPIs).  CD and Automated Tests If you’re not aware, Continuous Deployment, or CD, […]

Read more

What Are the Pros and Cons of Rolling Deployments?

May 26, 2023

Rolling deployments use a software release strategy that delivers new versions of an application in phases to minimize downtime. Anyone who has lived through a failed update knows how painful it can be. If a comprehensive update fails, there are hours of downtime while it is rolled back. Even if the deployment happens after hours, […]

Read more