How does a multi-
Since multi-cloud is just a concept that refers to using multiple cloud platforms from more than one cloud service provider at the same time, the way it works is not significantly different from how public and private clouds work on their own.
Multi-cloud leverages virtualisation, containerisation, software-defined networking (SDN) and software-defined storage (SDS) technologies to divide physical resources, aggregated into pools, and allocate them to virtual machines (VMs) or containers. Dedicated management software is used to aggregate compute, network and storage resources, distributed across the data centre, and enable on-demand provisioning of virtualised resources through a self-service portal.
What differentiates multi-cloud from a single vendor model is an additional layer of abstraction provided by the application management software that runs on top of the existing clouds. This software treats each individual cloud platform as a resource provider and allows for deploying, integrating and managing Kubernetes, container and VM-native applications seamlessly across various clouds. This enables a substrate-agnostic approach to applications orchestration and results in time and cost savings usually spent on integration efforts.
Multi-cloud and hybrid cloud are two mutually exclusive terms that are often confused.
Multi-cloud simply refers to using multiple clouds from more than one cloud service provider at the same time. In this definition there are no assumptions about the cloud types being used. In turn, hybrid cloud is a cloud architecture that consists of at least one public cloud, at least one private cloud and the hybrid cloud manager (HCM).
Is every hybrid cloud a multi-cloud?
Is every multi-cloud a hybrid cloud?
No, it is not. Multi-cloud also refers to using multiple public clouds (e.g. Azure and GCP) or multiple private clouds (e.g. VMware and OpenStack) at the same time and this is not a hybrid cloud architecture.
The main benefit of the multi-cloud approach is better economics compared to using only one cloud platform at a time. Multi-cloud effectively combines the advantages brought by different cloud service providers, resulting in a number of benefits. Those include:
Long-term cost savings
In multi-cloud, workloads always run where it makes the most sense from an economical standpoint. This means organisations always pay as little as possible for the same amount of resources which results in long-term cost savings.
Using more than one cloud platform at a time provides greater flexibility as businesses can choose the right place to run their workloads based on specific use cases and detailed requirements.
Reduced vendor lock-in
Being attached to a single service provider results in vendor lock-in. Being attached to more than one increases independence.
Deploying applications across multiple availability zones, regions and clouds results in an increased redundancy, improved reliability and helps to meet service level agreement (SLA) goals.
Being able to deploy business applications across multiple cloud platforms and store copies of data in multiple locations facilitates implementing business continuity plans.
While the multi-cloud approach brings a number of benefits to organisations, implementing a multi-cloud also entails a number of challenges. These include:
Since various cloud platforms may use different application programming interfaces (APIs) and architectures, managing workloads in a multi-cloud model is challenging. Using applications management software that is substrate-agnostic helps to bypass those challenges, ensuring compatibility across various cloud providers.
With multi-cloud there is no longer a single cloud environment. There are at least two. This increases the complexity of the infrastructure and creates additional overhead for the cloud operations team. One way to deal with this is to leverage managed cloud services.
Greater attack surface
When using multiple cloud platforms at the same time, organisations are much more exposed to potential network attacks and security breaches. Using an operating system that provides the highest possible level of security as a basis for applications implementation helps to mitigate this threat.
Is multi-cloud right
The main reason behind multi-cloud existence is better economics compared to a single vendor model.
Consuming services from more than one service provider at the same time allows organisations to negotiate better prices and always place their workloads where it makes the most sense from an economical standpoint. In addition, integrating with hybrid cloud architecture enables them to host the majority of their workloads in a private cloud and only using highly-scalable public cloud resources during heavy load periods. Since private clouds prove to be more cost-effective when running workloads in the long term and at scale, this approach allows for maximum infrastructure cost optimisation and results in long-term cost savings.
Multi-cloud use cases
Among hundreds of possibilities, typical multi-cloud use cases include:
Optimising infrastructure costs
Always run your workloads where it makes the most sense from an economical standpoint. This may involve negotiating prices with leading public cloud providers or implementing a private cloud on-premises.
Running various types of workloads
Always use a cloud platform that is most suitable for your workloads. Workloads may be heterogeneous, including bare metal ones, VMs, containers, etc.
Implementing geo redundancy
Using various public clouds or a mix of public and private clouds helps to ensure application geo redundancy and meet bandwidth, and latency goals in all parts of the world.
Architecting disaster recovery
Using multiple cloud platforms is just another layer in designing your disaster recovery plan. Use more than one to ensure your business continues to function after an unexpected event.
Moving to the cloud incrementally
Migrating from one cloud platform to the other does not have to happen in a day. Move incrementally, while using both at the same time for a while.
Ensuring data sovereignty
Due to internal organisation’s regulations, confidential data might always have to be stored on-premises. Using the multi-cloud model enables you to ensure the sovereignty of your data while running other workloads in the public cloud.
Multicloud leverages existing infrastructure components with an additional layer of applications management software that provides workload orchestration capabilities. In principle, multi-cloud consists of the following components:
At least two different cloud platforms
These can be leading public clouds, local ones built to bypass the challenges of hyperscalers that organisations face in some parts of the world, private clouds, bare metal clouds or Kubernetes clusters.
Application management software
Enables deploying, integrating and managing Kubernetes, container and VM-native applications seamlessly across various cloud platforms.
When combined with the hybrid cloud architecture, multi-cloud can be also integrated with the HCM software to enable dynamic placement of the workloads depending on capacity and cost conditions.
How to build a multi-cloud
Building a multi-cloud usually entails a number of challenges:
These are just a few examples of questions organisations have to ask themselves at the beginning of their multi-cloud journey. Fortunately, there are tools that enable single-node private cloud installation for testing purposes or, in the case of more complex environments, platform integrators like Canonical offer consulting services for private cloud implementation. Those usually include existing workloads assessment, architecture guidance, TCO prediction, private cloud deployment, workloads migration and multi-cloud integration.
All you need for your multi-cloud
Canonical OpenStack is an enterprise cloud platform engineered for price-performance that serves as a cost-effective extension to hyperscale infrastructure.
Charmed Operators are small artefacts which package common maintenance functions, to turn Day 0 to Day 2 operations into repeatable and reliable code.