Digital transformation has been accelerated by the advent of public cloud providers like AWS, GCP and Azure. Companies are leveraging this technology by migrating legacy application from on-premise data centers to public cloud and are developing new software solutions using a cloud-native principles. Next to established cloud architectures like private, public and hybrid-cloud some companies are also looking forward multi-cloud solutions, which is the use of multiple public cloud providers at once. In this post we want to help you decide if and why should your company develop a multi-cloud strategy by looking at the driving factors behind multi-cloud and how this technology can solve problems that the other approaches cannot.
What are the drivers behind multi-cloud?
Data sovereignty refers to processes and technologies used to implement adherence to certain laws, regulations and policies pertaining to users' and company data, the physical location and access regulations. A multi-cloud approach provides companies with the choice and flexibility to locate data according to constraints like physical location and cloud provider, without the need to migrate all applications and infrastructure.
Using just a one cloud provider is a vendor lock-in situation, where companies rely exclusively for cloud services provided by single party. While this has some advantages like simplifying deployment procedures, cost benefits and less staff training, it also means that companies cannot quickly switch to using another provider in situations where cost increases, services become unavailable or that there is just a better offering elsewhere. A multi-cloud architecture gives you the flexibility to move all or some of the IT to another provider without being locked into all or nothing situation.
Redundancy and fail-over
Designing application and data models which are stable and redundant is inherently difficult. Still, it is imperative that companies are able to handle public cloud outages by implementing measures like backup, disaster recovery, and fail-over on the public cloud. While all major providers utilize the concept of regions and availability zones, catastrophic public cloud outages are not unseen. Using a multi-cloud architecture provides one more layer of protection for such a failure and should be used in mission critical applications to protect against outage of the whole cloud provider or multiple zones and regions.
Using best-of-breed services
Not all public cloud services are made equal. Some are cheaper, scale better, have more features, or have limited or non-existent availability on competing providers. To leverage those best-of-breed services which are spread between multiple clouds, you need a multi-cloud architecture which allows your application to connect to those services regardless of there your application is hosted.
Should you and how to create a winning multi-cloud strategy?
If your company has encountered or planning for the problems of data protection, vendor lock-in, redundancy and flexibility to use best-of-breed services, then it is clear you will benefit of a multi-cloud approach, where IT environments are designed and implemented with the flexibility to leverage multiple clouds in an integrated and coherent architecture. Here are some aspects to look for when implementing multi-cloud in your organisation.
Automating the multi-cloud environment creation is needed to make sure you can recreate the whole IT infrastructure in a repeatable and reliable way.
CI/CD automates the deployment of running application and data within an IT environment. The CI/CD pipeline must be designed to target multiple cloud providers which requires some abstraction or standardization of the cloud services within the host environment. There are some trade-offs to be considered when using special services.
User and data policy management
You will need a user and policy management system which will be able to enforce policies beyond the boundaries of one cloud provider.
Connectivity and integration
Design a tighter integration between providers by providing direct connectivity and routes. In a multi-cloud model, your applications and data will be distributed and will require some level of interconnect in order to work seamlessly together.
Backup and recovery
Make sure all data is backed up and you have recovery strategy which will enable you to bootstrap a completely functioning environment and deploy applications and data automatically. Using CI/CD and environment automation will be absolutely required next to securing your live data.
Not every application is designed to live in a multi-cloud environment. Especially monolithic legacy apps are very hard to migrate to public cloud, so some level or redesign might be needed to be able to make the move. A good strategy is to start with brand new applications which are design with cloud-native principles first and gradually migrate older applications. Utilizing a hybrid cloud and multi-cloud can help you do this gradually without disrupting established operations.