Capacity Planning

(Seems reasonable to have the Statistics for Engineers course be a pre-req for this course)

Fundamentals of capacity planning

Resource usage investigation and exploration

  • Examples: CPU:req/sec ratio, memory footprint:req/sec ratio, disk consumption per user/per sale/per widget, etc.
  • Application:Infrastructure metric relationships
  • 2nd order capacity (logging, metrics+monitoring systems, ancillary systems)

Finding ceilings

  • Discovering resource limits
  • Comparing different hardware/instance profiles - production load versus synthetic
  • Multivariate infra limits (multiple resource peak-driven usage) Ex: web+image uploads, caching storage+processing, etc.
  • Architecture analysis (anticipating the next bottleneck)

Forecasting

Details of automatic forecasting and scaling

Seasonality and future events

  • Organic growth approaches (bottom-up infra driven, top-down app driven)
  • inorganic growth events (new feature launch, holiday effects, “going viral”, major public announcement)
  • Provisioning effects on timelines, financial tradeoffs

Diagonal scaling

(vertically scaling your already horizontal architecture)

Reprovisioning and legacy system usage tradeoffs