Artwork
iconShare
 
Manage episode 517534465 series 3674688
Content provided by Rails Foundation, Robby Russell, Rails Foundation, and Robby Russell. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Rails Foundation, Robby Russell, Rails Foundation, and Robby Russell or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.

In this episode of OnRails, Robby is joined by Miguel Conde and Peter Compernolle from Gusto, where they work on a "biolith"—two distinct Rails monoliths serving 600+ engineers. Peter leads the HIPAA-compliant benefits domain, while Miguel is extracting the time product from the main monolith. They explore how Gusto identifies boundaries, manages temporal data, handles eventual consistency, and navigates the trade-offs of GraphQL federation.

🧰 Tools & Libraries Mentioned

ActiveAdmin: Admin UI for Rails.

after_commit_everywhere: Run code after commits.

Datadog: App and CI/CD observability.

FactoryBot: Build test data.

GraphQL: API layer for SPAs.

Kafka: Event streaming backbone.

Packwerk: Enforce boundaries in monoliths.

PaperTrail: Model change auditing.

React: Front-end framework.

Sidekiq: Background job processing.

Sorbet: Gradual Ruby types.

TypeScript: Typed JavaScript.

explicit_activerecord: Guard writes to models.

Ruby Koans: Learn Ruby by practice.

Cracking the Coding Interview: Interview prep book.

Gusto Engineering Blog: Posts from Gusto engineers.

Send us a text

On 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, a consultancy that helps teams modernize their Ruby on Rails applications.

  continue reading

Chapters

1. Intro and welcome to Miguel and Peter from Gusto (00:00:00)

2. What keeps them "On Rails" and Rails' speed advantage (00:01:08)

3. The "biolith" setup and HIPAA compliance separation (00:02:51)

4. Working in the larger monolith versus benefits app (00:07:55)

5. Identifying boundaries when extracting services (00:10:15)

6. How Packwerk helps define and detect dependencies (00:11:28)

7. Why Sorbet transformed Packwerk's usefulness (00:13:47)

8. Enforcing boundaries Rails doesn't give by default (00:21:49)

9. Making Active Record models private with Explicit Active Record (00:26:56)

10. Rethinking database normalization and snapshots (00:34:47)

11. Temporal and bi-temporal data for audit trails (00:39:34)

12. Company Pool system for scrubbed production data (00:46:45)

13. How GraphQL federation affects service boundaries (01:06:10)

14. Rails as a Formula One car: fast but tricky with weight (01:12:20)

15. Book recommendations and learning by building (01:29:57)

8 episodes