UW Information Technology

Scalable

Purpose: Accommodate business work load and data growth in a capable and cost-effective manner.

Concept

  • Strive for statelessness
  • Make aggressive use of caching
  • Design scalability into solutions from the start
  • Enable distribution of workload
  • Design solutions to scale horizontally out, not up
  • Communicate asynchronously between services; accept some data inconsistency
  • Use virtualization and Cloud to meet unexpected or spiky demand

Achieving this Guiding Principle

Best Practice
Applications and services are designed to distribute load amongst clusters of servers and are designed for “scale-out”, as opposed to “scale-up”.
New servers are deployed using virtualization.
Applications and services are stateless.
Applications and services are monitored continuously and adjust automatically to problems or changing capacity requirements.
Applications and services avoid relational database storage unless required for OLTP.
Systems use read-only copies of data to meet high demand data access requirements.