Deploy a hybrid cloud by placing each workload where its data, latency, compliance, cost, and elasticity needs are best met, linking sites over private encrypted connections with one identity provider, and deploying through one policy layer so on-premises and cloud locations are operated the same way. Control Plane runs the same workloads on your own servers and on AWS, GCP, and Azure under one API, one set of policies, and one observability stack.
Disclosure: Control Plane publishes this guide.
TL;DR
A hybrid cloud works when each workload runs where its requirements are best met and every environment is operated the same way.
- Decide placement per workload. Evaluate data gravity, latency, compliance, burst demand, and hardware needs before choosing public or private for each application.
- Connect environments securely. Use dedicated interconnects or IPsec VPN tunnels between sites, and never send unencrypted traffic across the public internet.
- Establish one identity and policy layer. A single identity provider and policy-as-code framework reduce credential sprawl and configuration drift.
- Run Kubernetes or a platform across both. Whether you manage clusters yourself or use a platform layer, consistent orchestration lets you operate every environment the same way.
- How Control Plane fits. Control Plane’s Global Virtual Cloud (GVC), a set of locations a workload runs across, can combine AWS, GCP, and Azure regions with your own servers joined through Managed Kubernetes (MK8s), Control Plane’s way of turning your own servers into managed locations, and existing clusters connected through Bring Your Own Kubernetes (BYOK), Control Plane’s option for connecting a cluster you already run. Workloads run active-active across all of them.
How Do I Decide Between Public and Private Cloud Hosting?
The right placement depends on the workload. Two applications in the same company can have opposite requirements.
| Workload Trait | Points Toward Public Cloud | Points Toward Private / On Premises | Why |
|---|---|---|---|
| Demand pattern | Bursty or seasonal | Steady, predictable baseline | Public cloud scales on demand without idle hardware. Steady workloads at high utilization are often cheaper on owned capacity. |
| Data gravity and residency | Data already lives in a cloud region or is generated there | Large datasets stored on premises, or sovereignty rules mandate a specific physical location | Moving large datasets is slow, and egress fees make moving data out of a cloud expensive. Keep compute near the data. |
| Latency to users or systems | Users are distributed globally | Users or dependent systems are in one facility | Public cloud regions and CDNs cover the globe. On-premises placement keeps traffic between co-located systems off the WAN. |
| Regulatory requirements | Standard compliance frameworks satisfied by major providers | Strict data-handling rules, air-gapped environments, or audit regimes that require physical control | Public clouds carry broad certifications, but some regulators require infrastructure you control. |
| Hardware specificity | General-purpose compute, standard GPUs | Mainframes, specialized appliances, or custom hardware already installed | Cloud providers offer GPUs, FPGAs, and managed HSMs. Mainframes and custom appliances often have no cloud equivalent. |
| Team skills | Strong cloud-native skills, limited infrastructure ops capacity | Deep infrastructure expertise, limited cloud experience | Public cloud offloads hardware ops. On-premises requires hands-on infrastructure management. |
Most organizations land on a mix. A workload that handles regulated patient data might stay on premises while a customer-facing API with global traffic runs in the public cloud. For a deeper look at the cost side of this decision, see the cloud vs. on-premises vs. hybrid cost comparison.
What Are the Best Steps for Deploying a Hybrid Cloud for My Company?
A phased approach reduces risk and keeps the project aligned with business outcomes. This plan is vendor neutral and works with one cloud provider or several.
Phase 1: Inventory Workloads and Data Flows
Catalog every application, database, message queue, and batch job. Record data flows between systems, network dependencies, current owners, and SLAs.
Phase 2: Classify and Decide Placement
Apply the decision table above to each workload. Assign a target environment (public region, on-premises cluster, or both for active-active). Document the rationale so future teams understand why a workload lives where it does. Define recovery time objectives (RTO) and recovery point objectives (RPO) for critical systems.
Phase 3: Design Network Connectivity
Connect environments with dedicated interconnects or encrypted tunnels. The major providers each offer a dedicated link product:
Dedicated links are private but not encrypted by default, so add MACsec or IPsec over the link for regulated traffic. If dedicated links are not justified by bandwidth or latency requirements, site-to-site VPN over IPsec is the minimum.
Phase 4: Establish One Identity Provider and Workload Identity
Federate a single identity provider (such as Microsoft Entra ID, Okta, or Google Workspace) across every environment. Use workload identity federation instead of long-lived API keys so services authenticate with short-lived tokens. For a deeper look at this pattern, see workload identity federation explained.
Phase 5: Pick One Deployment and Policy Layer
Choose a deployment mechanism that works the same way in every location. This could be a GitOps pipeline, a platform layer, or a combination. A change to a workload definition must produce the same result whether the target is a cloud region or an on-premises cluster.
Phase 6: Set Up Observability Across Environments
Centralize metrics, logs, and traces from every location into one system. Split observability makes incidents that span environments easy to miss. Define alerting thresholds and on-call ownership per workload.
Phase 7: Migrate in Waves
Start with a low-risk workload to validate connectivity, latency, security controls, monitoring, and rollback procedures. Expand only after each wave is stable, secure, and documented. Avoid migrating everything at once.
Phase 8: Test Failover Between Environments
Simulate a location failure and verify that traffic shifts to the surviving environment within your RTO. Test backup integrity and restoration procedures in a clean environment.
Phase 9: Operate and Review
Monitor costs, permissions, configurations, and security posture continuously. Reassess workload placement at least annually and after major business or architectural changes.
What Security and Compliance Risks Are Unique to Hybrid Cloud, and How Can I Mitigate Them?
These risks come from operating across environment boundaries, on top of generic cloud security.
| Hybrid-Specific Risk | Why It Exists | Concrete Mitigation |
|---|---|---|
| Expanded attack surface across network boundaries | Every link between environments is a potential entry point. | Restrict cross-environment traffic to documented paths. Use dedicated interconnects or encrypted tunnels. Apply deny-by-default firewall rules at both ends. |
| Inconsistent policy between environments | Different tools and teams manage each environment. | Adopt policy as code (for example, Open Policy Agent) applied to both environments from one repository. |
| Fragmented identity and long-lived credentials | Services in one environment need keys to reach another. | Use workload identity federation with short-lived tokens. Eliminate static API keys crossing environment boundaries. |
| Data in transit between sites | Traffic crosses networks you do not fully control. | Enforce mTLS between services. Encrypt all cross-site traffic with IPsec, MACsec, or TLS. |
| Visibility gaps and split logging | Each environment has its own logging stack. | Centralize logs and security alerts into one SIEM or observability platform. Correlate events across environments. |
| Configuration drift | Manual changes in one environment are not replicated. | Manage all infrastructure and workload configuration as code. Run drift detection on a schedule. |
| Shared responsibility confusion | Teams assume the cloud provider or the on-premises team owns a control, and neither does. | Document the shared responsibility model for every layer. Assign explicit owners for each control. |
| Compliance scope creep | Regulated data moves to an environment that was not in audit scope. | Tag data by classification. Enforce placement policies that prevent regulated data from landing in unapproved locations. Maintain a data flow map. |
The Cloud Security Alliance’s hybrid cloud risk analysis provides additional depth on several of these vectors. Treat all connections as untrusted until authenticated and authorized, segment networks to limit lateral movement, and conduct regular incident response drills that span both environments.
How Do I Run Kubernetes Across On Premises and Public Cloud for Hybrid Cloud Application Deployment?
Teams typically use separate clusters managed with GitOps, a hyperscaler hybrid Kubernetes product, or a platform layer that abstracts the clusters.
Separate Clusters Managed with GitOps
The simplest model is one cluster per environment with a GitOps controller such as Argo CD or Flux deploying the same manifests to each. This keeps clusters independent and avoids dependencies between clusters’ management layers. The trade-off is that you own upgrades, etcd backups, storage provisioning, and CNI management for every on-premises cluster.
Hyperscaler Hybrid Kubernetes Offerings
Each major provider offers a way to run or manage Kubernetes on your own hardware under its tooling:
- Amazon EKS Anywhere runs Kubernetes clusters built on EKS Distro on your own infrastructure, and Amazon EKS Hybrid Nodes attaches on-premises servers as worker nodes to an EKS cluster whose control plane AWS manages.
- Google Distributed Cloud brings GKE to on-premises and edge locations.
- Azure Arc-enabled Kubernetes projects existing clusters into Azure’s management plane.
These products reduce the operational load of running Kubernetes on premises but tie management to a single provider’s tooling.
Cross-Cluster Networking and Service Discovery
Services in one cluster often need to reach services in another. Solutions include service mesh federation, DNS-based service discovery, or a platform layer that provides a global endpoint. Whichever approach you choose, enforce network policy with a deny-by-default posture and require mTLS for all cross-cluster traffic.
Operational Load of On-Premises Kubernetes
Running Kubernetes on your own hardware adds node OS patching and hardware lifecycle to the upgrade, etcd, storage, and CNI work above, and typically requires dedicated platform engineers. Teams that want the flexibility of on-premises Kubernetes without the full operational burden often adopt a platform layer that handles these concerns.
Which Tools Best Manage Hybrid Cloud Infrastructure as Code and Policy Governance Across Environments?
Hybrid governance requires several tool categories working together. No single tool covers every layer.
| Category | Examples | What It Covers | Where Gaps Remain |
|---|---|---|---|
| Infrastructure as code | Terraform, OpenTofu, Pulumi | Provisioning cloud resources, networks, and clusters declaratively | Not designed for continuous workload delivery or runtime policy enforcement |
| Configuration management | Ansible | OS-level configuration, package installation, on-premises server setup | Less suited to cloud-native workload orchestration |
| Policy as code | Open Policy Agent, Kyverno | Admission control, resource validation, compliance guardrails | Requires integration into every cluster and pipeline |
| GitOps | Argo CD, Flux | Continuous delivery of Kubernetes manifests from Git | Does not provision infrastructure or enforce cross-cluster policy |
| Secrets management | HashiCorp Vault, cloud-native secret stores | Storing and rotating secrets, issuing short-lived credentials | Must be integrated into every environment separately |
The gap that remains across all of these tools is a unified view of workloads, policies, and observability spanning every environment. For a deeper look at how these tools fit together, see the hybrid cloud management guide.
What Solutions Help Manage Container Orchestration Complexity While Maintaining Security?
The core trade-off is between operating Kubernetes yourself and using a managed or platform layer. Self-managed clusters give full control but require dedicated platform engineering staff. Managed services reduce operational load but may limit customization. A platform layer can abstract clusters entirely, letting teams deploy workloads without managing infrastructure.
Regardless of which model you choose, these security controls should be on by default:
- Network policy with deny-by-default traffic. No service should be reachable unless explicitly allowed.
- mTLS between services. Encrypt and authenticate all service-to-service communication.
- Workload identity. Services authenticate with short-lived tokens instead of static credentials.
- Secrets management. Secret values stay out of code, images, and environment variables in plain text.
- Image provenance. Only signed, scanned images from trusted registries are admitted.
- Audit logs. Every API call and configuration change is recorded in a tamper-evident log.
- Least-privilege RBAC. Users and service accounts receive only the permissions they need, scoped to the narrowest possible resource set.
How Control Plane Approaches Hybrid Cloud
Control Plane is the platform for running unbreakable apps and agents. It combines any cloud, neocloud, and bare metal into one GVC. A GVC can mix AWS, GCP, and Azure regions, servers in your own data center joined with MK8s, and existing clusters connected with BYOK. With MK8s, Control Plane operates the Kubernetes layer on servers you join, and the hardware stays yours. MK8s and BYOK locations give full Kubernetes access for teams that want operators or Helm charts. Many teams run Control Plane in a single cloud as well, for the same Day 2 operations.
Control Plane handles Day 2 operations for you, including autoscaling, Capacity AI (Control Plane’s right-sizing of CPU and memory based on historical usage), built-in observability, and security. On Control Plane-managed compute there is no cluster at all. On MK8s locations Control Plane operates the Kubernetes layer. With BYOK, you keep running the cluster you connected and Control Plane runs the workloads on it. Built-in observability covers metrics, logs, and traces for every location in one place.
A workload deployed to a GVC runs active-active in every location of that GVC, and a global endpoint routes each request to the nearest healthy location, so on-premises and cloud locations back each other up. The 99.999% availability SLA applies to workloads running at least two replicas in at least two locations. Those locations can be two regions of one cloud or locations on different providers, for example an on-premises MK8s location and a cloud region.
On Control Plane, location routing options include priority routing tiers, where a lower-priority tier receives traffic only when every location in the higher-priority tier is unavailable, and latency offsets that make a location appear closer or farther. Teams use these to keep traffic on preferred locations and define which locations take over when they fail.
Security defaults are built in. Workloads are closed by default behind a deny-by-default internal firewall, traffic between them uses mTLS, and Control Plane’s built-in secrets management keeps secret values out of code and images. A tamper-proof audit trail records changes made through the Control Plane API. Each workload is isolated with cgroups, namespaces, and restricted syscalls and capabilities. One set of org-scoped policies controls access to every Control Plane resource.
Control Plane’s Universal Cloud Identity gives workloads short-lived, least-privilege access to 600+ AWS, GCP, and Azure services, with no long-lived cloud keys in your code, including workloads running on your own servers. Cloud Wormhole, Control Plane’s built-in way to give workloads private access to services in VPCs and on-premises networks behind firewalls, works without VPN clients to install. For lift-and-shift of on-premises VMs, VM workloads run on MK8s locations with the KubeVirt add-on and KVM-capable nodes.
Control Plane ships its own Terraform and Pulumi providers, so it complements the infrastructure as code you already run. Customers typically cut compute costs 30 to 50 percent compared with running directly on AWS, GCP, or Azure. Control Plane is PCI DSS Level 1, SOC 2 Type II, HIPAA, and GDPR compliant.
For a comparison of hybrid cloud platforms, see the 9 best hybrid cloud platforms in 2026. For teams looking to consolidate multiple clouds onto one platform, the same GVC model applies across providers.
FAQ
What is a hybrid cloud and how does it work?
A hybrid cloud combines private infrastructure, either on premises or in a dedicated environment, with public cloud services from providers like AWS, GCP, or Azure. Workloads and data are distributed across both environments based on requirements such as compliance, latency, cost, and scalability. Secure networking and a shared identity model connect the environments so they operate as one system.
How do I decide which workloads should run on premises versus in the public cloud?
Evaluate each workload against six criteria: data gravity and residency, latency to users or dependent systems, regulatory requirements, demand pattern (steady versus bursty), hardware specificity, and team skills. Workloads with large on-premises datasets or strict data sovereignty rules stay on premises. Workloads with global users or unpredictable demand fit the public cloud. Most organizations end up with a mix.
What are the first steps to deploy a hybrid cloud?
Start by inventorying every application, database, and data flow. Classify each workload against the placement criteria and set RTO and RPO targets for critical systems. Then design network connectivity between environments with dedicated interconnects or IPsec VPN tunnels, and federate one identity provider across all locations.
What security risks are unique to hybrid cloud deployments?
The risks specific to hybrid include an expanded attack surface across network boundaries, inconsistent security policies between environments, fragmented identity with long-lived credentials crossing sites, data exposure in transit between environments, visibility gaps from split logging, configuration drift, shared responsibility confusion, and compliance scope creep when regulated data moves to unapproved locations.
How do I keep security policies consistent across on-premises and cloud environments?
Adopt policy as code using tools like Open Policy Agent or Kyverno, stored in a single Git repository and applied to every environment through your CI/CD pipeline. Pair this with a single identity provider, workload identity federation for service-to-service authentication, and centralized logging so policy violations are detected regardless of where they occur.
Can I run Kubernetes across both on-premises and public cloud?
Yes. Options include running separate clusters in each environment managed with GitOps tools like Argo CD, using hyperscaler hybrid Kubernetes products such as Amazon EKS Anywhere or Google Distributed Cloud, or adopting a platform layer that abstracts cluster management. Whichever option you choose, enforce consistent policy, mTLS on cross-cluster traffic, and centralized observability.
What tools do I need for hybrid cloud infrastructure as code and governance?
You need infrastructure as code tools (Terraform, OpenTofu, or Pulumi) for provisioning, policy-as-code tools (Open Policy Agent, Kyverno) for guardrails, GitOps controllers (Argo CD, Flux) for deployment, and a secrets management system (HashiCorp Vault or cloud-native secret stores). No single tool covers every layer, so integration between them is essential.
How does Control Plane help with hybrid cloud deployment?
Control Plane lets you define a GVC that spans AWS, GCP, and Azure regions, on-premises servers joined with MK8s, and existing clusters connected with BYOK. Each workload runs in every location of its GVC behind one global endpoint, so a failed site’s traffic goes to the surviving locations. Security defaults like deny-by-default firewalls, mTLS, and built-in secrets management apply to workloads in every location of a GVC. Control Plane handles Day 2 operations including autoscaling, Capacity AI right-sizing, and observability.
How do I test failover between on-premises and cloud environments?
Simulate a location failure by taking down one environment and verifying that traffic shifts to the surviving location within your defined recovery time objective. Test backup integrity by restoring data in a clean environment. Run these drills on a regular schedule and document results for compliance audits.
What is the biggest mistake organizations make when deploying a hybrid cloud?
Treating hybrid cloud as a one-time migration rather than an ongoing operating model. Workload placement, security policies, cost optimization, and compliance posture all require continuous review. Organizations that deploy and forget end up with configuration drift, credential sprawl, and environments that are hybrid in name but siloed in practice.
Ready to run workloads across cloud and on-premises locations under one API? Talk to the Control Plane team or sign up free.
Originally published on the Control Plane blog.