Back to Designing Data Intensive ApplicationsTopic 1 of 3
Chapter 1: Reliable, Scalable, and Maintainable Applications
Reliability, Scalability, and Maintainability
Today's applications are data-intensive, as opposed to compute-intensive. Raw CPU power is rarely the limiting factor — the bigger problems are the amount of data, the complexity of data, and the speed at which it changes.
Key Principles:
- Reliability: The system should continue to work correctly even in the face of adversity (hardware failures, software faults, human errors).
- Scalability: As the system grows (in data volume, traffic volume, or complexity), there should be reasonable ways to deal with that growth.
- Maintainability: Over time, many different people will work on the system. They should be able to work productively.