1. A high-availability system for managing documents on a cloud-based computing platform, the system comprising: two or more load balancers configured to route requests received from a client; one or more document servers for handling the requests routed by the two or more load balancers, wherein each document server includes multiple document server instances, each of which is responsible for processing edits for particular documents, and wherein each document is dynamically associated with one document server instance; a primary repository for periodically uploading snapshots of documents from the one or more document server instances, and a secondary repository for storing edits to the documents.