Reference architecture

On-prem to managed Kubernetes

Move existing applications to the cloud with codified infrastructure, centralized secrets, and an isolated environment for every feature branch.

All architectures
kubernetes-migration.ts
Kubernetes migration architecture: a feature branch push triggers a CI pipeline that reads secrets from Vault, runs Helm for applications and Terraform for infrastructure. Terraform provisions a dedicated production cluster, a shared non-production cluster and a managed database. The non-production cluster hosts staging and per-branch preview namespaces.Git pushFeature branchCI pipelineGitLab · ActionsVaultOIDC · secretsHelmCharts per appTerraformInfrastructureProductionDedicated clusterNon-prodShared clusterManaged DBCloud SQL · RDSStagingNamespacePreviewPer branch

The problem

On-prem hosting limits how far an application can scale and how quickly a team can test changes. Rewriting everything as serverless is rarely the right first step; the goal is to move safely and improve delivery along the way.

Key design decisions

  1. 01

    Containerize first, re-architect later

    Each application gets a Dockerfile and a Helm chart, so it runs the same way locally, in CI and in production before any deeper refactoring.

  2. 02

    Managed Kubernetes, separate production

    GKE Autopilot or EKS Auto Mode removes node management. Production runs in its own cluster and account, while staging and previews share a non-production cluster.

  3. 03

    Everything in Terraform

    Clusters, networking, databases and IAM are defined in Terraform and applied by the pipeline, never by hand.

  4. 04

    Secrets from Vault

    Pipelines authenticate to Vault with short-lived OIDC tokens and workloads with their Kubernetes identity, so no long-lived secrets live in repositories or CI variables.

  5. 05

    An environment per branch

    Each feature branch deploys to its own namespace in the non-production cluster, so changes are tested in isolation and torn down automatically on merge.

Have a system to build, or a cloud bill to tame?

Tell us what you're working on. We'll come back within one business day with next steps.