Hosted vs. self-hosted control planes

3 minutes reading time

Written by

John Dietz
John Dietz

Director of Enterprise Cloud Solutions @ Civo

One of the first decisions teams face when adopting Konstruct is whether to run the control plane themselves or have it managed for them. While this can look like a simple deployment choice, it is really a question of operational responsibility, control, and how your platform needs to evolve over time.

Both models exist to solve the same underlying problem: providing a consistent, GitOps-driven platform across teams and environments. The difference is not in what you can build, but in how much of the system you are responsible for operating.

What is a hosted control plane?

The hosted control plane is designed to remove as much operational overhead as possible, particularly in the early stages of platform adoption. Instead of provisioning infrastructure and designing for availability, you can start with a working system in minutes and focus immediately on delivering value to your teams.

Civo operates and maintains the control plane, which means upgrades, patching, and availability are handled as part of the service. This significantly reduces the amount of platform engineering effort required to get to a production-ready baseline.

This model does introduce constraints, but they are deliberate. You do not have direct kubectl access to the control plane cluster, and you cannot modify its internal operators or pin specific versions. These limitations reduce complexity and eliminate entire categories of operational failure, particularly for teams that do not yet need deep control over the platform internals.

For teams evaluating Konstruct, or for organizations that want to prioritize speed and simplicity over customization, the hosted model provides the lowest-friction path to a functioning platform.

What is a self-hosted control plane?

The self-hosted model is built for teams that need full control over every layer of the system, including the control plane itself. In this model, you provision and operate the control plane on infrastructure of your choosing, whether that is a public cloud, private cloud, or bare metal environment.

This unlocks capabilities that are not available in the hosted model. You can access the control plane cluster directly using kubectl, configure and extend Konstruct operators, and pin platform versions to align with your internal release processes. Authentication can be integrated with your existing identity systems, and deployments can be tailored to meet strict compliance or data residency requirements.

That flexibility comes with additional responsibility. You are now accountable for control plane availability, upgrade strategy, and lifecycle management, just as you would be for any other critical Kubernetes system. Setup also takes longer, as you are building the full platform stack rather than consuming it as a service.

For organizations operating in regulated environments, running air-gapped systems, or requiring multi-cloud and on-premise management clusters from day one, this model provides the control surface necessary to meet those constraints.

Hosted vs. self-hosted control planes

FeatureHosted control planeSelf-hosted control plane

Setup time

Minutes — sign up and go

Hours — control plane, multitenant mgmt clusters, workload clusters from there

Control plane infra

Civo manages

You provision and maintain, but you can start in any cloud or bare metal

Control plane upgrades

Automatic, managed by Civo

Manual, on your schedule

Supported clouds for mgmt cluster

Civo only (roadmap: AWS, GCP)

Any Kubernetes 1.24+

Supported clouds for workload clusters

Civo, AWS, GCP

Civo, AWS, GCP, Azure, bare metal, any CNCF-conformant

kubectl to control plane cluster

Not available

Full access

Konstruct control plane operators

Not available

Fully configurable

Control plane version pinning

Not available

Supported via Helm

Authentication

Civo account (OAuth)

Configurable — Dex, OIDC, or disabled for development

Management cluster ownership

You own the cluster

You own the cluster

GitOps repo ownership

You own the repo

You own the repo

Workload cluster management

Full control

Full control

Platform tooling customization

Full control via GitOps

Full control via GitOps

Air-gapped installation

Not available

Supported

On-premises / bare metal mgmt cluster

Not available

Supported

Control plane data residency

Civo regions

Your chosen infrastructure

Cost model

SaaS subscription + Civo cluster costs

Self-managed infra plus Konstruct license costs

Which option should you pick?

Deployment modelWhen you should pick it

Hosted control plane

You want to start in minutes, not days

You do not wish to have direct access to Konstruct custom resources

Your management clusters can run on Civo

You want Civo to handle control plane availability, upgrades, and security patching

You are evaluating Konstruct and want the lowest-friction starting point

Self-hosted control plane

You need kubectl access to the control plane cluster

You require access to Konstruct custom resource objects

You need management clusters on AWS, GCP, Azure, or bare metal today

Your environment is air-gapped or cannot reach konstruct.saas.civo.com

You have compliance requirements that mandate control over where the control plane runs and who can access it

You need to pin the Konstruct version and control when upgrades happen

Summary

Both deployment models ultimately deliver the same core outcome: a GitOps-driven platform where your teams own their environments, their workflows, and their applications. The difference lies in who operates the control plane and how much responsibility you are willing to take on.

The hosted model optimizes for speed and simplicity by abstracting the control plane away. The self-hosted model optimizes for control and flexibility by exposing it fully.

Choosing between them is not about which is more capable, but about which aligns with how your organization needs to operate today, and how much of the platform you want to own.

John Dietz
John Dietz

Director of Enterprise Cloud Solutions @ Civo

John Dietz is Director of Enterprise Cloud Solutions at Civo, where he helps organizations adopt scalable cloud-native platforms for application delivery and infrastructure management. His work focuses on enabling enterprise teams to modernize infrastructure and improve operational efficiency.

Before joining Civo, John co-founded Konstruct, a company focused on enabling self-managed platform infrastructure. Following its acquisition, he joined Civo to lead enterprise cloud initiatives. His career spans more than two decades across roles, including cloud-native engineer, site reliability engineer, and platform architect.

View author profile