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
Emergency ManagementOpen2Study Resilience in Children Exposed to Trauma, Disaster and War: Global Perspectives
University of Minnesota via Coursera MongoDB Advanced Deployment and Operations
MongoDB University Arch403: Designing Resilient Schools
Build Academy via EdCast Bases de données relationnelles : Comprendre pour maîtriser
Inria (French Institute for Research in Computer Science and Automation) via France Université Numerique