37signals moved 5 petabytes (5 billion files) from AWS S3 to self-hosted Pure Storage FlashBlade with zero downtime in under 10 days. The migration required custom Rails tooling for coordination, DuckDB for efficient data partitioning, and careful reconciliation processes. Key challenges included AWS bandwidth limits, the 90-day egress waiver window, and verification anxiety. The team used dual-write strategies, S3 inventory reports, and multiple verification passes before final deletion. The project demonstrated that cloud exit is technically feasible but requires meticulous planning around bandwidth constraints, reconciliation, and psychological readiness for irreversible deletion.
Sort: