RR 421: Scaling and Shopify with Kirill Shatrov
Sentry use code “devchat” for $100 credit
Cloud 66 - Pain Free Rails Deployments: Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Charles Max Wood
With Special Guest: Kirill Shatrov
Today’s guest Kirill Shatrov is a production engineer on Shopify based in London, UK. Today, he and the panel are discussing capacity planning. Kiril believes that capacity planning becomes a priority when your company starts losing money and your customers are suffering. When someone does get to the point of scaling their app, it’s important to look at the limitations of the hosting service. It is also important to remember that scaling is not a job that ever completes.
Kirill’s talks about his experience and time with Shopify and what types of changes have happened in the four years he’s been with the company. Kirill explains that when Shopify was founded about 12 years ago, they were some of the first contributors to Rails, and Rails was just a zip file they shared over an email. This is important to know because the monolith code for Shopify has never been rewritten, so they put a lot of care into keeping it working. He talks about some of the techniques Shopify uses to avoid splitting into microservices when scaling their organization and how the multiple instances of the database is structured and managed from an opps point of view. He talks about what aspects of Shopify are open source and the approach to the architecture of the background jobs system.
The panel discusses what should be done if you want to scale your project and move away from background jobs. Kirill talks about what criteria his company uses to determine what moves to a background job and when it is too much to background something. The show finishes with Kirill sharing some of his favorite tips, tricks, and approaches he’s used at Shopify.
Charles Max Wood: