Scalable applications can handle increased usage or data
Choose scalable application designs
Design simple application architectures
Design to scale out
Partition data effectively
Design application infrastructure to scale
Load balance with hardware
Choose the appropriate hardware
Use common cluster configurations
Scalable applications are always available and fault tolerant
Defend against application failure
Ensure that the application is fault tolerant
Build redundancy into the application
Insulate against dependency failures
Scalable applications are manageable and maintainable
Ensure manageability and maintainability
Instrument the application code
Establish key live site metrics and goals
Plan for disasters
Invest in change management