In our last post on the topic, we compared Cloud Native and Cloud Agnostic approaches in a hybrid cloud strategy. Our conclusion was that Cloud Agnostic is inevitable if you want to protect your business from vendor lock-in or a catastrophic platform failure from your Cloud Service Provider (CSP).
The vendor lock-in quandary
In the 80s and 90s, vendor lock-in became a major issue when a few companies like Microsoft, IBM, etc, dominated the market. Enterprises could not switch to a different provider without losing critical functions and features. The rise of free/open source software mitigated the vendor lock-in plague.
Unfortunately, with the advent of cloud technology and cloud platforms with specialized tools and features, vendor lock-in is quickly resurging as a threat to the stability of businesses. Enterprises find it easier to build cloud-native applications for these specialized tools and features than to build Cloud Agnostic applications from scratch. They are willing to sacrifice flexibility, scalability, and long-term survivability for speed.
It’s important for larger organizations to ask themselves “Do we see ourselves being limited to just one public cloud in the future?” Without a doubt, the answer will always be “No.” But they still end up relying on cloud-native keystores, CI/CD pipelines, and container services. They need to leverage toolchains that can work in public and private clouds, integrate across multiple cloud platforms, and even function on-prem.
Even today, cloud service providers like Microsoft or AWS can push customers to go completely Cloud Native in their DevOps tooling, even though there are several Cloud Agnostic alternatives on the market. In this article, we’re taking a look at Azure toolchains and comparing them with some cloud independent alternatives to get an idea of what your options are if you’d like to avoid vendor lock-in.
Azure DevOps vs GitLab
Azure DevOps and GitLab are currently two of the leading DevOps tools in the market. They both help automate the software development life cycle and enable continuous integration and continuous deployment (CI/CD) pipelines. They both offer similar functionalities, including planning tools, source code management, and CI/CD integration.
Azure DevOps is built to be native to Microsoft Azure, pushing users to be completely reliant on Microsoft services, whereas GitLab is a cloud-agnostic SaaS hosted solution for CI/CD pipelines. GitLab also offers an open-source, self-hosted tool that can be integrated with AWS and Google Cloud environments if required. In this way, GitLab prioritizes cross-platform support over lock-in.
Azure DevOps appears to be cheaper on the surface, but it has several hidden costs in terms of requiring integration with several other partner tools to provide a complete set of features to users. GitLab, on the other hand, offers a free version to new users and also comes with complete, in-built feature sets. Critical functionalities from GitLab not found in Azure include secret management, project schemes, application security scanning, and an integrated development environment (IDE) that can be accessed from the browser.
Azure Keyvault vs HashiCorp Vault
Azure Keyvault is a Cloud Native service for securely storing and accessing secrets in the cloud, whereas HashiCorp Vault is a vendor-neutral centralized security solution, offering secret management, encryption, and database protection services to users across on-prem and cloud platforms.
Azure Keyvault has been touted as being easier to set up and administer through Azure as well as having better round-the-clock product support. Hashicorp Vault is preferred for its ease of use, its ability to support integration with several platforms and broker identities across these platforms, and its centralized system. Another major difference between the two is cost: Azure Keyvault offers a variety of pricing options depending on the service offered, but can be expensive. HashiCorp Vault has an open-source offering that is free and community supported, with additional pricing options for cloud services and premium support services.
Azure Storage vs Portworx
Azure Storage is a set of products that offer customers secure and scalable cloud storage for their apps, data, and workloads. Portworx calls itself an “end-to-end storage and data management solution for all your Kubernetes projects” and is also a cloud storage platform.
Azure Storage allows customers to securely store large amounts of unstructured data on the cloud through several products, including Azure Disk Storage, Azure Blob Storage, and Azure Files, to name a few. Azure Storage is also quite cost-effective and requires customers to only pay for data used. Portworx also offers cloud-native persistent storage solutions, but unlike Azure Storage, it is not limited to a single platform. Portworx’s offerings include Containers as a Service (CaaS), Software as a Service (SaaS), Database as a Service (DbaaS), and Disaster Recovery services. Portworx enables customers to seamlessly deploy and migrate containerized applications across multiple cloud and on-prem environments, protecting them from vendor lock-in.
Azure Container services vs Mirantis / D2iQ / Openshift / Rancher etc
Azure Container services include several Azure-native CI/CD tools for migrating your entire application development lifecycle to containers, which are then orchestrated and managed by Azure Kubernetes Services (AKS). While convenient, Azure Container services limit customers to developing their applications for a single platform, leading to potential vendor lock-in. There are several alternative container services that enable DevOps workflows and allow customers to develop and deploy their applications to hybrid cloud, multi-cloud, and on-prem environments, protecting them from vendor lock-in.
Mirantis is the most popular Kubernetes IDE, giving customers a consistent cloud experience in any platform they use. Furthermore, Mirantis is open source and free to use. D2iQ Kubernetes Platform is another open-source platform that offers software lifecycle management services and runs Kubernetes on any infrastructure. Red Hat’s OpenShift is a Kubernetes container platform that automates the management of hybrid cloud, multi-cloud, and on-prem application deployment, either through its fully-managed cloud offering or its self-managed software offering for enterprises that need additional customization. Rancher is another open-source Kubernetes management platform that allows you to run Kubernetes anywhere, “from datacenter to cloud to edge.”
Enterprises can leverage Cloud Agnostic tools and platforms to ensure that their workflows and applications are secure, scalable, portable, flexible, and able to benefit from cutting edge open-source technology that can meet core business needs. While avoiding vendor lock-in is an attractive incentive, Cloud Agnostic toolchains may pose challenges in terms of managing and integrating these tools into existing platforms and organizational infrastructure. Navigating this challenge is essential, however, since the role of cloud platforms is slowly transforming from being the central hub of development and deployment to being just another part of the pipeline. And as open-source, independent vendors continue to release more up-to-date cloud-agnostic SaaS tools, this change will become more apparent.