Container Orchestration & Compute Platforms3 min readUpdated September 2026

Choosing Container Orchestration Across Many Client Accounts

For IT consulting firms and MSPs running containers across many client accounts, default new engagements to ECS and reserve Kubernetes for clients whose workloads need its features. Twenty client accounts, each with its own AWS billing setup, compliance posture, and downtime tolerance, create failure modes that a single-company decision never faces.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Check: can your team support this without per-client heroics

  • Does at least one other engineer besides the original setup person understand each client's container configuration well enough to debug a 2 a.m. page
  • Is there a standard template for new client onboarding, or does every engagement start from a blank slate
  • Can you answer, in under a minute, which clients are on which platform without checking a spreadsheet

MSPs that fail the first check are one resignation away from a client outage nobody can diagnose. Kubernetes makes this worse if only one person understands the cluster's networking and RBAC setup; ECS's simpler mental model tends to be more forgiving when knowledge is unevenly distributed across a team.

Check: does your billing model match the platform's operational cost

  • Are you billing clients per managed endpoint, per hour, or a flat retainer, and does that model reward or punish the extra hours a Kubernetes cluster demands
  • Have you priced in cluster upgrades, node patching, and version deprecations as ongoing work, not a one-time setup fee

A flat retainer that assumes ECS-level operational overhead will quietly lose money on every client you move to Kubernetes unless you renegotiate the scope. Price the platform choice into the contract, not just the initial build.

Check: is client isolation actually enforced, not assumed

  • If you run multiple clients' workloads on shared infrastructure, are namespaces, IAM roles, and network policies actually preventing cross-client access, or is isolation just a folder structure
  • Has anyone tried to break the isolation on purpose, the way a penetration tester would

This is the pitfall that turns into a real incident: an MSP assumes Kubernetes namespaces are enough isolation between two clients' workloads on a shared cluster, and a misconfigured network policy lets one client's pod reach another's service. Separate clusters or separate ECS accounts per client sidestep this entirely at the cost of some efficiency.

Check: does your tooling scale with the client count, not just the workload

  • Can you view the health of every managed client's infrastructure from one dashboard, or does checking status mean logging into twenty separate AWS accounts
  • Does your incident response process name a clear owner per client, or does everyone assume someone else has it covered

ECS's simplicity is genuinely an advantage here if your tooling investment is limited: fewer moving parts per client means less custom tooling to build. Kubernetes rewards MSPs who invest in a proper multi-cluster management layer, but that investment only pays off once you're managing enough clients to amortize it.

The industry-wide numbers worth knowing

For any client running a subscription product, hosting typically costs about 5% of ARR and DevOps effort roughly 4% more12. If a client's bill is running well outside that band and they're asking you to explain why, check for orphaned load balancers, oversized node pools, and idle ECS tasks before assuming the platform itself is the problem.

This is also a useful number to quote back to a client who's pushing for a cheaper setup than their workload actually needs: a hosting bill meaningfully below that range on a live production subscription product is often a sign of undersized capacity, not efficiency.

How to decide per client, not once for the whole firm

Resist the urge to pick one platform for the entire practice. Default new, unremarkable client engagements to ECS, since it's faster to staff and easier to hand off if the relationship ends. Reserve Kubernetes for clients whose workload genuinely needs its features, such as heavy autoscaling, multi-region failover, or a client-mandated platform.

Kubernetes vs. AWS ECS vs. Nomad is worth reading before you commit a client to either one, since Nomad occasionally fits a client's existing on-premises footprint better than either.

Whatever you decide client by client, keep a single internal register of which platform each account runs, who the backup engineer is, and when the setup was last reviewed. The firms that get burned aren't the ones running two platforms; they're the ones that lost track of which client is on which one.

Executive Capability Standard

What Good Looks Like

Every managed client's infrastructure has a written runbook and a named backup engineer, so no client's uptime depends on a single person being reachable.

Building The Capability (5-Stage Skill Ladder)

1. Learn:List every client account and note which ones currently depend on one engineer's undocumented knowledge.
2. Do Manually:Write a runbook for each of those clients covering deploys, secrets, and incident response, starting with the riskiest accounts.
3. Delegate:Assign a named backup engineer to every client account and have them shadow one real incident or deploy before going live.
4. Automate:Build a single dashboard that pulls health and deploy status across every client's Kubernetes cluster or ECS account.
5. Buy:Adopt a multi-tenant management platform built for MSPs so client isolation and monitoring don't depend on manual per-account setup.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

Should every client on our books use the same container platform?

No. Standardize your default and your onboarding template, but let a client's existing infrastructure, compliance requirements, or explicit platform mandate override the default. Forcing every client onto one platform just because it's easier for your firm creates its own risk when it's the wrong fit.

How do we stop knowledge of a client's setup from living in one engineer's head?

Require a written runbook before an engagement is considered complete, not just working code. Rotate on-call coverage across engineers periodically so more than one person actually exercises the runbook, rather than discovering its gaps during a real incident.

Is it ever worth running one shared Kubernetes cluster across several smaller clients?

Only if you've genuinely tested the isolation boundaries and priced the shared operational risk into every client's contract. Most MSPs are better served by separate clusters or separate ECS setups per client until the cost savings from sharing clearly outweigh the added blast radius of a shared-infrastructure incident.

Sources

Where we quote a benchmark, we show its source. Other figures in this guide are estimates or general guidance, so check them against your own numbers.

  1. Hosting/cloud infrastructure spend as % of ARR (median, private B2B SaaS). SaaS Capital 2026 Spending Benchmarks for Private B2B SaaS Companies (15th annual survey, 1,000+ companies), 2026.
  2. DevOps spend as % of ARR (median, private B2B SaaS). SaaS Capital 2026 Spending Benchmarks for Private B2B SaaS Companies (15th annual survey, 1,000+ companies), 2026.

Related Guides