As organizations continue to go all-in on cloud-first strategies, optimizing their cloud architectures is becoming a top priority. It’s estimated that investments in infrastructure to support cloud computing account for more than a third of all IT spending. Using multiple cloud providers with multiple cloud services requires an architecture that enables workflow portability, and organizations will need an unbiased, multi-cloud strategy to make that a reality.
What is multi-cloud?
Multi-cloud describes how enterprises use multiple cloud providers to meet different technical or business requirements. At its core, multi-cloud is made possible through cloud-native applications built from containers using services from different cloud providers. It allows for multiple services to be managed in one architecture. 85% of enterprises currently operate in multiple clouds, but just because an organization uses multiple cloud providers doesn’t necessarily mean they are multi-cloud.
Being dependent on one cloud provider can limit the flexibility of an organization and leave it susceptible to vendor lock-in. Workflow portability is one of the benefits of multi-cloud and it enables a seamless workflow, regardless of where you deploy.
In addition to workflow portability, there are several reasons why most businesses have adopted multi-cloud, and why more will continue to use this approach:
- Greater flexibility: Each cloud vendor shines in some areas and is weak in others. Using multiple vendors lets you use the right tool for the job.
- Better acquisitions: Whether an organization wants to grow through acquisitions (or be acquired itself), existing systems can work within another company’s infrastructure, even if both are using separate cloud providers.
- Increased resilience: Architecting failover between multiple cloud providers lets you stay up even if one of your vendors is down.
- Improved cloud negotiations: If another cloud vendor offers better terms or significant credits, businesses can have better leverage because their DevOps processes are not tied to vendor-specific services.
- Fewer conflicts of interest: With cloud service providers offering so many different services, you’re less likely to find yourself in conflict with customers competing in those same spaces.
A multi-cloud strategy allows organizations to use the tools and services that work best for the job, not just tools that work within their cloud environment.
Can cloud providers really support multi-cloud?
Cloud service providers continually compete with each other to provide more services to keep customers in their cloud. The more services you have with one CSP, the less likely you are to migrate those workloads. AWS offers 90 different services, as does GCP. In comparison, Microsoft lists over 160 services on its Azure product page and many of them are integrations with other Microsoft products. Cloud service providers want to have more of your business by making you more dependent on their specific services.
Even though most cloud providers claim to support multi-cloud, migrating workloads out of their cloud isn’t in their best interest. As cloud computing is a pay-per-use model, it seems unlikely that multi-cloud would be a goal for the large cloud providers.
Implementing CI/CD in the cloud
In the RightScale 2019 State of the Cloud Report, 33% of respondents mentioned implementing CI/CD in the cloud as a top cloud initiative. DevOps processes play a big role in multi-cloud deployments, so if organizations are wanting to build faster and deploy anywhere, CI/CD will be a key factor in that success. Multi-cloud is all about being cloud-agnostic, and your tools should also support that goal.
But what if your CI/CD comes from a cloud provider?
GitHub Actions and GitLab CI/CD
In 2018, GitHub announced Actions with CI-like functionality built into a single application offering. The industry has shown us in the past year that single application functionality is becoming a trend, and GitLab has been a part of that single application message since the beginning. Now that continuous integration has caught up with the importance of single application, we have to examine how both GitHub and GitLab fit into multi-cloud deployments.
In June 2018 Microsoft acquired GitHub, which really affirmed the importance of software developers and modern DevOps. Developer tools have a high capacity for driving cloud usage because once you have your application code hosted, the natural next step is finding a place to deploy it. From a strategic standpoint, this acquisition made a lot of sense for Microsoft because they could use GitHub’s popularity as a source code management tool as a springboard for greater Azure adoption.
When we talk about multi-cloud in the CI/CD conversation, cloud-agnosticism kind of goes out the window when it comes to GitHub Actions. GitHub’s ubiquity in the SCM market means that millions of developers are using that platform, and it’s those users that made GitHub such an appealing asset for Microsoft.
GitLab, in comparison, is cloud-independent. When organizations use GitLab CI/CD, there is no conflict of interest in using one cloud provider over another. Being truly cloud-agnostic means that GitLab provides a complete DevOps platform that allows teams to have the same productivity metrics, the same governance, regardless of what cloud you use.
“Choosing a cloud provider should depend on the company’s business objectives, it should not be constrained by technology, and GitLab wants to enable every one of our customers to have this freedom,” says Sid Silbrandij, co-founder and CEO at GitLab.
Multi-cloud should mean any cloud
Businesses want to choose cloud providers for their inherent value and use the services that best meet their needs. In turn, we should expect our DevOps processes to support multi-cloud objectives. Partnering with cloud-agnostic vendors provides a consistent workflow across all clouds, and CI/CD will play a big role in the multi-cloud future.
We’d love for you to watch our webcast Mastering your CI/CD so you can see for yourself how GitLab’s industry-leading CI/CD helps teams build, test, deploy, and monitor code on any cloud.