Video details

Capacity and Stability Patterns

10.29.2017 at LISA

San Francisco

Brian Pitts (Eventbrite)

At Eventbrite, engineers are tasked with building systems that can withstand dramatic spikes in load when popular events go on sale. There are patterns that help us do this: * Bulkheads: partitioning systems to prevent cascading failures * Canary testing: Slowly rolling out new code * Graceful degradation: turning functionality on and off in response to failures or load * Rate limiting: controlling the amount of work you accept * Timeouts: limiting time you wait for a request you made to complete * Load shedding: purposefully not handling some requests in order to reserve resources for others * Caching: saving and re-serving results to lessen expensive requests * Planning: getting the resources you need in place, before you need them In this talk you learn about each of those patterns, how Eventbrite has adopted them, and how to implement them within your own code and infrastructure.