<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Bhuvnesh Arya</title>
    <link>https://bhuvnesharya.com</link>
    <description>Software architecture, system design, and AI engineering writing.</description>
    <language>en</language>
  <item>
    <title>Choosing the Right Database Is a Workload Design Decision</title>
    <link>https://bhuvnesharya.com/writing/choosing-databases-workload-design</link>
    <guid>https://bhuvnesharya.com/writing/choosing-databases-workload-design</guid>
    <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
    <description>Compare relational, document, key-value, and search stores using realistic workloads. Treat polyglot persistence as a cost, not a default.</description>
  </item>
  <item>
    <title>Observability and Monitoring in Distributed Systems</title>
    <link>https://bhuvnesharya.com/writing/observability-in-distributed-systems</link>
    <guid>https://bhuvnesharya.com/writing/observability-in-distributed-systems</guid>
    <pubDate>Thu, 15 Oct 2026 00:00:00 GMT</pubDate>
    <description>Logs, metrics, and traces only help when correlation, SLIs, and alerts map to user-visible failure. Learn what to measure and which habits waste time.</description>
  </item>
  <item>
    <title>Designing for Failure: Beyond Retries and Circuit Breakers</title>
    <link>https://bhuvnesharya.com/writing/designing-for-failure</link>
    <guid>https://bhuvnesharya.com/writing/designing-for-failure</guid>
    <pubDate>Tue, 13 Oct 2026 00:00:00 GMT</pubDate>
    <description>Follow a request through timeouts, retry budgets, idempotency, circuit breakers, and bulkheads. See why naive retries can deepen an outage.</description>
  </item>
  <item>
    <title>Sync vs Async Communication in Distributed Systems</title>
    <link>https://bhuvnesharya.com/writing/sync-vs-async-communication</link>
    <guid>https://bhuvnesharya.com/writing/sync-vs-async-communication</guid>
    <pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate>
    <description>Request-response, queues, and event streams solve different coupling problems. An order-processing walkthrough shows when each earns its complexity.</description>
  </item>
  <item>
    <title>Designing Microservices with Domain-Driven Design</title>
    <link>https://bhuvnesharya.com/writing/designing-microservices-with-ddd</link>
    <guid>https://bhuvnesharya.com/writing/designing-microservices-with-ddd</guid>
    <pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate>
    <description>Microservices fail when teams cut by nouns instead of by change. Domain-Driven Design gives a sharper knife: bounded contexts, language boundaries, and a clearer case for waiting.</description>
  </item>
  <item>
    <title>Why Event-Driven Architecture Exists (And When It Does Not Help)</title>
    <link>https://bhuvnesharya.com/writing/why-event-driven-architecture</link>
    <guid>https://bhuvnesharya.com/writing/why-event-driven-architecture</guid>
    <pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate>
    <description>Event-driven architecture is a response to specific coupling problems. Use it when independent consumers and temporal decoupling matter; skip it when you only needed a queue or a function call.</description>
  </item>
  <item>
    <title>The Architecture Trade-offs Behind Technology Choices</title>
    <link>https://bhuvnesharya.com/writing/architecture-tradeoffs-behind-technology-choices</link>
    <guid>https://bhuvnesharya.com/writing/architecture-tradeoffs-behind-technology-choices</guid>
    <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    <description>Every technology choice encodes trade-offs about latency, coupling, operability, and failure. Make those trade-offs explicit before the logo on the diagram becomes the decision.</description>
  </item>
  <item>
    <title>Functional Requirements Tell You What to Build. Quality Attributes Shape How You Build It</title>
    <link>https://bhuvnesharya.com/writing/quality-attributes-shape-architecture</link>
    <guid>https://bhuvnesharya.com/writing/quality-attributes-shape-architecture</guid>
    <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
    <description>Turn 'make it fast and reliable' into scenarios you can design and verify against, then watch how those scenarios force structural choices.</description>
  </item>
  <item>
    <title>System Design vs. Software Architecture: Where Does One End and the Other Begin?</title>
    <link>https://bhuvnesharya.com/writing/system-design-vs-software-architecture</link>
    <guid>https://bhuvnesharya.com/writing/system-design-vs-software-architecture</guid>
    <pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
    <description>System design and software architecture are not rival camps. They are different zooms on the same system, and the boundary moves with context.</description>
  </item>
  <item>
    <title>A Beginner's Guide to Approaching System Design: Start with Why and What Before How</title>
    <link>https://bhuvnesharya.com/writing/approaching-system-design-why-what-before-how</link>
    <guid>https://bhuvnesharya.com/writing/approaching-system-design-why-what-before-how</guid>
    <pubDate>Sun, 20 Sep 2026 00:00:00 GMT</pubDate>
    <description>Before you pick Kafka, Kubernetes, or a fashionable service split, write down the outcome, the users, the load assumptions, and what must not fail.</description>
  </item>
  </channel>
</rss>
