← Graph

Is the monolith a problem

talk 29 connections

Chikahiro Tokoro's opening talk at wroclove.rb 2025. Challenges the common narrative that monoliths are unscalable, slow to deploy, or unmaintainable by citing Shopify (145 billion requests on Black Friday 2023; peak 60M req/min; 30–40 deploys/day), Facebook (new release every 75 min), and the well-known microservices-hell diagram. Traces a decades-long pendulum between monoliths and service-oriented architectures: SOAP/SOA in 1998, Amazon's 2002 move from monolith to services (later exposed as AWS), Rails (2004), Twitter (2006, later migrating to Scala), GitHub (2008), Building Microservices + Kubernetes + Netflix (~2015), and now a 2025 swing back — ThoughtWorks' macro-trends report says 'modular monolith rises again', Amazon Prime Video moved from microservices back to monolith (cutting cost by 90%), and Google Trends shows Rails spiking in 2025. Compares monolith vs microservices on language, CI/deployment, infrastructure, latency, scaling (scale-up vs scale-out), tracing, and boundary clarity; invokes Conway's law and Sam Newman's warning that microservices are a bad choice for startups (Christian/Euro quote: 'startups with more microservices than customers'), plus the essential-complexity cost of retries and circuit breakers. Argues the next decade belongs to the modular monolith (citing Shopify's Packwerk and Sam Newman). Defines the God object as the real anti-pattern: one class knowing too much, tightly coupled, many callbacks, thousands of lines — causing 'change user registration, break payments' and, if you try to move to microservices with a God object, a distributed monolith. Prescribes two-step refactoring: (1) better modeling — understand DRY as 'single authoritative representation of knowledge' (Dave Thomas regrets how DRY was explained and Chikahiro met him in Tokyo), avoid drying up coincidental duplication, use DDD (recommends Matthias Verraes's blog). Walks a customer/invoice/receipt STI example showing how blind DRY produces a document God object and how separating knowledge yields natural modules. (2) Refactor incrementally with clear business merit — never a big-bang. Shares a real case extracting single-sign-on from a user God object into a Rails engine with a separate database. Recommends the Strangler Fig pattern (Martin Fowler), feature flags, and shadow traffic (referencing Simon's earlier talk) plus a Shopify blog post on real-life gradual migrations. Q&A covers displaying heterogeneous documents (use materialized views / Elasticsearch for read concerns, separate from modeling), metrics for measuring refactoring impact (no great answer — maybe time-to-new-feature or bug count), whether inheritance causes God objects (Sandi Metz: delegation > inheritance), educating teammates about modularity (ongoing struggle), and enforcing domain boundaries dynamically in Rails when Packwerk static analysis isn't enough (audience member describes using active-record boundary checks in test env that reject cross-engine writes not going through a public service API).

date
2025-03-14
type
talk
talk Is the monolith a problem
about
God Object concept
Central anti-pattern the talk blames for the complaints people usually blame on monoliths.
talk Is the monolith a problem
about
Talk predicts the modular monolith era and recommends it over microservices for most teams.
talk Is the monolith a problem
about
Chikahiro warns that migrating a God-object-laden monolith to microservices produces a distributed monolith.
talk Is the monolith a problem
about
DRY Principle concept
Uses DRY-as-knowledge to explain how God objects emerge from over-eager de-duplication.
talk Is the monolith a problem
about
Recommends DDD alongside DRY for better modeling.
talk Is the monolith a problem
about
Recommended incremental release technique for refactoring toward a modular monolith.
talk Is the monolith a problem
about
Shadow Traffic concept
Mentioned as an incremental-release technique, crediting an earlier conference talk.
talk Is the monolith a problem
about
STI is the example of how applying DRY to coincidental duplication creates a God object.
talk Is the monolith a problem
about
Conway's Law concept
Cited when explaining why microservices are often a solution to organizational autonomy rather than technical problems.
talk Is the monolith a problem
about
Packwerk tool
Recommended for enforcing modular boundaries inside a Rails monolith.
talk Is the monolith a problem
about
Talk is framed around Rails applications and Rails-specific refactoring techniques.
talk Is the monolith a problem
about
Rails Engine concept
Chikahiro's SSO refactor used a Rails engine with a separate database to extract user responsibilities.
talk Is the monolith a problem
about
Chikahiro explicitly recommends this Rails World 2024 Shopify talk.
talk Is the monolith a problem
about
Cited as a dramatic recent example of moving from microservices back to a monolith.
talk Is the monolith a problem
about
Used as a historical data point in the monolith-vs-services pendulum.
talk Is the monolith a problem
about
Cited as part of the essential complexity microservices add (retry + circuit breakers).
asked_at
Is the monolith a problem talk
First audience question.
asked_at
Is the monolith a problem talk
Second audience question.
asked_at
Is the monolith a problem talk
Third audience question.
asked_at
Is the monolith a problem talk
Fourth audience question.
asked_at
Is the monolith a problem talk
Final audience question, with follow-up from another attendee about active-record boundary hooks.
authored
Is the monolith a problem talk
Chikahiro delivered this talk as the opening speaker at wroclove.rb 2025.
from_talk
Is the monolith a problem talk
Chikahiro's practical advice on how to justify and sequence refactors.
from_talk
Is the monolith a problem talk
The talk's headline message.
from_talk
Is the monolith a problem talk
Lesson from the customer/invoice/receipt STI example.
from_talk
Is the monolith a problem talk
From Q&A about whether inheritance causes God objects.
from_talk
Is the monolith a problem talk
Audience-contributed technique in the Q&A for Packwerk's dynamic-calls blind spot.
talk Is the monolith a problem
presented_at
First talk of the conference, 2025-03-14.
person Toby Lütke
related_to
Is the monolith a problem talk
Chikahiro quotes Toby's Black Friday 2023 tweet (145B requests, 60M req/min peak) as evidence monoliths can scale.

Provenance

Created
2026-04-17 16:18 seed
Read by
17 extractions