Multi-Clouds have been a widely discussed topic among CIOs and IT managers of large corporations in the past years. The "State of the Cloud 2018" report states that 81% of companies follow a Multi-Cloud strategy. A couple of months later, the "State of DevOps 2018" report finds that 54% of companies already use multiple cloud providers today.
But first things first. Let's discuss, what a Multi-Cloud is, how a Multi-Cloud strategy is different from a Multi-Platform strategy and why companies even bother to implement Multi-Cloud in the first place.
What is Multi-Cloud?
A Multi-Cloud describes a cloud architecture where companies use multiple cloud computing services.
We like to compare Multi-Clouds to a flock of sheep. These sheep peacefully co-exist in freedom.
In contrast to an isolated sheep, locked in a cage, which is where companies may find themselves, if they choose to rely on a single cloud provider to take the responsibility for the entire IT infrastructure.
Dimensions Of Cloud Computing Offers
To understand the full extent of this concept, we'll explain how basic cloud infrastructure services can differ. There are different dimensions, based on which companies develop their Multi-Cloud strategies. Two of the main reasons to go for Multi-Cloud are 1) the fear of vendor lock-in to a single provider and 2) a best-of-breed approach that leverages the strengths of each cloud platform platform.
Different Cloud Vendors
Cloud services are offered by different providers. The most popular cloud providers are the so-called "hyperscalers" with Amazon's AWS leading the race, followed by Microsoft Azure and the Google Cloud Platform. These 3 have in common that they are public cloud providers offering a big variety of cloud services from multiple datacenters across the world to companies all over the globe. But there are private cloud vendors as well, like RedHat that provide open-source private cloud platforms such as OpenStack or OpenShift and has recently been acquired by IBM.
Different Cloud Operating Models
Depending on a company's resources and the amount of infrastructure control the company aims for, cloud computing services can be provided in different operating models. There are private or public clouds, depending on whether the datacenter is the company's property or a public datacenter used by multiple companies. There may be shared or dedicated environments within these clouds. For example a company can have a dedicated environment within a publicly available datacenter. Environments can be managed by a managed service provider or unmanaged, meaning that cloud operations are run by internal employees. This is not a full list of possbilities, there are further combinations and variations, which we will discuss in a future blog post.
Different Cloud Service Models
Within offers of different vendors and various operating models, there are different service models in which cloud computing resources are provided to their users. The most common one is "Infrastructure as a Service", defined as follows in O'REILLY's Security Handbook: "Infrastructure as a Service (IaaS) is a cloud computing service model where a provider delivers virtualized IT infrastructure resources over the internet". Another, very powerful service model is "Platform as a Service" (PaaS). Instead of provisioning individual infrastructure components like virtual machines, routers, storage, as done in IaaS, developers can directly deploy, manage and scale cloud-native applications to the cloud while the platform takes care of the underlying infrastructure. "Container as a Service" (CaaS) has gained in importance with the rise of Kubernetes. It allows users to orchestrate container clusters.
Different Cloud Platforms
Cloud platforms are specific implementations of cloud service models. OpenStack for example, is an open-source IaaS platform. There are managed OpenStack providers, but as it is open-source, OpenStack can be downloaded and run by the company in the company's datacenters with no external provider involved. At meshcloud, we call a specific OpenStack installation a platform instance. A company could run multiple OpenStack installations in different datacenters. EC2 is the OpenStack equivalent for virtual machines, provided by AWS. However, as EC2 is a proprietary technology it is only available in the AWS public cloud. Cloud Foundry is an open-source PaaS technology, Heroku the proprietary analog.
To avoid confusion:
Multi-Cloud vs. Multi-Platform
If you do Multi-Cloud, you also do Multi-Platform. However, there may be cases in which you do Multi-Platform within a single cloud environment. Let's take Google Cloud as an example. You can only use Google Cloud, which is considered Single-Cloud, but use multiple platforms within that environment, e.g. GKE, the Google Kubernetes Engine together with the Google Compute Engine. The terms are often used synonymously. The mixture of different platforms (provided by different vendors, run in different operating models) is what we mostly experience, when talking to our customers. A research report, published by the Cloud Foundry Foundation supports this observation.
Why You Should Care About Multi-Cloud
Once you work in a company of a certain size, you will eventually end up doing Multi-Cloud. Why? As soon as you ask yourself the question "Which Cloud Platform is the right choice for my company?" you will realize that there is no single platform that can solve all your needs. Different development teams have different service needs and preferences, different kinds of data underly different legal regulations, different clouds have different prices – there is a list of reasons why companies end up using Multi-Clouds.
So why not embrace Multi-Cloud right away, choose the best tools for each job, satisfy developers by providing their preferred services and preserve independence by freedom of choice a.k.a keep sheep happy.
The Upside of Multi-Cloud: A Flourishing Cloud-Native Ecosystem
With the world turning to Multi-Cloud or Multi-Platform approaches, there is another observation worth to discuss: There is an amazing innovative ecosystem evolving related to the Multi-Cloud world. It is marked by cooperation and openness, aiming for great technical solutions to challenges that enterprises face when running cloud-native applications at scale. Last year I took part in the Cloud Foundry Summit in Basel. And while I go to a lot of tech conferences throughout the year, this really was an impressive experience. Nowhere else, have I experienced such a spirit and ambition to develop innovative cloud products in collaboration of (often competing) enterprises, vendors or individual developers.
The Challenge of Multi-Cloud: Increasing Complexity and the Lack of Process Adoption
Of course, not everything about Multi-Clouds is great. Especially large enterprises, whose processes and capacity of change often reminds us of large tankers rather than the speedboat needed to keep up with the dynamics of the market, often face major challenges when moving to the cloud. In the worst case the result is a large investment to new technologies with no notable improvements, when it comes to software delivery performance or generally speaking, the development of innovative digital products. This happens if administrative processes are not adopted to the cloud-native world. If a developer has to wait for 2 weeks to provision a cloud account, because the process leads through multiple manual approval steps with different departments involved, the company does not leverage the benefits that cloud technologies are supposed to bring in the first place.
… but there where is a will there's a way
Thankfully, this doesn't mean that large enterprises, with complex processes and potentially strong regulations or compliance requirements cannot benefit from Multi-Clouds or cloud in general. Multi-Cloud-Management systems help companies to handle complexity, fulfill regulatory requirements and leverage the cloud to the fullest. Back to our sheep analogy, they are the shepherds taking care of the sheep. meshcloud integrates multiple cloud platforms to a self-service user interface and streamlines administrative workflows. Developers benefit from easy access to their prefered cloud-native technologies, while transparency is provided, in terms of access control, permissions or cost, to ensure the necessary amount of control.
Click here to learn more about meshcloud's Multi-Cloud Portal.