התחל במצב לא מקוון עם האפליקציה Player FM !
Miguel Conde & Peter Compernolle: Inside Gusto’s Rails Biolith
Manage episode 517534465 series 3674688
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.
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.
פרקים
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 פרקים
Manage episode 517534465 series 3674688
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.
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.
פרקים
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 פרקים
כל הפרקים
×ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.