Hybrid cloud is an IT architecture that incorporates some degree of workload portability, orchestration, and management across 2 or more environments. Depending on whom you ask, those environments may need to include:
- At least 1 private cloud and at least 1 public cloud
- 2 or more private clouds
- 2 or more public clouds
- A bare-metal or virtual environment connected to at least 1 cloud—public or private
These varying requirements are an evolution from the earlier age of cloud computing, where the differences between public clouds and private clouds were easily defined by location and ownership. But today’s cloud types are far more complex, because location and ownership are abstract considerations. For example:
This is why it can be more helpful to define hybrid cloud computing by what it does. All hybrid clouds should:
- Connect multiple computers through a network.
- Consolidate IT resources.
- Scale out and quickly provision new resources.
- Be able to move workloads between environments.
- Incorporate a single, unified management tool.
- Orchestrate processes with the help of automation.
How do hybrid clouds work?
The way public clouds and private clouds work as part of a hybrid cloud are no different than how standalone public clouds or private clouds work:
- A local area network (LAN), wide area network (WAN), virtual private network (VPN), and/or application programming interfaces (APIs) connect multiple computers together.
- Virtualization, containers, or software-defined storage abstract resources, which can be pooled into data lakes.
- Management software allocates those resources into environments where applications can run, which are then provisioned on-demand with help from an authentication service.
Separate clouds become hybrid when those environments are connected as seamlessly as possible. That interconnectivity is the only way hybrid clouds work—and it’s why hybrid clouds are the foundation of edge computing. That interconnectivity is how workloads are moved, management is unified, and processes are orchestrated. How well-developed those connections are has a direct impact on how well your hybrid cloud works.
How do I build a hybrid cloud?
Every cloud is unique. Private clouds are one-of-a-kind and there are thousands of public cloud providers. There’s no one-size-fits-all cloud architecture. The way you organize your cloud resources and build a hybrid cloud will be as unique as your fingerprint. But there are a few basic principles that correspond to 2 general ways of building a hybrid cloud environment: The traditional way and the modern way.
Traditional hybrid cloud architecture
Hybrid clouds used to be the result of connecting a private cloud to a public cloud. You could build that private cloud on your own, or you could use prepackaged cloud infrastructure like OpenStack®. You would also need a public cloud, like one of the few listed below:
Finally, you would need to link the public cloud to the private cloud. This was typically done using a complex network of LANs, WPNs, APIs, and VPNs. Many cloud service providers even give customers a preconfigured VPN as part of their subscription packages:
- Google Cloud offers Dedicated Interconnect.
- Amazon Web Services (AWS) offers Direct Connect.
- Microsoft Azure offers ExpressRoute.
- OpenStack provides the OpenStack Public Cloud Passport.
Modern hybrid cloud architecture
Today’s hybrid clouds no longer require a vast network of APIs to move workloads from one cloud to another. Modern IT teams build hybrid clouds by running the same operating system in every IT environment; developing and deploying apps as collections of small, independent, and loosely coupled services; and managing everything through a unified platform. In more practical terms, a hybrid cloud can be the result of:
- Running Linux® everywhere
- Building and deploying cloud-native apps
- Managing everything using an orchestration engine like Kubernetes or Red Hat OpenShift®
Using the same operating system abstracts all the hardware requirements, while the orchestration platform abstracts all the app requirements. This creates an interconnected, consistent computing environment where apps can be moved from one environment to another without maintaining a complex map of APIs that breaks every time apps are updated or you change cloud providers.
This interconnectivity allows development and operations teams to work together in a DevOps model: A process by which teams work collaboratively across integrated environments using a microservice architecture supported by containers.