Jean Boussier, Senior Staff Engineer at Shopify and member of the Rails Core team, joins Robby to dig into the performance realities behind modern Rails apps.They explore what it means to be IO-bound or CPU-bound, how Ruby’s Global VM Lock affects concurrency, and why "fast" is too vague to be useful. Jean explains why instrumentation is often the missing piece and shares thoughtful approaches to using background jobs with intention.They also talk about gem dependencies. The gems in your `Gemfile` are not magic. If your app depends on them, you should understand them. You can read the code. You can patch it. You can make it your own.This episode is a reminder that Rails is not a black box. It is a system you can study, shape, and improve. The more you learn how it works, the more confidently you can build with it.🔗 References & Resources Mentioned- 📖 Crafting Interpreters – A book Jean recommends for understanding how interpreters and Ruby internals work - 🧵 GVL Tools (Shopify gem) – A tool for measuring thread contention in Ruby apps - 📊 AppSignal – Monitoring platform that integrates with GVL instrumentation - 🚢 ShipIt Engine – Shopify’s open-source deployment tool - 🔒 Ruby’s Global VM Lock – Overview of what the GVL is and how it works - 🦄 Unicorn – A classic preforking Ruby web server - 🐆 Puma – A multi-threaded Ruby/Rack web server - 🔀 Pitchfork – Shopify’s fork of Unicorn, optimized for their infrastructure - ⚙️ ActiveRecord Async Queries – Jean’s Rails Core contribution for backgrounding slow queries - 🔗 GraphQL – Used at Shopify to structure and query API dataSend us a textOn Rails is a podcast focused on real-world technical decision-making, exploring how teams are scaling, architecting, and solving complex challenges with Rails. On Rails is brought to you by The Rails Foundation, and hosted by Robby Russell of Planet Argon.
--------
1:05:16
--------
1:05:16
Rosa Gutiérrez & Solid Queue
In this episode of ‘On Rails’, host Robby Russell (@planetargon) chats with Rosa Gutiérrez, Principal Programmer at 37signals, about the technical decisions behind Solid Queue - a database-backed job queue replacing Resque in their Rails apps.Rosa dives into why her team built Solid Queue, how it improves reliability, visibility, and maintainability, and the challenges of migrating live apps like Hey during active development. Learn how they tackled recurring jobs, long-running tasks, and testing strategies, plus insights on system design, scaling, and the joy of deleting old code.Topics:Why 37signals replaced ResqueBuilding a job queue with ActiveJob + MySQLTransparent job states & using Mission Control as a dashboardMigrating with minimal impactBest practices for recurring and long-running jobsRecommended tools, testing gems, and dev booksLinks:Rosa's migration script for scheduled jobs from Resque to Solid QueueAcidic JobChaotic JobRosa.codesRosa’s videos on Ruby EventsRosa on the 37signals Dev blogRosa on GithubRosa on LinkedInBook Recommendation: Refactoring, Second Edition by Martin Fowler#RubyOnRails #SolidQueue #BackgroundJobs #37signals #OnRailsPodcastSend us a textOn Rails is a podcast focused on real-world technical decision-making, exploring how teams are scaling, architecting, and solving complex challenges with Rails. On Rails is brought to you by The Rails Foundation, and hosted by Robby Russell of Planet Argon.
On Rails invites Rails developers to share real-world technical challenges and solutions, architectural decisions, and lessons learned while building with Rails. Through technical deep-dives and retrospectives with experienced engineers in the Rails community, we explore the strategies behind building and scaling Rails applications.Hosted by Robby Russell of Planet Argon.
Listen to On Rails, The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis and many other podcasts from around the world with the radio.net app