# System Design Codex

The best place to learn practical System Design with concepts and case studies

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Top System Design Performance Metrics

DevFeed: [Top System Design Performance Metrics](<https://devfeed.tech/articles/top-system-design-performance-metrics-34692.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/top-system-design-performance-metrics>)

Author: Saurabh Dashora

Published: 2026-07-14T08:36:41Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Load Balancing](<https://devfeed.tech/topics/load-balancing.md>), [health checks](<https://devfeed.tech/topics/health-checks.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Disaster Recovery](<https://devfeed.tech/topics/disaster-recovery.md>), [Database](<https://devfeed.tech/topics/database.md>), [sharding](<https://devfeed.tech/topics/sharding.md>), [IO](<https://devfeed.tech/topics/io.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [availability](<https://devfeed.tech/tags/availability.md>), [blocking](<https://devfeed.tech/tags/blocking.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [database](<https://devfeed.tech/tags/database.md>), [disaster-recovery](<https://devfeed.tech/tags/disaster-recovery.md>), [health-checks](<https://devfeed.tech/tags/health-checks.md>), [load-balancing](<https://devfeed.tech/tags/load-balancing.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-metrics](<https://devfeed.tech/tags/performance-metrics.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [sharding](<https://devfeed.tech/tags/sharding.md>), [system-design](<https://devfeed.tech/tags/system-design.md>)

### AI overview

A tutorial on system design performance metrics, focusing on availability and throughput. It explains how these metrics are measured and outlines techniques such as load balancing, health checks, failover, redundancy, disaster recovery, query optimization, sharding, and asynchronous processing.

### Source excerpt

Must Know Metrics

## Essential Non Functional Requirements

DevFeed: [Essential Non Functional Requirements](<https://devfeed.tech/articles/essential-non-functional-requirements-34676.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/essential-non-functional-requirements>)

Author: Saurabh Dashora

Published: 2026-07-07T08:33:34Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Requirements](<https://devfeed.tech/topics/requirements.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [reliability](<https://devfeed.tech/topics/reliability.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Users](<https://devfeed.tech/topics/users.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [data-replication](<https://devfeed.tech/tags/data-replication.md>), [failover](<https://devfeed.tech/tags/failover.md>), [haproxy](<https://devfeed.tech/tags/haproxy.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [latency](<https://devfeed.tech/tags/latency.md>), [nginx](<https://devfeed.tech/tags/nginx.md>), [requirements](<https://devfeed.tech/tags/requirements.md>)

### AI overview

This tutorial explains non-functional requirements as quality attributes that determine how software systems behave under real-world conditions. It covers availability, latency, scalability, and durability, with implementation approaches including load balancers, health checks, failover, CDNs, data replication, horizontal scaling, Kubernetes, and concurrent API design.

### Source excerpt

Don't miss them

## How to Explain Tech Stuff to Non-Tech Colleagues

DevFeed: [How to Explain Tech Stuff to Non-Tech Colleagues](<https://devfeed.tech/articles/how-to-explain-tech-stuff-to-non-tech-colleagues-34681.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-to-explain-tech-stuff-to-non>)

Author: Saurabh Dashora

Published: 2026-07-01T06:00:36Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Learning](<https://devfeed.tech/topics/learning.md>)

Tags: [communication](<https://devfeed.tech/tags/communication.md>), [developers](<https://devfeed.tech/tags/developers.md>), [explain](<https://devfeed.tech/tags/explain.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [tips](<https://devfeed.tech/tags/tips.md>)

### AI overview

A tutorial on explaining technical ideas and programming concepts to non-technical colleagues. It introduces the Communication Iceberg and recommends analogies, plain language, visual aids, storytelling, big-picture framing, and encouraging questions.

### Source excerpt

Some tips

## Strategies for Migrating from a Monolith to Microservices

DevFeed: [Strategies for Migrating from a Monolith to Microservices](<https://devfeed.tech/articles/monolith-to-service-architecture-34687.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/monolith-to-service-architecture>)

Author: Saurabh Dashora

Published: 2026-06-23T07:55:12Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [microservices architecture](<https://devfeed.tech/topics/microservices-architecture.md>), [migration](<https://devfeed.tech/topics/migration.md>), [legacy systems](<https://devfeed.tech/topics/legacy-systems.md>), [gateway](<https://devfeed.tech/topics/gateway.md>)

Tags: [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [automated](<https://devfeed.tech/tags/automated.md>), [big-bang](<https://devfeed.tech/tags/big-bang.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [legacy-systems](<https://devfeed.tech/tags/legacy-systems.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [migration](<https://devfeed.tech/tags/migration.md>), [monolith](<https://devfeed.tech/tags/monolith.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [rewrite](<https://devfeed.tech/tags/rewrite.md>), [strategies](<https://devfeed.tech/tags/strategies.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This tutorial outlines patterns for gradually moving from a monolithic architecture to microservices. It describes the Strangler Fig Pattern, Parallel Run Pattern, and Collaborator Pattern, covering techniques such as API gateways, incremental migration, traffic splitting, feature flags, and automated comparison testing.

### Source excerpt

Top Strategies

## How to Scale Kubernetes

DevFeed: [How to Scale Kubernetes](<https://devfeed.tech/articles/how-to-scale-kubernetes-34684.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-to-scale-kubernetes>)

Author: Saurabh Dashora

Published: 2026-06-16T07:15:28Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [jobs](<https://devfeed.tech/topics/jobs.md>)

Tags: [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [scalability](<https://devfeed.tech/tags/scalability.md>)

### AI overview

This tutorial outlines Kubernetes scaling strategies, including Horizontal Pod Autoscaling for changing pod replica counts based on metrics, Vertical Pod Autoscaling for adjusting pod CPU and memory requests or limits, and Cluster Autoscaling for changing the number of worker nodes. It also notes practical benefits and limitations of these approaches.

### Source excerpt

Top Strategies to Know About

## Key Components of a Production Web Application

DevFeed: [Key Components of a Production Web Application](<https://devfeed.tech/articles/key-components-of-a-prod-web-application-34686.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/key-components-of-a-prod-web-application>)

Author: Saurabh Dashora

Published: 2026-06-09T07:56:22Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [web applications](<https://devfeed.tech/topics/web-applications.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Load Balancing](<https://devfeed.tech/topics/load-balancing.md>), [proxy](<https://devfeed.tech/topics/proxy.md>), [Caching](<https://devfeed.tech/topics/caching.md>)

Tags: [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [ddos](<https://devfeed.tech/tags/ddos.md>), [haproxy](<https://devfeed.tech/tags/haproxy.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This article provides a high-level overview of components used in production web applications, including CI/CD pipelines, DNS resolution, load balancers, reverse proxies, and content delivery networks. It explains their roles in deployment, availability, scalability, performance, and security.

### Source excerpt

A big picture view...

## How to Design APIs

DevFeed: [How to Design APIs](<https://devfeed.tech/articles/how-to-design-apis-34680.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-to-design-apis>)

Author: Saurabh Dashora

Published: 2026-06-02T06:41:25Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [API](<https://devfeed.tech/topics/api.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [interface](<https://devfeed.tech/topics/interface.md>), [CRUD](<https://devfeed.tech/topics/crud.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [gRPC](<https://devfeed.tech/topics/grpc.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [JSON](<https://devfeed.tech/topics/json.md>), [XML](<https://devfeed.tech/topics/xml.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [apis](<https://devfeed.tech/tags/apis.md>), [crud](<https://devfeed.tech/tags/crud.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [interface](<https://devfeed.tech/tags/interface.md>), [json](<https://devfeed.tech/tags/json.md>), [rest](<https://devfeed.tech/tags/rest.md>), [rpc](<https://devfeed.tech/tags/rpc.md>)

### AI overview

A tutorial on API design covering interface contracts, resource and endpoint naming, request and response formats, API paradigms, and modeling relationships between entities.

### Source excerpt

Key considerations to keep in mind

## Strategies for Moving from a Monolith to Microservices

DevFeed: [Strategies for Moving from a Monolith to Microservices](<https://devfeed.tech/articles/how-to-move-from-monolith-to-a-service-based-architecture-34682.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-to-move-from-monolith-to-a-service>)

Author: Saurabh Dashora

Published: 2026-05-26T07:58:51Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [microservices architecture](<https://devfeed.tech/topics/microservices-architecture.md>), [migration](<https://devfeed.tech/topics/migration.md>), [legacy systems](<https://devfeed.tech/topics/legacy-systems.md>), [proxy](<https://devfeed.tech/topics/proxy.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [big-bang](<https://devfeed.tech/tags/big-bang.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [monolith](<https://devfeed.tech/tags/monolith.md>)

### AI overview

This tutorial describes patterns for gradually moving from a monolithic architecture to microservices. It covers the Strangler Fig Pattern, Parallel Run Pattern, and Collaborator Pattern in the supplied text, emphasizing incremental migration, traffic splitting, behavior comparison, feature flags, and reduced rewrite risk.

### Source excerpt

Strategies worth knowing

## Database Locking Mechanisms

DevFeed: [Database Locking Mechanisms](<https://devfeed.tech/articles/database-locking-mechanisms-34675.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/database-locking-mechanisms>)

Author: Saurabh Dashora

Published: 2026-05-19T06:27:39Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [database](<https://devfeed.tech/tags/database.md>), [hibernate](<https://devfeed.tech/tags/hibernate.md>), [locking](<https://devfeed.tech/tags/locking.md>), [locks](<https://devfeed.tech/tags/locks.md>), [optimistic-locking](<https://devfeed.tech/tags/optimistic-locking.md>), [sql](<https://devfeed.tech/tags/sql.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

### AI overview

This tutorial compares pessimistic and optimistic locking for maintaining data consistency in multi-user applications. Pessimistic locking acquires locks before updates, while optimistic locking detects conflicts at commit time using version numbers or timestamps. The article explains their trade-offs in concurrency, performance, deadlocks, and consistency, and outlines suitable use cases.

### Source excerpt

Pessimistic vs Optimistic

## Five Deployment Strategies for Safer Software Releases

DevFeed: [Five Deployment Strategies for Safer Software Releases](<https://devfeed.tech/articles/top-deployment-strategies-34690.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/top-deployment-strategies>)

Author: Saurabh Dashora

Published: 2026-05-12T07:05:17Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Deployment Strategies](<https://devfeed.tech/topics/deployment-strategies.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [progressive delivery](<https://devfeed.tech/topics/progressive-delivery.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [blue-green-deployment](<https://devfeed.tech/tags/blue-green-deployment.md>), [deployment-strategies](<https://devfeed.tech/tags/deployment-strategies.md>), [downtime](<https://devfeed.tech/tags/downtime.md>), [load-balancer](<https://devfeed.tech/tags/load-balancer.md>), [progressive-delivery](<https://devfeed.tech/tags/progressive-delivery.md>), [rollback](<https://devfeed.tech/tags/rollback.md>)

### AI overview

This article discusses deployment strategies for reducing release risk, downtime, and user impact. It explains blue/green deployment and canary deployment, including their workflows, benefits, tradeoffs, and suitable use cases, and introduces A/B testing as part of a release process.

### Source excerpt

Every developer should know these

## How Terraform Works

DevFeed: [How Terraform Works](<https://devfeed.tech/articles/how-terraform-works-34679.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-terraform-works>)

Author: Saurabh Dashora

Published: 2026-05-05T07:41:46Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Terraform](<https://devfeed.tech/topics/terraform.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [changes](<https://devfeed.tech/tags/changes.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [hcl](<https://devfeed.tech/tags/hcl.md>), [infrastructure-as-code-iac](<https://devfeed.tech/tags/infrastructure-as-code-iac.md>), [plan](<https://devfeed.tech/tags/plan.md>), [preview](<https://devfeed.tech/tags/preview.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

A step-by-step introduction to how Terraform uses Infrastructure as Code and HCL configurations to define resources, preview changes with Terraform Plan, and provision infrastructure with Terraform Apply. It also explains providers, variables, modules, state, workspaces, and CI/CD or pull-request workflows.

### Source excerpt

Step by step

## Top Cache Eviction Strategies

DevFeed: [Top Cache Eviction Strategies](<https://devfeed.tech/articles/top-cache-eviction-strategies-34689.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/top-cache-eviction-strategies>)

Author: Saurabh Dashora

Published: 2026-04-28T09:03:41Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Caching](<https://devfeed.tech/topics/caching.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [App](<https://devfeed.tech/topics/app.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [database](<https://devfeed.tech/tags/database.md>), [operating-systems](<https://devfeed.tech/tags/operating-systems.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redis](<https://devfeed.tech/tags/redis.md>), [strategies](<https://devfeed.tech/tags/strategies.md>), [ttl](<https://devfeed.tech/tags/ttl.md>)

### AI overview

The article explains cache eviction as a way to manage limited cache memory and reviews TTL, LRU, and LFU strategies, including their operation, use cases, advantages, and drawbacks.

### Source excerpt

Caching is a crucial technique for improving application performance and responsiveness.

## Top Resiliency Patterns for Developers

DevFeed: [Top Resiliency Patterns for Developers](<https://devfeed.tech/articles/top-resiliency-patterns-for-developers-34691.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/top-resiliency-patterns-for-developers>)

Author: Saurabh Dashora

Published: 2026-04-21T06:08:56Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [resiliency](<https://devfeed.tech/topics/resiliency.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [circuit](<https://devfeed.tech/topics/circuit.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [circuit](<https://devfeed.tech/tags/circuit.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [latency](<https://devfeed.tech/tags/latency.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [resiliency](<https://devfeed.tech/tags/resiliency.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [timeout](<https://devfeed.tech/tags/timeout.md>)

### AI overview

A quick guide to resiliency patterns for distributed systems. It introduces downstream and upstream patterns, then explains timeouts, circuit breakers, and retries with exponential backoff as ways to limit cascading failures and help downstream services recover.

### Source excerpt

Quick Guide

## What is the BFF Pattern?

DevFeed: [What is the BFF Pattern?](<https://devfeed.tech/articles/what-is-the-bff-pattern-34694.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/what-is-the-bff-pattern>)

Author: Saurabh Dashora

Published: 2026-04-07T08:41:56Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [BFF](<https://devfeed.tech/topics/bff.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [backends](<https://devfeed.tech/topics/backends.md>), [client](<https://devfeed.tech/topics/client.md>), [interface](<https://devfeed.tech/topics/interface.md>), [resiliency](<https://devfeed.tech/topics/resiliency.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [rate-limiting](<https://devfeed.tech/topics/rate-limiting.md>)

Tags: [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [backends](<https://devfeed.tech/tags/backends.md>), [bff](<https://devfeed.tech/tags/bff.md>), [cache-control](<https://devfeed.tech/tags/cache-control.md>), [client](<https://devfeed.tech/tags/client.md>), [decoupling](<https://devfeed.tech/tags/decoupling.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [resiliency](<https://devfeed.tech/tags/resiliency.md>)

### AI overview

The article explains the Backends-for-Frontends (BFF) pattern, in which dedicated API gateways serve different client types such as web browsers, mobile apps, and public or partner APIs. It describes how BFFs tailor APIs, isolate client-specific logic, and support functions including rate limiting, authentication, header sanitization, and cache control. It also discusses benefits such as resiliency, client-specific optimization, and faster development, along with drawbacks including code duplication and increasing complexity.

### Source excerpt

And when do you need it?

## How TCP Handshake Works

DevFeed: [How TCP Handshake Works](<https://devfeed.tech/articles/how-tcp-handshake-works-34678.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-tcp-handshake-works>)

Author: Saurabh Dashora

Published: 2026-03-31T08:17:52Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Handshake](<https://devfeed.tech/topics/handshake.md>), [client](<https://devfeed.tech/topics/client.md>), [servers](<https://devfeed.tech/topics/servers.md>)

Tags: [client](<https://devfeed.tech/tags/client.md>), [communication](<https://devfeed.tech/tags/communication.md>), [http-3](<https://devfeed.tech/tags/http-3.md>), [quic](<https://devfeed.tech/tags/quic.md>), [sequence](<https://devfeed.tech/tags/sequence.md>), [server](<https://devfeed.tech/tags/server.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [tcp-handshake](<https://devfeed.tech/tags/tcp-handshake.md>)

### AI overview

A tutorial explaining the TCP three-way handshake. It describes how a client sends SYN, a server responds with SYN-ACK, and the client completes the connection with ACK, including the role of initial sequence numbers and control flags.

### Source excerpt

The 3 step process

## Object Oriented Programming - The Key Terms

DevFeed: [Object Oriented Programming - The Key Terms](<https://devfeed.tech/articles/object-oriented-programming-the-key-terms-34688.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/object-oriented-programming-the-key>)

Author: Saurabh Dashora

Published: 2026-03-24T08:38:43Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>), [Inheritance](<https://devfeed.tech/topics/inheritance.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [interface](<https://devfeed.tech/topics/interface.md>)

Tags: [abstraction](<https://devfeed.tech/tags/abstraction.md>), [concepts](<https://devfeed.tech/tags/concepts.md>), [inheritance](<https://devfeed.tech/tags/inheritance.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [object-oriented](<https://devfeed.tech/tags/object-oriented.md>), [polymorphism](<https://devfeed.tech/tags/polymorphism.md>), [programming](<https://devfeed.tech/tags/programming.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This tutorial introduces object-oriented programming through four principles: abstraction, encapsulation, inheritance, and polymorphism. It explains how abstraction hides implementation details, encapsulation controls access to data and methods, and inheritance supports reuse and hierarchical relationships. The supplied text begins its discussion of polymorphism but is truncated.

### Source excerpt

The essential concepts

## Reddit's Media Metadata Store and Data Migration Process

DevFeed: [Reddit's Media Metadata Store and Data Migration Process](<https://devfeed.tech/articles/inside-look-at-reddit-s-metadata-store-34685.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/inside-look-at-reddits-metadata-store>)

Author: Saurabh Dashora

Published: 2026-03-17T08:41:58Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Reddit](<https://devfeed.tech/topics/reddit.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [migration](<https://devfeed.tech/topics/migration.md>), [data](<https://devfeed.tech/topics/data.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [API](<https://devfeed.tech/topics/api.md>), [proxy](<https://devfeed.tech/topics/proxy.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [aws](<https://devfeed.tech/tags/aws.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [latency](<https://devfeed.tech/tags/latency.md>), [migration](<https://devfeed.tech/tags/migration.md>), [proxy](<https://devfeed.tech/tags/proxy.md>), [reddit](<https://devfeed.tech/tags/reddit.md>), [s3](<https://devfeed.tech/tags/s3.md>)

### AI overview

This article explains why Reddit built a unified media metadata store for media-related information previously scattered across multiple systems. It describes the store's requirements, its AWS Aurora Postgres architecture with an API service and pgBouncer, and a migration process using dual writes, data backfilling, and dual reads while serving high request volume.

### Source excerpt

How it works

## How Agoda Load Balanced Kafka

DevFeed: [How Agoda Load Balanced Kafka](<https://devfeed.tech/articles/how-agoda-load-balanced-kafka-34677.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-agoda-load-balanced-kafka>)

Author: Saurabh Dashora

Published: 2026-03-10T08:01:37Z

Content type: article

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Kafka](<https://devfeed.tech/topics/kafka.md>), [data-processing](<https://devfeed.tech/topics/data-processing.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [data-centers](<https://devfeed.tech/tags/data-centers.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [round-robin](<https://devfeed.tech/tags/round-robin.md>)

### AI overview

A deep dive into how Agoda uses Kafka to process large volumes of real-time supplier price updates. It explains the distributor, processor, and Kafka components, then examines how partitions, partitioners, and consumer assignors support parallel processing and expose challenges when workloads and consumer capabilities are uneven.

### Source excerpt

Deep Dive

## What Happens to an SQL Query?

DevFeed: [What Happens to an SQL Query?](<https://devfeed.tech/articles/what-happens-to-an-sql-query-34693.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/what-happens-to-an-sql-query>)

Author: Saurabh Dashora

Published: 2026-03-04T03:14:28Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [syntax](<https://devfeed.tech/topics/syntax.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [diagram](<https://devfeed.tech/tags/diagram.md>), [errors](<https://devfeed.tech/tags/errors.md>), [execution](<https://devfeed.tech/tags/execution.md>), [locks](<https://devfeed.tech/tags/locks.md>), [rollback](<https://devfeed.tech/tags/rollback.md>), [sql](<https://devfeed.tech/tags/sql.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how an SQL query moves through a database. It covers transport and access checks, parsing and optimization into an execution plan, execution through the storage engine, and supporting components such as transactions, locks, buffering, and recovery.

### Source excerpt

The Journey Through the DB

## How to Prevent the DB from Becoming a Bottleneck

DevFeed: [How to Prevent the DB from Becoming a Bottleneck](<https://devfeed.tech/articles/how-to-prevent-the-db-from-becoming-a-bottleneck-34683.md>)

Original publisher: [Read original article](<https://newsletter.systemdesigncodex.com/p/how-to-prevent-the-db-from-becoming>)

Author: Saurabh Dashora

Published: 2026-02-24T08:15:03Z

Content type: tutorial

Language: en

Sources: [System Design Codex](<https://devfeed.tech/sources/system-design-codex.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Deadlock](<https://devfeed.tech/topics/deadlock.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [latency](<https://devfeed.tech/tags/latency.md>), [locking](<https://devfeed.tech/tags/locking.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This tutorial explains how databases can become application performance bottlenecks even when application code is optimized. It covers diagnosing slow queries with profiling and logs, monitoring execution time and latency, and understanding how locking and deadlocks can affect concurrent transactions.

### Source excerpt

Tips and Strategies