Requirements
Extended:
Snapshots
Design considerations
Capacity Estimation
High level design
Client design
Metadata Database
Sync service
Message queueing service
2. Response Queue
Storage service
Save chunks in cloud
File processing workflow
Deduplication
2. Inline deduplication
Metadata partitioning
Use consistent hashing
Caching
2. Metadata cache
Load balancer
2. Between clients and metadata servers.
Security