* Scale to billions of users. Quickly. Easily.
* Don't lose user data. Even if a machine dies. Even if a meteor hits a data-center.
* Maximize uptime, running costs be damned.
* Provide a simple programming model to the application.
* Provide a relatively simple and well-understood Ops environment.
* Don't lose user data. Even if a machine dies. Even if a meteor hits a data-center.