This document discusses building a scalable online backup system in Python. It describes the architecture including using a load balancer, app servers to handle uploads and deliver web pages, and task servers to do heavy lifting like file processing. It discusses scaling the system to upload over 100k files in a day by having clients upload in chunks and using technologies like Django, PostgreSQL, Memcached, Amazon S3 storage and EC2 servers. It also reflects on lessons learned including that Python was flexible but PostgreSQL could be replaced with MySQL and a native Windows client may not have been needed.
Related topics: