Managed Keycloak on AWS — Fargate cells, a serverless control plane, an Aurora PostgreSQL source of truth, and availability that scales with your architecture tier.
A stateful data plane on AWS Fargate fronted by CloudFront and an ALB, with everything around Keycloak running serverless in the control plane.
Long-running, clustered Keycloak (Quarkus) across AZs via JDBC_PING, autoscaled on CPU. Not Lambda, not native — both break the SPIs and clustering the product depends on.
Provisioning, billing, AI-config, analytics, notifications, and the STS token-broker run on Lambda and drive Keycloak through its Admin REST API.
Multi-AZ primary + synchronous replica is the source of truth. Sessions persist to the DB (persistent-user-sessions); Infinispan is an in-region near-cache.
A cell is a self-contained Keycloak unit (Fargate + its DB + its cache) bounded to a set number of realms. You scale by adding cells; a placement engine routes each tenant to one.
Two premium options, depending on whether you need disaster recovery across clouds or true active-active. Standard deployments stay single-cloud, multi-region.
Aurora (AWS) replicates to Azure Database for PostgreSQL via logical replication — physical log shipping isn't possible on Aurora. Active-passive with DNS failover; great for DR and data sovereignty.
One distributed-SQL cluster spans clouds with no failover gap — the tier that credibly backs 99.99%. Trades that for gated DB migrations, cross-cloud egress cost, and heavier ops.
| Tier | Architecture | Target SLA |
|---|---|---|
| Single region | Aurora Multi-AZ | 99.9% |
| Multi-region | Aurora Global active-passive + DNS failover | 99.95% |
| Active-active multi-cloud | YugabyteDB (no failover gap) | 99.99% |
SLA tiers are backed after production maturity.
| Standard (included) | Premium (opt-in) |
|---|---|
| Single AWS region, Multi-AZ | Multi-region active-passive DR (Aurora Global) |
| Pooled cells, realm-per-tenant | Dedicated silo (own Keycloak + DB) |
| Aurora PostgreSQL | Cross-cloud warm standby (AWS→Azure) |
| 99.9% target SLA | YugabyteDB active-active (99.99% target) |
Migration, rolling upgrades & patching, HA & resiliency, realm setup, analytics, and security — all in the documentation.