When Failure Is Not an Option: Surviving Cloud Outages in Go
summary
Form3 migrates from AWS + Java to a cloud-agnostic, active/active/active platform built in Go, running Kubernetes clusters in AWS, GCP and Azure with a single logical CockroachDB across three clouds and NATS JetStream for messaging; teams build against Cockroach and NATS, not vendor services. Platform uses XPDB and a cluster lifecycle operator to coordinate rolling upgrades, supports ~1,000 payments/sec, and proves resilience with 24-hour provider kill tests that cause zero customer-impact.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 1:48Multicloud architecture necessity
- 4:56Form3 multicloud transition
- 9:11Multicloud like availability zones
- 12:22Key V2 architecture swaps
- 16:19Migrating Java to Go
- 19:33Real-world testing proof
- 22:43Pod disruption budgets challenge
- 25:11Rolling node pools challenge
- 27:59DR testing as first-class
- 29:46Lessons learned
related talks
27mChoosing Cloud Native Technologies for the Journey to Multi-cloud
28mGlobal Payments: Subsecond Performance Worldwide
34mCloudy With a Chance of Kubernetes: Going From One To Three Cloud Providers
27mBuilding Ultra-Resilient Systems in Go
48mResiliency and Availability Design Patterns for the Cloud
57mResilient Cloud Architecture Design Patterns
46mSimplifying Scalable Cloud Application Development with Go
26mHelping One of Europe's Banks Re-platform with Declarative, Self-healing, Multi-cloud WasmCloud Clusters on Kubernetes
