Make money doing the work you believe in

๐—ฆ๐—ต๐—ผ๐—ฝ๐—ถ๐—ณ๐˜† ๐—ต๐—ถ๐˜ ๐Ÿฐ๐Ÿด๐Ÿต๐—  ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐˜€/๐—บ๐—ถ๐—ป ๐—ฑ๐˜‚๐—ฟ๐—ถ๐—ป๐—ด ๐—•๐—น๐—ฎ๐—ฐ๐—ธ ๐—™๐—ฟ๐—ถ๐—ฑ๐—ฎ๐˜† ๐—ผ๐—ป ๐—ฎ ๐—บ๐—ผ๐—ป๐—ผ๐—น๐—ถ๐˜๐—ต

Many engineers assume this scale forces microservices.

Shopify keeps proving a different playbook: ๐—ผ๐—ป๐—ฒ ๐—ฑ๐—ฒ๐—ฝ๐—น๐—ผ๐˜†, ๐˜€๐˜๐—ฟ๐—ผ๐—ป๐—ด ๐—ฏ๐—ผ๐˜‚๐—ป๐—ฑ๐—ฎ๐—ฟ๐—ถ๐—ฒ๐˜€, ๐—ต๐˜‚๐—ด๐—ฒ ๐—ถ๐—ป๐—ณ๐—ฟ๐—ฎ

๐—•๐—น๐—ฎ๐—ฐ๐—ธ ๐—™๐—ฟ๐—ถ๐—ฑ๐—ฎ๐˜† ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฑ, ๐—ฏ๐˜† ๐˜๐—ต๐—ฒ ๐—ป๐˜‚๐—บ๐—ฏ๐—ฒ๐—ฟ๐˜€:

๐Ÿ”น $14.6B merchant sales (+27% YoY)

๐Ÿ”น Edge: 489M requests/min peak (312M avg across BFCM)

๐Ÿ”น App servers: 117M requests/min peak (+40% YoY)

๐Ÿ”น API: 31.8M requests/min peak

๐Ÿ”น Observability: 11TB logs/min at peak

๐Ÿ”น Kubernetes: 3.18M CPU cores at peak

๐Ÿ”น DB (MySQL 8): 53.8M queries/sec, plus 4.28B row ops/sec at peak

๐Ÿ”น Writes: 2M writes/sec at peak

๐Ÿ”น CDN: 183M requests/min, 97.8% served from cache

๐Ÿ”น Async: 23.2M jobs/min at peak

๐Ÿ”น Streaming: Kafka + Flink, 150 MB/sec processed; analytics latency improved 103ร—

Why a modular monolith works here:

โžก๏ธ One codebase, one release train, one primary runtime.

โžก๏ธ Clear domain components (orders, inventory, billingโ€ฆ) with enforced interfaces.

โžก๏ธ Rails Engines + tooling (Packwerk) to keep boundaries real, not โ€œhandshake agreementsโ€.

๐Ÿ‘‰ ๐—ง๐—ฎ๐—ธ๐—ฒ๐—ฎ๐˜„๐—ฎ๐˜†: scaling often fails from ๐—ฏ๐—ผ๐˜‚๐—ป๐—ฑ๐—ฎ๐—ฟ๐˜† ๐—ฑ๐—ฒ๐—ฏ๐˜, not โ€œmonolith vs microservices.โ€

Pick the simplest architecture that lets teams ship fast, then enforce boundaries hard.

Dec 16
at
7:44 AM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.