System-Design

13 posts
2026

Message Queue vs Publish-Subscribe: What Is the Difference?

An order is placed. Inventory must reserve stock, billing must create an invoice, analytics must record the sale, and an email must reach …
Read more

What Is Serverless Computing and How Does It Work?

A small photo-sharing application receives almost no traffic overnight. At lunchtime, a promotion sends thousands of people to it at once. …
Read more

Message Queues Explained: How Asynchronous Systems Work

A customer clicks Place order. The payment succeeds, but generating the invoice takes 12 seconds and the email provider is having a bad …
Read more

Monolithic Architecture vs Microservices: How to Choose

A team has one application, one database, and one deployment pipeline. Releases are still manageable, but checkout changes keep colliding …
Read more

Virtual Machines vs Containers: What Is the Difference?

A team has a small web service that works perfectly on one developer’s laptop. Now it needs to run in testing, production, and perhaps …
Read more

What Is a Reverse Proxy and How Does It Work?

Your application works perfectly on port 8080. Then you try to put it on the public internet. Suddenly, the application needs a trusted TLS …
Read more

What Is Load Balancing and How Does It Work?

The promotion begins at noon. By 12:03, the store has three application servers running and customers are still seeing timeouts. Adding …
Read more

Concurrency vs Parallelism: What Is the Difference?

A service feels slow, so the team gives it more workers. The request queue becomes shorter, but CPU usage stays almost unchanged. Someone …
Read more

What Is Cloud Computing? A Beginner's Guide

A product launch is three weeks away, and the application needs more capacity. In a traditional datacenter, that sentence can begin a chain …
Read more

Process vs Thread: What Is the Difference?

A web server becomes slow, so someone suggests adding more threads. Another person proposes splitting the work into separate processes. Both …
Read more

What Is Software Architecture? A Beginner's Guide

The first time many developers hear software architecture, they imagine an enormous diagram: dozens of boxes, arrows in every direction, and …
Read more

Designing Event-Driven S3 PII Detection with Amazon Macie Custom Identifiers and Step Functions

This article guides you through designing an automated S3 workflow with Amazon Macie custom identifiers and Step Functions to detect and …
Read more

System Design Caching: Cache-Aside, Expiration, and Invalidation

A cache is a copy. Every useful cache design must therefore answer a harder question than “What TTL should we use?”: How wrong may this copy …
Read more