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):
- Make your entire system runnable (for debugging/development) on a single machine, via a single command,
- …without manual configuration,
- …without an Internet connection.
- 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).
- Make one of your N-tier architectures M-tier, where M < N.
- Optimize every user-visible action so that it is perceived to complete in less than one second.