What is multicloud?
Multicloud describes how enterprises use multiple cloud providers to meet different technical or business requirements. At its core, multicloud is made possible through cloud native applications built from containers using services from different cloud providers, and allows for multiple services to be managed in one architecture. All told, 85% of enterprises currently operate in multiple clouds, but just because an organization uses multiple cloud providers doesn’t necessarily mean they are multicloud.
Benefits of multicloud
While working in one cloud exclusively is not necessarily a hindrance, having multicloud capabilities can give organizations some distinct benefits:
For all of the flexibility multicloud offers, it can present challenges both in adoption and in practice:
- Security concerns: The complexity of a multicloud environment can introduce potential vulnerabilities and increase risk if not managed diligently.
- Difficult to achieve: Workload portability has been compared to a pipe dream (at worst) and highly difficult (at best).
- Data governance and compliance: With multiple clouds and data centers in different geographic locations, it can be very easy to run an application in an unapproved environment.
Even though an organization may be using multiple cloud providers, that does not imply that an organization is multicloud. If each team is dependent on one cloud, then each is operating in a mono-cloud environment. The ability for information to move between clouds is what separates multicloud from multi-provider, with portability and interoperability key factors. As teams work through the multicloud maturity model, they increase portability by insulating cloud services from underlying infrastructure like processors, operating system and virtualization software, through layers of abstraction.
All applications are in one cloud. With this strategy, a company goes “all-in” with one cloud provider for the ease of use, or because the services offered meet current business needs. The organization is locked in.
There may be separate teams within the same organization, and each are working out of different cloud providers, but each team is working in its own mono-cloud environment. This structure uses multiple clouds but is not technically multicloud.
Workflow portability is what makes deploying anywhere possible. Instead of having to tailor certain workflows to certain clouds, developers can have one workflow with cloud-independent DevOps processes and frameworks for making deployment decisions.
The ability to move apps/data to any cloud is an aspiration for many IT teams. This can also apply to organizations that want to move applications back and forth from Private to Public clouds. In this scenario, applications can run on any cloud, and cloud-specific services are abstracted. Application portability is hard to attain because it requires engineering interfaces as abstractions. It also leaves organizations using only the features that are common to all clouds so they miss out on any specialty capabilities that could improve their processes.
Disaster Recovery Portability
In this scenario, applications can fail over to another cloud with limited downtime. Even if you are not managing architecture in-house, that doesn’t mean that your applications aren’t running somewhere. If a cloud provider’s data center should go down, organizations have the ability to switch to another provider.
The goal of workload portability is for organizations to shift application workloads between multiple clouds dynamically (for example: autoscaling servers for background jobs). Workload portability makes it possible to migrate elements of a business service, such as an instance of an application, OS, and data, to the appropriate infrastructure so that it can service the needs of the user.
Data portability is a feature that lets users take their data from a service and transfer or “port” it elsewhere, typically through an API.
Here’s a list of resources on multicloud that we find to be particularly helpful in understanding multicloud and implementation. We would love to get your recommendations on books, blogs, videos, podcasts and other resources that tell a great multicloud story or offer valuable insight on the definition or implementation of the practice.
Please share your favorites with us by tweeting us @gitlab!