In a previous article, we went through an introduction to Cloud Computing and defined what a “cloud” is, its characteristics, and also deployment models. In that article, we mentioned that the initial reaction of enterprises to the concept of the cloud was that of fear; however, what we see now is that the cloud computing adoption rate is rising and projected to keep rising with many organizations even adopting a “Cloud First” policy! Beyond that, many organizations are now using multiple cloud service providers, something known as Multi-Cloud.
In this article, we will discuss the Multi-Cloud strategy and look into why organizations are considering this approach, the challenges with such an approach and some of the tools that can help in the successful implementation of such a strategy.
What is Multi-Cloud?
While there are varying definitions for “Multi-Cloud”, the most common definition is that Multi-Cloud is an approach that involves using multiple cloud services from two or more cloud service providers. These cloud services could be private, public or hybrid clouds as long as they are provided by multiple cloud service providers. For example, a company may be using both Amazon AWS and Microsoft Azure in different capacities and this will qualify as a Multi-Cloud environment.
Note: Multi-cloud is mostly used in relation to multiple public clouds; however, the definition has been expanded to cover all types of cloud deployment models.
Having been introduced to this concept of Multi-Cloud, the next question you will probably ask yourself is, “Why will a company decide to have a Multi-Cloud environment?” There are a couple of reasons actually and we will consider them in this section.
High Availability and Redundancy
The goal of resiliency is to make sure that you can quickly recover from difficulties. One way to make services more resilient is redundancy or high availability such that multiple servers provide access to the same service and if one server fails, the other servers can still provide access to the same service.
This same concept applies to the cloud: by using multiple cloud services from multiple service providers, an organization increases the chances of its services being available to its users. And yes, cloud service providers experience issues from time to time like this AWS incident and this Google Compute incident that affected Spotify and Snapchat.
I should note here that most cloud service offerings are actually highly redundant and provide quick failover in the case of a failure. For example, both AWS and Azure (and probably other cloud providers) have this concept of “Regions” and “Availability zones” where they try to keep services in different regions separate so that the issues affecting one region does not affect other regions. However, even with this level of high availability, there have been instances where the problems in one region went ahead to affect other regions. A recent example is cooling issues that affected the Microsoft Azure South Central US region which also caused some global services to be affected.
Flexibility and Choice
The fact is that there is no cloud service provider that does all things well; they will usually have areas of strength. For example, Microsoft Azure may be better suited for business productivity tools while Google Compute can handle analytics better than others. Here is a comparison chart of the different cloud service providers (summary table on page 7).
With the Multi-Cloud environment, an organization can “pick and choose” services from the different cloud service providers to meet their needs and get the best value and service offering.
An organization may have to go for a Multi-Cloud strategy as a requirement for legal compliance. For example, there are some laws around where you can store and process certain types of data (e.g. health records). If the organization’s preferred cloud service provider is not operating in the region where the laws apply, they may have to consider another service provider.
Improved service delivery
No matter how good a customer’s Internet service is, it is still faster to provide access to a service from a server located in that customer’s country (or continent) than going all the way across the world and back. For example, I know that I now have better access to Google services here in Nigeria than before because Google now has cache servers in the region.
In the same way, an organization may use a Multi-Cloud approach to deliver better service to their customers, for example, using a cloud service provider closer to the region of a subset of their customers.
Other reasons to consider a Multi-Cloud environment include getting the best bargain/price, avoiding Vendor Lock-in, and so on.
Why not to Multi-Cloud
In the previous section, we considered some benefits of using a Multi-Cloud approach. However, there are also some disadvantages or challenges to be aware of with such a strategy including:
- Increased complexity since the organization will need to manage not just multiple cloud services but also multiple cloud service providers. This also means that there will be an increased burden on the IT team to understand the different service provider platforms and manage them successfully.
- With increased complexity comes a greater security attack surface. Of course, one may argue that you get better security in a Multi-Cloud environment since an attack against one provider will probably not affect other providers. However, this can also mean that the IT team will be fighting attacks from multiple fronts instead of one.
- Communication between cloud services in multiple clouds may be a challenge. Not only may there be associated costs with data transfer in/out of a cloud service, how will the organization handle the possible latency in the communication between services hosted by different providers? One consideration will be to host all parts of a service with the same provider but this may defeat one of the purposes of a Multi-Cloud environment which is flexibility.
Multi-Cloud vs. Hybrid Cloud
Multi-Cloud? Hybrid cloud? What’s the difference? Well, hybrid cloud refers to a deployment model where an organization has both a private cloud (usually on-premise) and public cloud with interaction/communication between these clouds.
On the other hand, as already discussed, Multi-Cloud refers to cloud services from multiple cloud service providers. While the cloud services are usually public clouds, multi-clouds could also include private and hybrid clouds.
There are several tools to help with Multi-Cloud deployments, each offering different capabilities including service management, monitoring and visibility, automation, migration, and so on. Examples include:
- BMC Multi-Cloud Management
- RightScale Multi-Cloud Platform
- ThousandEyes Network Intelligence
- Cisco CloudCenter
There are also some technologies used to provide cloud interoperability and portability (e.g. help ease migration and integration between various cloud deployments) including Container technology, Open APIs, and so on.
Multi-Cloud seems to be the next evolution to Cloud Computing and as we have seen, it offers some really interesting benefits like improved redundancy, flexibility, and vendor lock-in prevention, benefits organizations are already enjoying and used to in their in-house technology solutions. However, we have also discussed some issues with this strategy especially from an increased complexity point of view.
Some tools like BMC Multi-Cloud Management can make venturing into Multi-Cloud deployment easier while others like ThousandEyes Network Intelligence provide increased monitoring and visibility into Multi-Cloud environments.
How many of you reading this are using a multi-cloud strategy in your organization? If you are, share your experience with us – comment section is just below!