Infrastructure & platform engineering

We run your control plane. You ship.

GridWorks builds and operates the Kubernetes platforms, delivery pipelines and reliability practice underneath product teams — so deploys stop being an event and incidents stop being a surprise.

41 clusters under management 24/7 follow-the-sun on-call SOC 2 Type II aligned
~/clients/northwind — zsh live
$ 
  scanning 412 workloads · 3 clusters · 1,180 nodes
 control plane      1.29.4   3 AZ   healthy
 argocd sync        in-sync  0 drift
  ! requests/limits    64 workloads unbounded
 pdb coverage       11 deployments, no PDB
  ! idle spend         $41,300/mo reclaimable
  ── 18 findings · 6 critical · report → gw-audit-0412.md
$ 
  availability   99.981%   target 99.950%   budget 62% left
  latency p99    45ms      was 340ms       -86.8%
  deploys 30d    1,842     rollbacks 3      MTTR 7m 12s
$ 
Kubernetes Terraform ArgoCD Prometheus OpenTelemetry eBPF / Cilium AWS · GCP · Azure Crossplane
Fleet availability · 12mo
99.982%
measured at the edge, not the pod
Deploys shipped / day
2,140+
across 41 managed clusters
Median MTTR
8.4min
sev-1 & sev-2, rolling 90 days
Cloud spend reclaimed
$18.6M
cumulative annualised, since 2019
Capabilities

Six practices. One operating model.

Every engagement lands in the same place: infrastructure defined in code, delivery automated end to end, and an SLO you can actually hold someone to. Pick the entry point — the rest follows.

01

Kubernetes & Container Platforms

Production clusters with multi-AZ control planes, hardened node pools, sane admission policy and a tenancy model that survives your third team onboarding. EKS, GKE, AKS or bare metal.

  • Cluster API
  • Karpenter
  • Gateway API
  • Kyverno
02

DevOps & CI/CD Automation

Pipelines that build once, sign the artifact, and promote the same digest through every environment. GitOps reconciliation, progressive delivery, automatic rollback on SLO burn.

  • ArgoCD
  • GitHub Actions
  • Argo Rollouts
  • Sigstore
03

Site Reliability Engineering

Error budgets with teeth: SLIs derived from real user journeys, burn-rate alerting that pages on symptoms, blameless post-incident review, and game days that break things on purpose.

  • SLO / error budget
  • Incident command
  • Chaos testing
04

Cloud Cost Optimisation (FinOps)

Unit economics per service and per request, not a spreadsheet of EC2 line items. Rightsizing from live profiles, commitment strategy, and spend guardrails wired into the pipeline.

  • OpenCost
  • Kubecost
  • Savings Plans
  • Spot / Graviton
05

Observability & Monitoring

One OpenTelemetry pipeline for metrics, logs and traces with exemplar linking, so a latency spike takes three clicks to reach the offending span — and your ingest bill stays flat.

  • OpenTelemetry
  • Prometheus
  • Grafana / Tempo
  • eBPF
06

IaC & Platform Engineering

A golden path your engineers actually want to use: modular Terraform, Crossplane compositions for self-service databases and queues, and a paved-road template that takes a service to prod in a day.

  • Terraform
  • Crossplane
  • Backstage
  • OPA
platform/modules/service/main.tf terraform
# One module. Namespace, IAM, autoscaling, SLO and dashboards
# land together — or the plan fails.
module "checkout_api" {
  source  = "../../modules/service"
  name    = "checkout-api"
  tier    = "tier-0"          # implies PDB + multi-AZ + page

  runtime = {
    replicas_min = 6
    replicas_max = 120
    cpu          = "500m"
    memory       = "1Gi"
    arch         = "arm64"       # graviton, ~22% cheaper
  }

  slo = {
    availability = 99.95
    latency_p99  = "120ms"
    burn_alerts  = ["14.4x/1h", "6x/6h"]
  }

  dependencies = [module.pg_checkout.endpoint]
}
The contract

Everything is code, or it doesn't exist

No click-ops, no snowflake clusters, no tribal runbook living in one engineer's head. If it can't be reviewed in a pull request and reconciled by a controller, we don't ship it.

  • Cluster state lives in Git; the controller is the only writer to the API server
  • Console access is read-only by default and pages the on-call when elevated
  • Anything created by hand is removed by the next reconcile loop
Drift
reconciled every 180s
Review
2 approvals on tier-0
Rollback
< 90s, automated
Handover
docs + runbooks + you own it
How we engage

Four phases. No open-ended retainers.

Every engagement is scoped to an exit. We are done when your team is running the platform without us — and the documentation proves it.

PHASE 01

Audit

Two weeks inside your infrastructure, pipelines and incident history. You get a findings report ranked by risk and cost, with a remediation plan that is costed in engineer-days.

2 weeks · fixed fee
PHASE 02

Build

We stand up the platform alongside your engineers: IaC modules, cluster baseline, delivery pipeline, observability stack. Everything in your repos, your cloud accounts, your name.

6–14 weeks · milestone-based
PHASE 03

Migrate

Workloads move behind a traffic-shifting cutover with a tested rollback at every step. We migrate the least critical service first and the payment path last.

Per-wave, zero planned downtime
PHASE 04

Operate or hand over

Either we hold the pager under a signed SLA, or we run enablement until your team does. Most clients start with the former and move to the latter inside a year.

Rolling 90-day terms
Two GridWorks engineers working from laptops in a cold aisle between lit server racks.
On the floor

Someone is awake for your platform. It should not have to be you.

Follow-the-sun on-call across five timezones, an incident commander named before the page fires, and a public status timeline your account team can read without asking engineering. Every escalation ends in a written review — including the quiet ones.

Page → human< 90 s
Sev-1 drillsquarterly
Post-incident review100% of sev-1/2
Clusters on call41
Reference architecture

What we leave behind

The shape is deliberately boring. A signed artifact promoted by a GitOps controller into a multi-AZ cluster, with every layer defined in Terraform and every signal on one telemetry pipeline.

DELIVERY PATH Developer git push · PR CI build · test · sign OCI registry immutable digest Policy gate OPA · cosign ArgoCD sync every 180s KUBERNETES · 3 AVAILABILITY ZONES · 1.29 Gateway TLS · WAF · authz Mesh mTLS · retries WORKLOADS api ×24 workers ×48 jobs ×spot STATE Postgres HA Redis / queue Object store OBSERVABILITY OTel collector Prometheus · Mimir Loki · Tempo Grafana · alerting retention 400d INFRASTRUCTURE AS CODE · SUBSTRATE Terraform — VPC · subnets · IAM · node pools · DNS · egress proxy Crossplane — databases · queues · buckets · drift detection on merge
↔ scroll diagram horizontally
Baseline guarantees
Control plane
3 AZ, managed, version n-1 max
Node pools
Karpenter, spot for stateless
Ingress
Gateway API, TLS 1.3 only
East-west
mTLS default deny
Secrets
External Secrets + KMS
Backups
PITR, restore drilled monthly
Images
distroless, signed, scanned
Telemetry
OTLP, 400-day metric retention
Full platform spec
Tooling

Opinionated, but not religious

We have defaults because defaults are how you avoid a bespoke platform nobody can hire for. If you already run something that works, we keep it and document why.

Orchestration

  • EKS
  • GKE
  • AKS
  • Cluster API
  • Karpenter
  • Talos
  • Cilium
  • Istio

Delivery

  • ArgoCD
  • Argo Rollouts
  • Flux
  • GitHub Actions
  • GitLab CI
  • Buildkite
  • Kaniko
  • Cosign

Telemetry

  • OpenTelemetry
  • Prometheus
  • Mimir
  • Loki
  • Tempo
  • Grafana
  • Pyroscope
  • Parca

Substrate

  • Terraform
  • OpenTofu
  • Crossplane
  • Pulumi
  • Vault
  • OPA
  • Kyverno
  • Backstage
Field notes

Numbers, before and after

Three engagements from the last eighteen months. Metrics are taken from the client's own dashboards, thirty days pre-cutover versus ninety days post.

Night-side view of Earth from orbit with city lights tracing two continents. 01 Multi-region active/active
Fintech · payments

Monolith to multi-region active/active

340ms p99 on the checkout path and a single-region failure domain. Rebuilt on Kubernetes with cell-based routing and asynchronous settlement.

p99 latency340 → 45ms
Failover42m → 90s
Deploy freq×31
Isometric lattice of wireframe cubes rendered on black, standing in for a bin-packed compute fleet. 02 Bin-packing the fleet
B2B SaaS · analytics

$2.1M annualised off the cloud bill

1,900 nodes running at 19% CPU utilisation. Bin-packing, Graviton migration, spot for the batch tier and storage lifecycle policy.

Monthly spend−38%
Node count1,900 → 610
Utilisation19 → 64%
Source code on a dark monitor photographed at a shallow angle. 03 Trunk-based delivery
Marketplace · logistics

From 6 releases a month to 40 a day

Hand-rolled Jenkins with a four-hour pipeline and manual QA gates. Replaced with trunk-based delivery, canary analysis and automated rollback.

Lead time11d → 26m
Change fail18 → 2.1%
MTTR3h → 7m
gw review --schedule

Book a 90-minute architecture review

Free, technical, and run by the engineer who would lead your engagement — not a salesperson. Bring your architecture diagram and your worst incident. You leave with a written summary of the top five risks either way.