Design Adobe Creative Cloud File Sync System
Problem
Design the file synchronisation system for Adobe Creative Cloud that keeps large creative files (PSD, AI, INDD) in sync across a user's devices.
Requirements
Functional:
- Upload from one device, sync to all others within 60 seconds
- Conflict resolution when file is modified on two devices simultaneously
- Version history (last 30 versions)
- Selective sync — user can choose which folders to sync
Non-functional:
- 30M users, average file size 200MB
- Upload bandwidth: delta sync only (not full file)
- 99.9% durability
Discussion points
- Chunking and delta sync (rsync-like rolling hash)
- Metadata service vs blob storage separation
- Conflict detection using vector clocks
- Bandwidth-efficient sync: block-level deduplication
- CDN and edge caching for download acceleration
added …