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:


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.


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.


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

Lambda Deployment is now supported by Armory CD-as-a-Service

Nov 28, 2023

Armory simplifies serverless deployment: Armory Continuous Deployment-as-a-Service extends its robust deployment capabilities to AWS Lambda.

Read more

New Feature: Trigger Nodes and Source Context

Sep 29, 2023

The Power of Graphs for Ingesting and Acting on Complex Orchestration Logic We’ve been having deep conversations with customers and peer thought leaders about the challenges presented by executing multi-environment continuous deployment, and have developed an appreciation for the power of using visual tools such as directed acyclic graphs (DAG) to understand and share the […]

Read more

Continuous Deployments meet Continuous Communication

Sep 7, 2023

Automation and the SDLC Automating the software development life cycle has been one of the highest priorities for teams since development became a profession. We know that automation can cut down on burnout and increase efficiency, giving back time to ourselves and our teams to dig in and bust out innovative ideas. If it’s not […]

Read more