Scaling Shopify's Multi-Tenant Architecture across Multiple Datacenters
Offered By: USENIX via YouTube
Course Description
Overview
Explore the evolution of Shopify's multi-tenant architecture from a single-database, single-datacenter Rails application to a multi-database, multi-datacenter setup in this 39-minute conference talk from SREcon16 Europe. Discover the advantages of resource sharing among customers, including the ability to handle high-traffic events like flash sales. Learn about the challenges of scaling such architectures and isolating issues like resource starvation and back-end outages. Follow the journey through various stages of development, including partitioning, stateless servers, and the implementation of floating capacity. Gain insights into strategies for improving resiliency, scalability, and disaster recovery. Understand the trade-offs between isolation and utilization, and explore future directions for Shopify's infrastructure. Delve into topics such as datacenter failure handling, multiple load balancers, and the use of EngineX to enhance system performance and reliability.
Syllabus
Intro
About Shopify
The Spectrum
Conventional Rails
Partitioning
Why do we want to do this
How this looks
How failure was used
The advantage of one script
Stateless servers
Parting
Sorting Hat
Isolation vs Utilization
Floating Capacity
Next Chapter
Datacenter Failure
Multiple Load Balancers
Summary
EngineX
Conclusion
Taught by
USENIX
Related Courses
How to Not Destroy Your Production Kubernetes ClustersUSENIX via YouTube SRE and ML - Why It Matters
USENIX via YouTube Knowledge and Power - A Sociotechnical Systems Discussion on the Future of SRE
USENIX via YouTube Tracing Bare Metal with OpenTelemetry
USENIX via YouTube Improving How We Observe Our Observability Data - Techniques for SREs
USENIX via YouTube