This post continues our look at various core computing concepts by diving into the emerging paradigm known as multi-cloud computing. We describe what an enterprise multi-cloud strategy looks like and provide considerations for setting multi-cloud management and storage-related goals.
I recently also covered related topics including core SQL concepts and fundamentals of spatial databases.
What is Multi-Cloud Computing?
Multi-cloud computing definitions always tie back to the concepts of cloud computing in general, but with a twist. Cloud computing provides platforms and services through hosted computing resources for processing, storage, and networking.
When a solution spans multiple cloud providers, spreading its workload and data services across multiple cloud storage systems and infrastructures, that solution becomes a multi-cloud computing environment.
The end result? Multicloud computing avoids lock-in to any one vendor or hosted infrastructure while also maintaining a flexible, distributed approach to system design.
How do Public, Private, and Hybrid Clouds Fit In?
Multi-cloud computing can be built on public cloud infrastructures – those that share computing resources or infrastructure with other customers. Amazon Web Services and Google Cloud, for example, offer public cloud solutions that anyone with a credit card can use.
Private-cloud computing implements similar technical approaches (shared storage and compute) but is limited to internal users within a private company or workgroup.
Combining these two creates a hybrid-cloud computing environment – taking advantage of the benefits of public cloud scalability and private cloud security. Hybridization occurs when a solution relies on a combination of both public and private cloud services.
Multi-cloud computing can be any combination of two or more cloud environments.
Why Is a Multi-Cloud Strategy Needed?
Cloud computing introduced new challenges to enterprises that wanted to grow their capabilities. Carefully navigating these challenges is an essential part of any cloud strategy.
Multi-cloud strategies focus on three main areas:
Avoiding vendor lock-in – Multi-cloud strategies use multiple vendors to reduce lock-in as a financial and operational risk. Having the ability to move in the future is important but the more services you use by one vendor, the greater the liability if there are issues with the vendor.
Building resilience and stability – Multi-cloud strategies allow a product to have distributed computing capabilities that make products more stable for users. By using different cloud providers in different regions, it is possible to load balance and fail-over when one system fails.
Managing costs and optimizing resource use – Multi-cloud strategies benefit from being able to migrate services between different cloud providers to reduce costs. If a single cloud provider was being used, there would be no ability to move part of the workload to another system with different more favorable pricing.
“Moving to the cloud” is not a viable strategy if it locks you into a single vendor with no flexibility or bargaining power.
Multicloud Management Requirements
Complex multi-cloud scenarios require a very specific set of management tools to make them easy to use. Products that use these new architectures must have a control plane layer to manage all the cloud accounts and resources appropriately, without needing to write scripts and programs.
Multi-cloud management applications must know how to easily connect to different providers using common account access capabilities through a web interface. They must then be able to install and set up the product with minimal user interaction and, ideally, without configuration files.
Multi-cloud monitoring features need to show administrators a high-level view of all the systems being managed. Performance and resource utilization metrics need to easily accessed through a common graphical interface.
Scale & Resilience
Users must have access to different settings to easily adjust scalability options – nodes, memory, storage. The user should not have to manually go through all cloud services individually to change settings. Instead, the control plane should help push out changes automatically.
Administrators should design multi-cloud apps for responsiveness, adjusting automatically to provide additional compute and storage resources as needed. Likewise, when additional resources are no longer required, they should automatically “spin down”. This is especially important when managing cloud-related costs.
Built-in control systems must also know how to failover resources when primary clouds become unusable. Administrations should not have to monitor every cloud or every machine in a multi-cloud architecture to keep them running. The system should detect that a service is down and change to a new one while notifying administrators to investigate.
The best management layers will make it easy to migrate products by providing tools to optimally allocate resources between clouds. This is essential for avoiding vendor lock-in.
Who Provides Multi-Cloud Computing Platforms?
Primary cloud management platforms include Amazon Web Services, Google Cloud Platform, Microsoft and Azure. Any cloud application can be made to be multi-cloud if the developer builds in the management capabilities needed. Third-party companies also provide management layers for a variety of applications. Below are three specific areas that benefit greatly from multi-cloud support, though there are many more to consider.
Multi-cloud enterprise storage – Providing shared storage across many cloud services helps enterprises maintain data locality and redundancy, while also not relying on a single service option. Dell, and its partner Faction, provide enterprise multi-cloud storage environments that integrate with their other service offerings.
Security and identity management – Every cloud provider has a security layer to manage infrastructure and user privileges, but they can also provide authentication services for applications. Having a distributed approach is essential to system stability in single sign-on (SSO) and related services. For example, Microsoft Azure’s Active Directory has multi-cloud support allowing it to work along with Amazon Web Services identity management.
NoSQL databases – Multiple clouds make it possible to extend distributed databases from multiple nodes to multiple clusters using multiple clouds. Multi-cloud NoSQL databases benefit from this combination through multiple levels of redundancy, data locality, and more. Couchbase Cloud provides a multi-cloud control plane to allow seamless management of clusters and nodes across providers.
The Inevitability of Multi-Cloud Support
As systems become larger and more complex, multi-cloud adoption and support will continue to grow. Enterprises need a clear strategy to maintain security, manage costs, and distribute processing capabilities accordingly.
This is a good time to do a review of your current cloud deployments and how they serve your security, data management, and data storage requirements. The recent unfortunate fire at the OVH data center should be a warning and reminder to businesses that even mature facilities can fail – physical backups are simply not enough.