<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Devops on Osmar Petry</title><link>https://osmarpetry.dev/tags/devops/</link><description>Recent content in Devops on Osmar Petry</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 01 Sep 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://osmarpetry.dev/tags/devops/rss.xml" rel="self" type="application/rss+xml"/><item><title>Backend Architectures — history, case studies &amp; dogfooding</title><link>https://osmarpetry.dev/blog/introduction-to-be-archtitectures/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate><guid>https://osmarpetry.dev/blog/introduction-to-be-archtitectures/</guid><description>&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Know the &lt;strong&gt;history&lt;/strong&gt; (monolith → services → serverless) to choose the &lt;strong&gt;right shape for now&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Use &lt;strong&gt;dogfooding&lt;/strong&gt; to turn internal capabilities into &lt;strong&gt;platforms&lt;/strong&gt; and eventually &lt;strong&gt;products&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Pair &lt;strong&gt;tech + finance&lt;/strong&gt; on every decision so architecture choices have a clear &lt;strong&gt;P&amp;amp;L story&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="case-studies-what-they-did--why-it-mattered"&gt;Case studies (what they did → why it mattered)&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Amazon&lt;/strong&gt;: built infra &amp;amp; tooling for itself first (&lt;strong&gt;dogfood&lt;/strong&gt;) → later externalized as &lt;strong&gt;AWS&lt;/strong&gt; (new revenue, 2× monetization of the same effort).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Netflix&lt;/strong&gt;: &lt;strong&gt;hybrid&lt;/strong&gt; of microservices + serverless; serverless for bursty/edge workloads, services for core domains → &lt;strong&gt;speed + cost control&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Google&lt;/strong&gt;: evolved from large coordinated monoliths to &lt;strong&gt;microservices&lt;/strong&gt; as scale/teams grew → &lt;strong&gt;independent deploys&lt;/strong&gt; and &lt;strong&gt;targeted reliability&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Uber&lt;/strong&gt;: reused &lt;strong&gt;profile, payments, geo, notifications&lt;/strong&gt; to launch &lt;strong&gt;Eats&lt;/strong&gt; quickly → &lt;strong&gt;time-to-market&lt;/strong&gt; by reusing platform primitives.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="decision-heuristics-when-to-pick-what"&gt;Decision heuristics (when to pick what)&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Monolith first&lt;/strong&gt; when the team is small, domain still moving, and you need &lt;strong&gt;velocity&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Split by domain&lt;/strong&gt; (bounded contexts) when teams block each other and deploys become risky.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Serverless&lt;/strong&gt; for event-driven, spiky, or edge tasks where &lt;strong&gt;operational burden&lt;/strong&gt; must be minimal.&lt;/li&gt;&#10;&lt;li&gt;Always design for &lt;strong&gt;observability&lt;/strong&gt; (logs/metrics/traces) and &lt;strong&gt;clear failure domains&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&lt;h2 id="dogfooding--productization-loop"&gt;Dogfooding → productization loop&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Build&lt;/strong&gt; the capability you need (internal API/service).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Harden&lt;/strong&gt; with SLOs, docs, dashboards.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Reuse&lt;/strong&gt; across 2–3 internal products (prove generality).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Abstract&lt;/strong&gt; contracts (versioning, quotas, cost model).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Externalize&lt;/strong&gt; (SDKs, billing, support) when economics are clear.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;&lt;strong&gt;Two-sided payoff:&lt;/strong&gt; internal reuse lowers &lt;strong&gt;cost/time&lt;/strong&gt;, externalization creates &lt;strong&gt;revenue&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>