Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
How We Deploy Shopify by Kat Drobnjakovic Shopify is one of the largest Rails apps in the world and yet remains to be massively scalable and reliable. The platform is able to manage large spikes in traffic that accompany events such as new product releases, holiday shopping seasons and flash sales, and has been benchmarked to process over 25,000 requests per second, all while powering more than 243,000 businesses. Even at such a large scale, all our developers still get to push to master and deploy Shopify in 3 minutes. Let's break down everything that can happen when deploying Shopify or any really big Rails app.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In this presentation, Kat Drobnjakovic, a developer at Shopify, discusses the deployment process for Shopify, one of the largest Rails applications globally, capable of processing over 25,000 requests per second. The main topic revolves around the deployment mechanisms that ensure reliability and scalability as the platform serves more than 275,000 businesses. Key points covered include: - **Overview of Shopify**: Introduced as a platform that empowers online commerce, Shopify facilitates more than $17 billion in sales. - **Deployment Tool**: The open-source tool 'Ship It' streamlines deployment by allowing developers to submit pull requests, which can be merged into the master branch for deployment. - **Deployment Process**: The deployment is initiated by pressing a button that triggers a Capistrano script, which manages the transition of new code to the server. Visual representations on the deployment screen help monitor progress. - **High Frequency of Deployment**: Shopify deploys about 30 times daily, with a record of 41 in one day, enabling rapid updates and fixes. - **Exit Status Management**: The process includes checking exit statuses to ensure successful deployments, with actions taken to resolve issues in case of failures. - **Handling Traffic Spikes**: The robust process is crucial in accommodating high traffic from large clients during critical events such as product launches and sales. - **Load Balancers and Shipment**: Incoming requests are managed by load balancers to distribute traffic to the relevant servers, ensuring that even during transitions, requests are handled appropriately. - **Data Center Management**: Shopify operates two data centers for active traffic management and failover procedures, ensuring continuous service even during deployment issues. In conclusion, the deployment process at Shopify is characterized by its efficiency, reliability, and ability to handle a significant load while maintaining system integrity. Kat's insights highlight the importance of a well-structured deployment strategy in supporting a massive and rapidly-changing e-commerce platform.
Suggest modifications
Cancel