Reliability
The system should continue to work correctly (performing the correct function at
the desired performance) even in the face of hardware, software
faults, human error etc.
Scalability
As the system grows (in data volume, traffic volume or complexity), there should
be reasonable ways of dealing with that growth.
Maintainability
Over time, many different people will work on the system (engineering and oper‐
ations, both maintaining current behavior and adapting the system to new use
cases), and they should all be able to work on it productively.