Healthcare Document Migration
Zero-downtime migration of 2 million healthcare documents from Cloudinary to AWS S3.
The Migration Challenge
Clipboard Health’s platform relied on Cloudinary to store and serve healthcare documents — credentials, certifications, and compliance records for thousands of healthcare professionals. As the platform scaled, Cloudinary’s cost structure and performance characteristics became limiting factors. I led the migration to AWS S3, moving 2 million documents without any downtime, since healthcare staffing operations run continuously and document access delays directly impact shift placements.
Dual-Write Consistency Pattern
The migration used a dual-write pattern to ensure zero downtime. New documents were written to both Cloudinary and S3 simultaneously, while a background migration job worked through the historical backlog. A feature flag controlled which storage backend served read requests, enabling gradual traffic shifting and instant rollback. Automated consistency checks compared document checksums between the two systems, and an automated rollback mechanism would revert to Cloudinary if error rates exceeded defined thresholds. The entire migration completed over one month with zero data loss and no user-facing disruptions.
GraphQL Performance and Observability
Alongside the storage migration, the GraphQL API layer received significant performance optimization. Dataloader batching eliminated the N+1 query patterns that had accumulated as the schema grew, and query complexity limits prevented expensive operations from degrading the system for other users. These changes delivered a 75% improvement in API response times. A Datadog observability stack — with custom dashboards for document retrieval latency, error rates, and migration progress — reduced mean time to resolution (MTTR) by 85%, turning incident response from guesswork into a structured process.
Zero-downtime migrations are not about clever tooling — they are about building confidence through automated verification at every step, so rollback is always one flag flip away.