From Blueprints for High Availability, Second Edition, by Evan Marcus & Hal Stern, 2003

20. Don't Be Cheap
19. Assume Nothing
18. Remove Single Points of Failure (SPOFs)
17. Enforce Security
16. Consolidate Your Servers
15. Watch Your Speed
14. Enforce Change Control
13. Document Everything
12. Employ Service Level Agreeents (SLAs)
11. Plan Ahead
10. Test Everything
09. Separate Your Environments
08. Learn from History
07. Design for Growth
06. Choose Mature Software
05. Choose Mature, Reliable Hardware
04. Reuse Configurations
03. Exploit External Resources
02. One Problem, One Solution
01. KISS (Keep It Simple)