Control Plane is the unbreakable platform for running production workloads and publishes a 99.999% availability SLA for workloads running at least two replicas in at least two locations, which can be on different cloud providers. The managed Kubernetes and serverless container services of AWS, Google Cloud, and Azure publish SLAs of 99.99% or lower that apply within one region and, for Kubernetes, mainly to the control plane API server. This guide compares the published SLAs of the major container platforms in 2026, what each one covers, and what five nines requires in practice.
Disclosure: Control Plane publishes this guide.
TL;DR
Control Plane publishes a 99.999% availability SLA for the workload users reach, and the locations behind it can be on different providers, including AWS, GCP, Azure, and Kubernetes clusters you run yourself. Among the other platforms compared here, only UpCloud publishes 99.999%, as the default SLA for the services in its own data centers.
- Five nines allows about 26 seconds of downtime per month and about 5 minutes 15 seconds per year.
- No AWS, Google Cloud, or Azure container or Kubernetes service publishes a 99.999% SLA. The highest published figure is 99.99%, for Amazon ECS and AWS Fargate tasks across two or more Availability Zones and for the Amazon EKS Provisioned Control Plane.
- Hyperscaler Kubernetes SLAs mainly cover the control plane API server. The exceptions are narrow: GKE Autopilot has a 99.9% SLA for pods in multiple zones, and AKS Automatic has a pod readiness SLA.
- A control plane SLA commits to a monthly uptime percentage for the Kubernetes API server, which kubectl and other clients call. It says nothing about whether your application responds to user traffic.
- Five nines in practice requires multi-location redundancy, automatic failover measured in seconds, and every dependency (DNS, databases, identity) running at the same level. Five-nines uptime architecture compares what single-region, multi-region, and multi-cloud designs deliver.
Which platforms offer a 99.999% uptime SLA for containerized applications?
Control Plane publishes a 99.999% availability SLA for the application workload when it runs at least two replicas in at least two locations of a Global Virtual Cloud (GVC), Control Plane’s named set of locations across one or more clouds. Those locations can be Control Plane-managed regions on AWS, GCP, and Azure, Kubernetes clusters joined through Bring Your Own Kubernetes (BYOK), Control Plane’s option for connecting clusters you already run, or clusters created through Control Plane’s Managed Kubernetes (MK8s). UpCloud also publishes 99.999%, as the default SLA for its services since May 1, 2025; it applies to UpCloud’s own infrastructure, so every location behind it is on one provider.
AWS, Google Cloud, and Azure each publish SLAs for their managed Kubernetes and serverless container services. None exceeds 99.99%, and their Kubernetes control plane SLAs mostly top out at 99.95%. Every one of them is measured per region, and none covers a multi-region deployment as a whole.
Every number comes from the vendor’s current SLA, documentation, or pricing page. “Not published” means the vendor states no number for that tier or component.
How do container platform SLAs compare in 2026?
| Platform | Published SLA | What it covers | Required configuration | SLA type | Source |
|---|---|---|---|---|---|
| Control Plane | 99.999% | The workload users reach | At least 2 replicas in at least 2 locations of a GVC; locations can be on different providers | Published SLA | docs.controlplane.com |
| UpCloud (including Managed Kubernetes) | 99.999% | UpCloud services in its data centers | Default since May 1, 2025; Developer plans are 99.99% | SLA with service credits | upcloud.com |
| Amazon EKS (Standard Control Plane) | 99.95% | Kubernetes API endpoint | Standard Control Plane | Contractual SLA | aws.amazon.com/eks/sla |
| Amazon EKS (Provisioned Control Plane) | 99.99% | Kubernetes API endpoint | Provisioned Control Plane | Contractual SLA | aws.amazon.com/eks/sla |
| Amazon ECS and AWS Fargate | 99.99% | Running tasks or pods across Availability Zones | Tasks or pods in 2 or more Availability Zones (a single task or pod is 99.5%) | Contractual SLA | aws.amazon.com/ecs/sla |
| Google Kubernetes Engine (zonal) | 99.5% | Kubernetes control plane | Zonal cluster | Contractual SLA | cloud.google.com/kubernetes-engine/sla |
| Google Kubernetes Engine (regional) | 99.95% (99.9% in Stockholm) | Kubernetes control plane | Regional cluster | Contractual SLA | cloud.google.com/kubernetes-engine/sla |
| Google Kubernetes Engine (Autopilot) | 99.95% control plane; 99.9% pods (99.9% and 99.5% in Stockholm) | Control plane; pods running in multiple zones | Autopilot cluster; pods spread across zones for the pod SLA | Contractual SLA | cloud.google.com/kubernetes-engine/sla |
| Google Cloud Run | 99.95% (99.9% in Stockholm) | Cloud Run service | Non-GPU service | Contractual SLA | cloud.google.com/run/sla |
| Azure Kubernetes Service (Free tier) | None | Best-effort uptime | Free tier | No financially backed SLA | learn.microsoft.com |
| Azure Kubernetes Service (Standard or Premium, no availability zones) | 99.9% | Kubernetes API server | Standard or Premium tier | Contractual SLA | learn.microsoft.com |
| Azure Kubernetes Service (Standard or Premium, with availability zones) | 99.95% | Kubernetes API server | Standard or Premium tier with availability zones | Contractual SLA | learn.microsoft.com |
| Azure Container Apps | 99.95% | App connectivity to Microsoft’s internet gateway | None stated in the SLA | Contractual SLA | Microsoft SLA for Online Services |
| Red Hat OpenShift Service on AWS (ROSA classic and ROSA with hosted control planes) | 99.95% | Cluster API endpoint | None stated | Contractual SLA (Red Hat) | Red Hat Product Appendix 4 |
| Azure Red Hat OpenShift | 99.95% | Cluster API endpoint | None stated | Contractual SLA | Microsoft SLA for Online Services |
| DigitalOcean Kubernetes | 99.95% | Control plane | High-availability control plane enabled | Contractual SLA | digitalocean.com/sla/doks |
| IBM Cloud Kubernetes Service | Not published in the service docs | Per IBM Cloud SLA terms | Standard plan; multizone cluster with at least 6 worker nodes spread evenly across 3 zones for full coverage | IBM Cloud SLA terms; the docs also cite service level objectives | cloud.ibm.com |
| Render | Not published | Not published | Enterprise plan | Contractual uptime SLA on Enterprise (number not published) | render.com/pricing |
| Railway | Not published | Not published | Enterprise plan | Contractual SLA on Enterprise (number not published) | railway.com/pricing |
Almost every Kubernetes SLA in the table covers only the API server, the component that accepts kubectl commands and stores desired state for controllers to reconcile. GKE Autopilot adds a pod SLA, and the ECS and Fargate SLA counts downtime when all running tasks or pods across two or more Availability Zones fail at once. None of them commits to user traffic being served end to end. The serverless container services come closer to covering the application, but they still measure availability per region, offer no multi-region SLA, and exclude customer-caused failures.
What does a container SLA cover?
A container stack has three layers with different SLA owners: the Kubernetes control plane, the worker nodes, and the running pods. Exclusions and credit terms then limit what each SLA pays out on.
Which layer does a Kubernetes SLA cover?
A managed Kubernetes SLA almost always applies to the control plane. The provider runs the API server, etcd, scheduler, and controller manager, but the SLA measures one thing: whether the API server endpoint responds. If it responds, the provider counts the service as available even if your pods are crashing or your worker nodes are unreachable.
Worker nodes fall under the compute SLA. Amazon EC2 instances across two or more Availability Zones carry a 99.99% region-level SLA. Azure virtual machines across two or more availability zones carry 99.99%. Google Compute Engine instances across zones carry 99.99% on Premium Tier networking. These SLAs are separate from the Kubernetes service SLA. They measure VM availability and connectivity, and container health on the VM is outside their scope.
Outside a few exceptions (ECS and Fargate tasks across Availability Zones, GKE Autopilot pods across zones, and AKS Automatic’s pod readiness SLA, which covers how fast pods become ready), running pods and containers have no hyperscaler SLA. Pod availability depends on replica count, health checks, resource limits, deployment strategy, and the application code.
How do zonal and regional clusters differ?
A zonal cluster runs its control plane in one zone, and if that zone fails, the API server goes down. GKE’s zonal SLA reflects that risk at 99.5%. Regional GKE clusters and AKS clusters with availability zones spread the control plane across zones, which raises the SLA to 99.95%.
A regional cluster is still a single-region deployment. A full regional outage takes down the control plane and every worker node in that region. No hyperscaler Kubernetes SLA covers a multi-region deployment as a whole. Each cluster’s SLA stands alone, and cross-region failover is the customer’s job.
What do cloud SLAs exclude?
Cloud SLAs exclude certain categories of downtime from the availability calculation. Common exclusions include:
- Failures caused by customer actions, such as misconfiguration, resource exhaustion, or bad deployments
- Scheduled maintenance (Google GKE, Red Hat, and DigitalOcean exclude it; the Amazon EKS SLA does not list maintenance as an exclusion)
- Preview, beta, or pre-GA features
- Factors outside the provider’s reasonable control
- Exceeding documented service limits or quotas
Downtime from an excluded cause does not count against the SLA, so real availability can fall below the published number without triggering credits.
What happens when a provider misses its SLA?
The remedy is a service credit on a future invoice. Credits typically start at 10% of the affected service’s monthly charges and, depending on the provider, top out between 25% and 100%. Credits are typically the sole remedy; providers do not compensate for lost revenue, data loss, or reputational damage. You must file a claim within a set window, which ranges from 15 days to three months depending on the provider.
How do SLA, SLO, and observed uptime differ?
An SLA is a contractual commitment with a financial remedy. A service level objective (SLO) is a target a team sets for itself, usually internal and sometimes published, with no contractual remedy if missed. Observed uptime is what happened over a measurement period. A service can observe 99.99% while publishing a 99.9% SLA, or miss its SLA in a given month and owe credits. High availability and how many nines you need covers each term in depth.
Can you get five nines on AWS, Google Cloud, or Azure?
Architecturally yes, if you build and operate the multi-region design yourself. Contractually no: each provider’s SLA still covers one service in one region, so the highest number you can claim credits against is that per-region figure.
If two independent regions each deliver 99.95% availability and each can carry full traffic alone, the probability that both are down at the same time is 0.0005 × 0.0005 = 0.00000025, or 0.000025%. The composite availability of the pair is 1 minus that number: 99.999975%. That figure is an architectural estimate. The contract behind it is still two separate 99.95% regional SLAs, and no provider owes credits against the combined number.
Two conditions must hold for the math to apply:
- The regions must fail independently. Correlated failures from shared control planes, global identity services, or DNS break the independence assumption and pull composite availability down.
- Failover must be automatic and fast. If a human has to notice the failure, decide to fail over, and update DNS or routing, that time counts as downtime. Five nines allows about 26 seconds a month, so a single failover that takes 30 seconds to detect and reroute uses up the month’s budget.
Every dependency in the request path counts against the total. If your application calls a single-region database, a single DNS provider, or a centralized authentication service, availabilities in series multiply, so the composite falls below the weakest link. The global load balancer or DNS layer in front of both regions is itself one of those serial components. Composite availability math and architecture patterns covers each design in detail.
Building this on raw cloud services means operating global load balancing, health checks, automated DNS failover, multi-region databases, cross-region networking, and observability across all of it. Active-active high availability across regions and clouds walks through the setup.
How much downtime does each SLA level allow?
| SLA level | Downtime per month (30 days) | Downtime per year (365 days) |
|---|---|---|
| 99.5% | 3 hours 36 minutes | 1 day 19 hours 48 minutes |
| 99.9% | 43 minutes 12 seconds | 8 hours 45 minutes 36 seconds |
| 99.95% | 21 minutes 36 seconds | 4 hours 22 minutes 48 seconds |
| 99.99% | 4 minutes 19.2 seconds | 52 minutes 33.6 seconds |
| 99.995% | 2 minutes 9.6 seconds | 26 minutes 16.8 seconds |
| 99.999% | 25.92 seconds | 5 minutes 15.36 seconds |
The step from 99.99% to 99.999% cuts allowed downtime by a factor of ten. That one nine separates a platform that can absorb a few minutes of regional failover from one that must recover in seconds.
How should you evaluate a five-nines SLA before you sign?
- What is measured, and from where? Some providers measure API responses from their own monitoring; others use external probes. The method decides what counts as an outage.
- Which components are in scope? Confirm whether the SLA covers the control plane, the compute layer, or the full request path to your application.
- What configuration is required? Most SLAs require multiple zones or regions, a specific tier, or a minimum replica count. A five-nines SLA that requires two locations does not apply if you deploy to one.
- What is excluded? Read the exclusion list. Maintenance, customer-caused failures, preview features, and quota limits are common carve-outs.
- What are the credits and the claim process? Know the credit at each availability level, how to file, and the filing deadline.
- Are data services included? If your database, cache, or message queue runs on a service with a lower SLA, that service sets the ceiling. Ask whether stateful workloads are covered.
- Is it an SLA or an SLO? Confirm the number is backed by service credits and is not an objective with no remedy.
- Is the SLA per region or global? Two regions at 99.95% can reach five nines architecturally, but the contract still covers each region at 99.95%. A five-nines SLA exists only when the provider commits to 99.999% for the multi-location deployment as a whole.
Enterprise SaaS buyers often ask vendors for 99.99% or better; SaaS uptime SLAs for enterprise customers covers what to offer and how to engineer it.
How does Control Plane deliver a 99.999% SLA?
On Control Plane, serverless, standard, stateful, and cron workloads run natively on AWS, GCP, and Azure, VM workloads run on locations joined through MK8s, and workloads also run on Kubernetes clusters you already run or your own machines, including on premises, active-active across regions and clouds.
The 99.999% availability SLA applies to workloads running at least two replicas in at least two locations. Those locations can be on different providers. The SLA covers the workload, which is what users reach. A Kubernetes API server SLA covers only the API server.
A workload deployed to a GVC runs active-active in every location of that GVC from one definition. Control Plane’s built-in global endpoint routes each request to the nearest healthy location and moves traffic automatically when a location fails. Adding a region or another cloud means adding a location to the GVC, and Control Plane deploys every workload in the GVC there. You do not build or operate a separate global load balancer or DNS failover layer.
Control Plane handles Day 2 operations for you, including autoscaling, Capacity AI right-sizing, built-in observability, and security, with no Kubernetes cluster to operate.
For stateful applications, the Template Catalog, Control Plane’s library of ready-to-install apps, includes multi-location databases such as CockroachDB and pgEdge. The data layer must also run in more than one location for the application to stay up.
BÆRSkin runs on Control Plane across multiple regions. CTO Gus Fune says Control Plane enabled the company “to host services in multiple regions with 99.999% availability and ultra-low latency” (Control Plane).
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. You pay for the CPU and memory a workload reserves, with no contracts or minimums.
Control Plane runs the routing, failover, autoscaling, and observability for multi-location deployments, whether a workload runs in one cloud or several. Teams comparing options can also see the best multi-cloud failover solutions and the best Kubernetes alternatives.
FAQ
Answers reflect each vendor’s published SLA terms as of November 2026.
Which platforms offer a 99.999% uptime SLA for containerized applications?
Control Plane publishes a 99.999% availability SLA for containerized application workloads running at least two replicas in at least two locations, which can be on different providers. UpCloud publishes 99.999% as the default SLA for its own services, including Managed Kubernetes. The AWS, Google Cloud, and Azure container services publish SLAs from 99.5% to 99.99%, measured per region, and most cover platform components such as the Kubernetes API server.
What is the SLA for Amazon EKS?
Amazon EKS publishes a 99.95% SLA for the Kubernetes API endpoint on the Standard Control Plane and 99.99% on the Provisioned Control Plane. It does not cover worker nodes or pods. Worker nodes fall under the EC2 SLA, which is 99.99% for instances across two or more Availability Zones. The terms are on the EKS SLA page.
What is the SLA for Google Kubernetes Engine?
GKE publishes 99.5% for zonal clusters and 99.95% for regional and Autopilot cluster control planes (99.9% in Stockholm). Autopilot also carries a 99.9% SLA for pods running in multiple zones (99.5% in Stockholm). Worker node availability falls under the Compute Engine SLA. The terms are on the GKE SLA page.
What is the SLA for Azure Kubernetes Service?
AKS offers no financially backed SLA on the Free tier. The Standard and Premium tiers provide 99.95% for the API server with availability zones and 99.9% without. AKS Automatic adds a pod readiness SLA. Worker node availability follows the Azure virtual machine SLA. The tiers are described on the AKS pricing tiers page.
Is a 99.999% SLA realistic for containers?
Yes, when the architecture removes single points of failure across locations, providers, and dependencies. It takes at least two replicas in at least two independent locations, automatic failover measured in seconds, and every component in the request path (DNS, databases, identity, networking) running at the same level. On Control Plane, a workload running at least two replicas in at least two locations of its GVC is backed by a 99.999% SLA, and the built-in global endpoint routes traffic to the nearest healthy location automatically.
What is the difference between an SLA and an SLO?
An SLA is a contractual commitment with a defined remedy, usually service credits, if the provider misses the target. An SLO is a target a team sets for a service, with no contractual consequence for missing it. Providers typically set internal SLOs above their SLAs so a missed SLO does not trigger credits. Confirm whether a quoted number is a contractual SLA or an SLO.
Does a Kubernetes SLA cover my application?
No. A managed Kubernetes SLA commits to a monthly uptime percentage for the Kubernetes API, with service credits if it falls short. It does not commit that your pods are scheduled, that your containers pass health checks, or that user traffic is served. GKE Autopilot’s pod SLA, the ECS and Fargate multi-AZ task SLA, and AKS Automatic’s pod readiness SLA are narrow exceptions. Application availability depends on replica count, deployment strategy, health checks, resources, and every dependency your application calls.
How many replicas and locations do I need for five nines?
At least two replicas in two independent locations. If one location fails completely, the other keeps serving traffic after failover, provided it has capacity for the full load. Three or more locations keep at least two serving during a location failure or maintenance, and each one carries a smaller share of traffic. On Control Plane, adding a location to a GVC deploys the workload there and adds it to global routing.
How does Control Plane handle failover during a cloud provider outage?
Control Plane’s built-in global endpoint routes each request to the nearest healthy location, and when a location becomes unhealthy, traffic moves to the remaining locations automatically. During the October 20, 2025 AWS us-east-1 outage, Control Plane customers with us-east-1 in their GVC had workloads active and running in healthy locations within 10 seconds, with no customer downtime, according to Control Plane’s internal incident telemetry.
Ready to run production workloads with a 99.999% availability SLA? Talk to the Control Plane team or sign up free.
Originally published on the Control Plane blog.


