<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>System Design Mastery</title>
    <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/</link>
    <description>A free system design course — 36 lessons from beginner to master, with interactive quizzes and an AI tutor.</description>
    <language>en</language>
    <lastBuildDate>Wed, 30 Sep 2026 22:50:31 GMT</lastBuildDate>
    <item>
      <title>From Zero to Millions: Scaling a Web Service</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/scaling-web-service/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/scaling-web-service/</guid>
      <description>The classic journey from one server to millions of users: vertical and horizontal scaling, load balancers, read replicas, CDNs, and sharding — with the napkin math to back it up.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>SOLID: Object-Oriented Design That Ages Well</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/solid-principles/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/solid-principles/</guid>
      <description>Five principles for code that survives contact with the future: one job per class, extend without rewriting, substitutes that keep their promises, small interfaces, and dependencies that point at abstractions — told through a home kitchen.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>From MVC to React: How Frontend Architecture Evolved</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/mvc-to-react/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/mvc-to-react/</guid>
      <description>How forty years of UI architecture fits together: the OOP ideas underneath, Smalltalk's Model-View-Controller, its MVP and MVVM descendants, the single-page app, and React's component model — told through a diner.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>The CAP Theorem</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cap-theorem/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cap-theorem/</guid>
      <description>Why a distributed data store can only pick two of consistency, availability, and partition tolerance — and what that trade-off means in practice.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Load Balancers</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/load-balancers/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/load-balancers/</guid>
      <description>How traffic gets distributed across a fleet of servers, the layers at which it happens, and the algorithms used to pick a target.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>NoSQL in Plain English: Picking the Right Database</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/nosql-databases/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/nosql-databases/</guid>
      <description>Why one database shape doesn’t fit every job: the four NoSQL families — key-value, document, wide-column, and graph — what each is good at, and how to choose between them and good old relational.</description>
      <category>Beginner</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Data Partitioning (Sharding)</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/data-partitioning/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/data-partitioning/</guid>
      <description>Splitting a dataset across multiple machines so no single node has to hold — or serve — all of it.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Design a URL Shortener</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/url-shortener/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/url-shortener/</guid>
      <description>Our first case-study lesson: apply hashing, sharding, caching, and rate limiting to a real interview classic.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Idempotency: Making Retries Safe</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/idempotency/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/idempotency/</guid>
      <description>Networks fail, so we retry — but a retry can double-charge a credit card. How idempotency keys and idempotent operations make retries safe.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>AuthN &amp; AuthZ: Who Are You, What Can You Do?</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/authn-authz/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/authn-authz/</guid>
      <description>From passwords to JWTs to OAuth2 — how systems verify who you are (authentication) and decide what you are allowed to do (authorization).</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Caching Strategies</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/caching-strategies/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/caching-strategies/</guid>
      <description>Cache-aside, read-through, write-through, and write-behind: where caches live, how data gets in and out, and how to survive eviction, TTLs, and stampedes.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Content Delivery Networks</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cdns/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cdns/</guid>
      <description>How CDNs put your content on every continent: edge PoPs, cache hierarchies, TTLs and purging, origin shields, and accelerating dynamic content.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Cloud-Native Architecture: Building for Someone Else's Computer</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cloud-native-architecture/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/cloud-native-architecture/</guid>
      <description>Regions and availability zones, managed services vs self-hosting, Kubernetes essentials, serverless cold starts, the 12-factor rules, and the bill at the end — how to build on someone else's computer without getting burned.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Message Queues</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/message-queues/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/message-queues/</guid>
      <description>Decoupling producers from consumers with queues: delivery guarantees, ordering, backpressure, and how Kafka, RabbitMQ, and SQS differ.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>API Gateways</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/api-gateways/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/api-gateways/</guid>
      <description>The front door of your system: routing, authentication, rate limiting, and request shaping — and how gateways differ from plain reverse proxies.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>BFF: One API Per Client</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/bff-backend-for-frontend/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/bff-backend-for-frontend/</guid>
      <description>Why one generic API fails web, mobile, and partners differently — and how a backend-for-frontend per client type fixes payload size, chattiness, and release coupling, plus the sprawl pitfalls to avoid.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Replication &amp; Consistency Models</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/replication-consistency-models/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/replication-consistency-models/</guid>
      <description>How copies of your data stay in sync (or don’t): synchronous vs. asynchronous replication, leader-based and leaderless designs, quorums, and the consistency models clients actually observe.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Rate Limiting</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/rate-limiting/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/rate-limiting/</guid>
      <description>Keeping abusive and accidental traffic from ruining everyone’s day: token bucket, leaky bucket, sliding windows, and distributed rate limiting with Redis.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Microservices vs. Monolith</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/microservices-vs-monolith/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/microservices-vs-monolith/</guid>
      <description>The most argued-over trade-off in backend architecture: when splitting services pays off, when a modular monolith wins, and how to avoid the distributed monolith.</description>
      <category>Intermediate</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Microservices Patterns &amp; Pitfalls: Avoiding the Distributed Monolith</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/microservices-patterns-pitfalls/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/microservices-patterns-pitfalls/</guid>
      <description>The loopholes that turn microservices into a distributed monolith: the independent-deployability test, chatty services and latency budgets, the shared-database cardinal sin, temporal coupling — and when to start with a modular monolith instead.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Resilience Patterns: Breakers, Bulkheads &amp; Backoff</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/resilience-patterns/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/resilience-patterns/</guid>
      <description>How to stop one slow dependency from taking down everything: timeouts, retries with backoff and jitter, circuit breakers, bulkheads, and graceful degradation.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Stream vs. Batch: Processing Data at Scale</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/stream-vs-batch/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/stream-vs-batch/</guid>
      <description>Event streams vs batch jobs, lambda vs kappa architectures, and how to choose the right one when the data never stops arriving.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Consensus with Raft</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/consensus-raft/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/consensus-raft/</guid>
      <description>How a cluster of unreliable machines agrees on one truth: Raft leader election, log replication, commit rules, and the failure scenarios that keep it honest.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Sharding Strategies</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/sharding-strategies/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/sharding-strategies/</guid>
      <description>Splitting a dataset across machines without regret: key-based, range-based, and directory-based sharding, consistent hashing with virtual nodes, and the true cost of resharding.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Distributed Transactions</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/distributed-transactions/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/distributed-transactions/</guid>
      <description>Atomicity across machines: two-phase commit, why coordinators block, saga patterns with compensating actions, and the outbox pattern for reliable messaging.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Observability for Distributed Systems</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/observability/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/observability/</guid>
      <description>Metrics, logs, and traces that actually answer questions: RED and USE, sampling math, cardinality explosions, and SLIs, SLOs, and error budgets.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Domain-Driven Design: Let Events Tell the Story</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/domain-driven-design/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/domain-driven-design/</guid>
      <description>Model the business the way the business talks: ubiquitous language, bounded contexts, aggregates, and domain events — plus event storming, the transactional outbox, and a peek at event sourcing.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Anti-Corruption Layer: Protecting Your Domain</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/anti-corruption-layer/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/anti-corruption-layer/</guid>
      <description>The translation boundary between your clean domain and the messy outside world: adapters and translators in DDD, a normalization layer between your React SPA and legacy APIs, and the strangler-fig migration that retires the legacy for good.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Design Instagram: A Photo-Sharing System</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/design-instagram/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/design-instagram/</guid>
      <description>The capstone case study: upload pipelines, sharded metadata, CDNs, and the fan-out problem behind a feed that serves a billion photos.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Designing AI Systems: RAG, Agents &amp; Inference at Scale</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/designing-ai-systems/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/designing-ai-systems/</guid>
      <description>The systems engineering underneath the magic trick: how a request flows from prompt to answer, RAG vs fine-tuning, agent loops, vector databases, the economics of inference (batching, KV-cache, quantization, caching), and why evals replace dashboards.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Agentic AI Patterns: Why Multi-Agent Systems Fail</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/agentic-ai-patterns/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/agentic-ai-patterns/</guid>
      <description>Multi-agent demos feel magical until production: error cascades, retry loops, exploding context bills, and prompt injection smuggled in through tools. The agent loop, orchestration patterns, the failure math, and the guardrails that keep a team of agents honest.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Event Sourcing &amp; CQRS: Your Database Is a Diary</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/event-sourcing-cqrs/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/event-sourcing-cqrs/</guid>
      <description>Stop storing the current state and start storing the history: the append-only event log as source of truth, snapshots and projections for speed, and CQRS to split reads from writes — with the replay math, ordering guarantees, and failure modes that decide whether the pattern earns its keep.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Designing Chat at Scale: Messaging Like WhatsApp</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/designing-chat-at-scale/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/designing-chat-at-scale/</guid>
      <description>The realtime interview classic: persistent connections, per-conversation ordering, delivery receipts, presence, and group fan-out at WhatsApp scale — and what end-to-end encryption takes away from the server.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>GraphQL vs REST: Choosing Your API Shape</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/graphql-vs-rest/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/graphql-vs-rest/</guid>
      <description>REST hands every client the same fixed menu; GraphQL lets each client order exactly what fits on its plate. How the two models differ on fetching, caching, versioning, and security — and how to keep a flexible query language from becoming a denial-of-service cannon.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Multi-Region Active-Active: Surviving the Datacenter Fire</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/multi-region-active-active/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/multi-region-active-active/</guid>
      <description>Your whole region goes dark at 2 a.m. — now what? RPO and RTO with real numbers, active-passive vs active-active, replication lag, write conflicts and how to survive them, DNS failover, data borders, and why you should set fire to your own plans on purpose.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
    <item>
      <title>Zero Trust: Never Trust, Always Verify</title>
      <link>https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/zero-trust-security/</link>
      <guid isPermaLink="true">https://veeresh-bikkaneti.github.io/system-design-and-architecture/lesson/zero-trust-security/</guid>
      <description>The castle-and-moat network is dead: why modern systems authenticate and authorize every single request, how workload identity and mutual TLS make it work, and what it costs when the front desk goes down.</description>
      <category>Advanced</category>
      <pubDate>Wed, 30 Sep 2026 22:48:32 GMT</pubDate>
    </item>
  </channel>
</rss>
