DevOps & platform
Build vs Buy — use OSS & managed services
This site teaches how these systems work under the hood — but in production you usually don't hand-code them; you pick a mature open-source or managed product that already does.
✗ Problem
The temptation to build everything yourself
It's tempting to roll your own message broker, cache, search engine, or auth system — "how hard can it be?" It's harder than it looks, and it isn't your product.
// "We'll just build our own message broker…"
class MyBroker {
publish(topic, msg) { /* retries? ordering? */ }
subscribe(topic, fn) { /* backpressure? */ }
// + persistence, replication, dead-letter queues,
// exactly-once delivery, auth, monitoring…
// six months later: a worse, buggier Kafka.
}
Reinventing battle-tested infrastructure costs months, ships subtle bugs —
especially in auth and distributed systems — and isn't where your
product earns its value.
✓ The principle
→
→
Build your differentiator. Buy the commodity.
Build what makes your product unique. Buy — as a managed service or self-hosted OSS — the "undifferentiated heavy lifting" everyone needs.
Managed service
a vendor runs it
Self-hosted OSS
you run it
Build from scratch
last resort
- Core? is it our product's differentiator, or commodity plumbing?
- Reliability — battle-tested at scale vs. our own edge cases
- Ops burden — who's on call when it breaks at 3am?
- Total cost — engineering time to build+maintain vs. fees
- Lock-in — can we migrate away later if we need to?
- Compliance — vendor already has the certifications we need
- Time-to-market — ship in days, not months
✓ See it live
What do you need? Pick one.
Click a need. See the concept lesson on this site, the popular products that already implement it, and the verdict.
Pick a need above ↑ to see what already solves it.
✓ Takeaway
Learn the concept. Let a product run it.
- Don't reinvent commodity infrastructure — queues, caches, search, auth, storage, workflow, observability all have mature answers already.
- Prefer the order: managed service → self-hosted OSS → build from scratch (only when nothing fits).
- Build your unique domain logic — that's the one thing no vendor can sell you.
- Learning the concepts — this whole site — is what lets you pick, configure, and debug the products you buy, instead of using them blindly.
- It's YAGNI + DRY applied at ecosystem scale: don't build what already exists and is already shared.
- Caution: watch cost-at-scale, vendor lock-in, and the rare case where no product actually fits your constraints.
Back to all topics →