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