DrupalCon Seattle 2019: The 1 Year and 1 Hour Capacity Plan in the Drupal World

Capacity, for a Site Reliability Engineer (SRE), it's the maximum amount of output a product deployment is capable of completing in a given period of time.
Capacity planning, on the other hand, is that process which determines the resources needed, like people, instances, CPU, memory, time and more, for the company to meet changing demands for its services – in other words, how it will meet its current and future customer needs.

Scenario: A customer provides a set of needs for hardware, sets a date and launches the site, but then he forgets to warn that they have sent out some (thousands of) emails to all their clients announcing their new website launch and when they come to look at it, the site may be very slow or worse still, not working at all!

This is when we all realize that, in the Launch Readiness Checklist, we are missing, aside some performance tuning, one of the most important aspects for scaling:

Capacity planning!!

This session is for people that want to know how they can start capacity planning for their products. Specially on the Drupal sites, but not only, there are so many components that we have to take in account, all of which can have an impact on capacity. Lack of database response, filesystem storage, memory, CPU, bandwidth and others surprises are avoidable if we keep an eye on capacity.

I want to share some good practice stories, by answering questions, like:

How to make a good capacity plan?
How to forecast resource needs and make it sustainable?
How to automate that process?
What generic metrics can we apply to capacity needs?
How to optimize using simple operational research formulas?
Plan ahead!

Drupal is a registered trademark of Dries Buytaert.