Tuesday, April 28, 2009

Six Audacious Goals for Your System

With apologies to the authors of the futurist programming notes, here is a set of audacious goals for your system (by which I mean your collection of web sites, webservices, databases, and so on):
  1. Make your entire system runnable (for debugging/development) on a single machine, via a single command,
  2. ...without manual configuration,
  3. ...without an Internet connection.
  4. Demonstrate that your system works flawlessly even when you permanently and unexpectedly unplug the power cable from any one machine (even your most precious database).
  5. Make one of your N-tier architectures M-tier, where M < N.
  6. Optimize every user-visible action so that it is perceived to complete in less than one second.

No comments:

Avoiding fallback in distributed systems

As previously mentioned , I was recently able to contribute to the Amazon Builders' Library . I'd also like to share another post t...