* Scale to billions of users. Quickly. Easily.
* Don't lose user data. Even if a machine dies. Even Mostly even if a meteor hits a data-center.
* Provide a simple programming model to the client, and to the web application.
* Provide a relatively simple and well-understood Ops environment.