For example, your enterprise invests in expanding a cloud infrastructure. You've moved from bare-metal servers to virtualization-based workloads, and now you're evaluating public cloud options—not for everything, but to support a specific customer-facing application with highly variable use rates. After some research, you find the public cloud provider that has the right blend of service-level agreements (SLAs), security protocols, and uptime to host your custom application. You’re happy with your choice. But eventually, customers start asking for features that are only available through a different vendor’s proprietary app. Integrating these features into your custom app requires that you not only purchase the vendor’s app, but also host the app in that vendor’s proprietary public cloud—a solution that allows both apps to scale with demand.
You now have a multicloud.
Multicloud refers to the presence of more than 1 cloud deployment of the same type (public or private), sourced from different vendors. Hybrid cloud refers to the presence of multiple deployment types (public or private) with some form of integration or orchestration between them.
A multicloud approach could involve 2 public cloud environments or 2 private cloud environments. A hybrid cloud approach could involve a public cloud environment and a private cloud environment with infrastructure (facilitated by application programming interfaces, middleware, or containers) facilitating workload portability.
These cloud approaches are mutually exclusive: You can't have both, simultaneously because the clouds will either be interconnected (hybrid cloud), or not (multicloud). Having multiple cloud deployments, both public and private, is becoming more common across enterprises as they seek to improve security and performance through an expanded portfolio of environments.
Shadow IT is becoming a reality that contributes to multiclouds. Hardware or software deployed independently from the central IT team may become large enough to warrant more oversight. At that point, migrating the infrastructure and data to a preferred system (let’s pretend we’re talking about public clouds here) might be out of the question. That shadow IT deployment is simply aggregated as part of the enterprise’s existing clouds—thereby creating a multicloud.
You might find the perfect cloud solution for 1 aspect of your enterprise—a proprietary cloud fine-tuned for hosting a proprietary app, an affordable cloud perfect for archiving public records, a cloud that scales broadly for hosting systems with highly variable use rates—but no single cloud can do everything. (Or, rather, no single cloud can do everything well.)
To reduce poor response times for cloud users thousands of miles away from a company’s headquarters, some workloads could be hosted by regional cloud providers that operate closer to where the users are. This solution lets the enterprise maintain high availability and adhere to data sovereignty laws—protocols that subject data to the regulations of the country in which that data is located.
Multicloud environments help protect enterprises from outages. As a failover solution, multicloud allows enterprises to have an available, highly scalable backup for data, workflows, and systems if—or perhaps when, as Murphy's Law suggests—your primary cloud goes dark.
Cloud-native meets hybrid cloud
Multicloud is now a reality for many organizations, and it comes with challenges. But it’s also driven technological advancements for developer productivity. This guide is designed to map out high-level considerations to take advantage of these benefits for cloud-native development.
IT is becoming more dynamic, based on virtual infrastructure both on-premise and off. This introduces significant complexity around self-service, governance and compliance, resource management, financial controls, and capacity planning. Cloud management, automation, and enterprise resource planning (ERP) tools help maintain greater visibility and oversight across these disparate resources.
Automation has been used discretely within enterprises, with different tools used by different teams for individual management domains. But today’s automation technologies (like Red Hat® Ansible® Automation Platform) are capable of automating assets across environments. Adding modern automation capabilities to multicloud environments limits the environment’s complexity while enhancing workload security and performance for traditional and cloud-native applications.
Linux® containers give enterprises choices when it comes to public cloud vendors. Because containers package and isolate apps with their entire runtime environment, users can move the contained app between clouds while retaining full functionality. This gives enterprises the freedom to choose public cloud providers, based on universal standards (e.g. uptime, storage space, cost) instead of whether it will—or won’t—support your workload due to proprietary restrictions.
This portability is facilitated by microservices, an architectural approach to writing software where applications are broken down into their smallest components, independent from each other. Containers—which are Linux—just happen to be the ideal place to run microservice-based apps. Together, they can be the key to taking your apps to any cloud.
Multicloud helps enterprises avoid the pitfalls of single-vendor reliance. Spreading workloads across multiple cloud vendors gives enterprises flexibility to use (or stop using) a cloud whenever they want. There's nothing evil about having multiple clouds—in fact, it’s a good thing. And open source software magnifies that good. Our open hybrid cloud strategy, supported by our open source technologies brings a consistent foundation to any cloud deployment: public, private, hybrid, or multi.