The Cloud Agnostic Paradigm
A holistic discussion of the unique value propositions of the current cloud offerings across AWS, Azure, and Terraform for rapid deployment of cloud infrastructure in their given product suites.
This article will be a holistic discussion of the unique value propositions of the current cloud offerings across AWS, Azure, and Terraform for rapid deployment of cloud infrastructure in their given product suites.
Azure Resource Manager (ARM) and AWS CloudFormation are both highly regarded, heavily used tools on their individual cloud providers. We will provide a snapshot in time in comparison of these tools and product development around them with Hashicorp Terraform and its roadmap.
For further discussion or questions, please join our Slack group and chat with the team and other passionate DevOps community members.
Cloud-Native vs. Cloud Agnostic
As I discussed in my first article ever, choosing the right cloud provider is incredibly important. Just as important as initial consideration for vendors is understanding vendor lock-in. The deeper in a Cloud-Native ecosystem you get, the harder it is to move. This is baked into the AWS and Azure ecosystem as a portion of their pricing, and explains why they are so willing to extend early-stage startups credits in order to facilitate getting you stuck on their Cloud.
Terraform provides less ease of use relative to AWS, but additional functionality because it is Cloud Agnostic. Cloud Agnostic refers to the negative paradigm of avoiding vendor lock-in. Cloud Agnosticism can be measured by the potential interoperability of an infrastructure deployment with future infrastructure deployments.
For a robust understanding of what Cloud-Native is, please see this article from SDXCentral.
Usability vs. Vendor Lock-In
Usability, which, for the purposes of the article, should be thought of as the compounding of ease of use and functionality, vs. Vendor Lock-In, will provide a good framework for evaluating the three major cloud infrastructure rapid deployment solutions.
You’ll notice that ARM has less usability than AWS CloudFormation. There are 2 reasons for this. First, ease of use is currently lower on ARM than CloudFormation. Even with the advent of Microsoft bicep, the product offering is still behind in comparison to CloudFormation. Amazon’s lead in providing cloud services gives Microsoft room to run, but for now AWS still remains easier to use. As far as functionality goes, cloud’s main use is potentiated via web services, it’s fair to say that the total number and quality of web services AWS delivers today far outsizes Microsoft Azure. Today, AWS has around 2:1 (32%:19%) market dominance of cloud service providing in comparison to Microsoft. This further obfuscates confusion in publically available financials around how Microsoft’s cloud business is accounted for (with other cloud product offerings such as Office365).
HashiCorp's Terraform was designed as a Cloud Agnostic solution. It has way higher potential functionality than either the AWS native or Azure native solutions overall. The reason it has higher functionality is that Terraform’s provider architecture wraps various cloud providers, allowing an organization to wrap multiple clouds into one service. However, Terraform for small and medium businesses, as discussed in our Terraform Tooling article, is currently marred by an immature ecosystem of product offerings. At InfraCode, we’re trying to fix that. More to come very soon.
Both ARM and AWS CloudFormation heavily lock you into their Cloud-Native environments because instead of relying on a Cloud-Agnostic tool, you’re relying on their specific proprietary offerings. Microsoft and Amazon (as well as Google’s) ability to make money over time relies on you, the user, relying heavily on their product suite such that they will charge you more money for the functionality their suite offers. Their ability to get you stuck on their product offering portends their monopolistic price differentiation in their specific web offerings.
While Terraform offers huge amounts of functionality across both cloud-providers, they score lower in usability overall because ease of use is currently complex for Terraform. The problem is, getting unstuck from a cloud service provider is expensive. Hopefully, something is done very soon to make Cloud-Agnostic possible for businesses at a much earlier stage.
To learn more about InfraCode and the work we are doing, please either visit our website at: https://www.infrastructurecode.io or join and participate in our Slack channel, also mentioned at the top of the article.