Cloud Design Patterns

Messaging, data management, and implementation patterns.

37 topics 4 sections

Messaging Patterns

11 topics

Messaging Overview

intermediate

Messaging patterns enable asynchronous communication between distributed system components through intermediaries like message brokers and event buses. Instead

12 min read

Async Request-Reply

intermediate

The async request-reply pattern decouples long-running backend operations from frontend clients by returning an immediate acknowledgment with a correlation ID,

9 min read

Claim Check

intermediate

The Claim Check pattern separates large message payloads from message metadata by storing the payload in external storage (S3, blob storage) and passing only a

10 min read

Choreography

intermediate

Choreography is a distributed coordination pattern where services communicate through events without a central controller. Each service listens for events, perf

13 min read

Competing Consumers

intermediate

The Competing Consumers pattern enables multiple concurrent workers to process messages from the same queue, with each message handled by exactly one consumer.

10 min read

Pipes and Filters

intermediate

The Pipes and Filters pattern decomposes complex data processing into a chain of independent, reusable filters connected by pipes. Each filter performs a single

8 min read

Priority Queue

intermediate

The Priority Queue pattern enables systems to process messages based on importance rather than arrival order, ensuring high-priority requests receive preferenti

10 min read

Publisher/Subscriber

intermediate

The Publisher/Subscriber (pub-sub) pattern decouples message producers from consumers by introducing an intermediary message broker. Publishers send messages to

10 min read

Queue-based Load Leveling

intermediate

Queue-based load leveling uses a message queue as a buffer between producers and consumers to absorb traffic spikes and prevent downstream service overload. The

10 min read

Scheduling Agent Supervisor

intermediate

The Scheduling Agent Supervisor pattern coordinates distributed actions as a single logical operation by using a supervisor to monitor agent progress, detect fa

10 min read

Sequential Convoy

intermediate

Sequential Convoy processes related messages in strict order without blocking unrelated message groups. Messages are grouped by session ID or partition key, ens

9 min read

Data Management Patterns

9 topics

Data Management Overview

intermediate

Data management patterns address the fundamental challenge of distributed systems: how to store, access, and maintain data across multiple nodes while balancing

15 min read

Cache-Aside Pattern

intermediate

Cache-aside (also called lazy loading) puts the application in control of cache management: the app checks the cache first, loads from the database on miss, and

11 min read

CQRS

intermediate

CQRS separates read (query) and write (command) operations into distinct models, allowing each to be optimized independently. Commands modify state through a wr

13 min read

Event Sourcing

intermediate

Event Sourcing stores every state change as an immutable event in an append-only log, rather than persisting only current state. The current state is reconstruc

11 min read

Index Table

intermediate

The Index Table pattern creates separate lookup tables optimized for non-primary-key queries, trading storage space and write complexity for fast read performan

8 min read

Materialized View

intermediate

Materialized views are pre-computed, denormalized query results stored as physical tables that trade storage space and update complexity for dramatically faster

9 min read

Sharding Pattern

intermediate

Sharding is a horizontal partitioning strategy that splits a large dataset across multiple independent database servers (shards), where each shard contains a su

29 min read

Static Content Hosting

intermediate

Static Content Hosting is a cloud design pattern where unchanging files (HTML, CSS, JavaScript, images, videos) are served directly from object storage services

27 min read

Valet Key

intermediate

The Valet Key pattern provides clients with time-limited, scoped tokens that grant direct access to specific cloud resources (like storage or queues) without ro

32 min read

Design & Implementation Patterns

15 topics

Design & Implementation Overview

intermediate

Design and implementation patterns address how you structure, organize, and build cloud systems for maintainability, reusability, and operational excellence. Th

32 min read

Ambassador

intermediate

The Ambassador pattern places a helper proxy service alongside your application to handle cross-cutting networking concerns like retries, circuit breaking, moni

27 min read

Anti-Corruption Layer

intermediate

An Anti-Corruption Layer (ACL) is a translation boundary that sits between your domain model and external systems with different semantics, preventing legacy or

39 min read

Backends for Frontend

intermediate

The Backend for Frontend (BFF) pattern creates dedicated backend services for each client type (web, mobile, IoT) instead of forcing all clients to use a single

28 min read

Compute Resource Consolidation

intermediate

Compute Resource Consolidation is the practice of combining multiple tasks, services, or workloads onto fewer computational units to maximize resource utilizati

30 min read

External Config Store

intermediate

External Config Store moves configuration data out of application deployment packages into a centralized, external system. Instead of baking configs into Docker

27 min read

Gateway Aggregation

intermediate

Gateway Aggregation consolidates multiple backend service calls into a single request, reducing client complexity and network overhead. The gateway acts as a sm

22 min read

Gateway Offloading

intermediate

Gateway Offloading moves shared cross-cutting concerns (SSL/TLS termination, authentication, compression, rate limiting) from backend services to a centralized

30 min read

Gateway Routing

intermediate

Gateway Routing consolidates multiple backend services behind a single entry point, intelligently directing requests based on URL paths, headers, or other crite

27 min read

Leader Election

intermediate

Leader election is a coordination pattern where distributed nodes automatically select one instance as the leader to coordinate work, manage shared resources, o

33 min read

Pipes & Filters (Implementation)

intermediate

Pipes & Filters decomposes complex data processing into independent, reusable filter components connected by pipes (channels). Each filter performs one transfor

26 min read

Sidecar

intermediate

The Sidecar pattern deploys auxiliary functionality (logging, monitoring, proxying, security) as a separate process that runs alongside your main application, s

28 min read

Static Content Hosting (Implementation)

intermediate

Static content hosting serves unchanging assets (HTML, CSS, JS, images, videos) directly from cloud storage services like S3, Azure Blob Storage, or GCS, bypass

30 min read

Strangler Fig

intermediate

The Strangler Fig pattern enables incremental legacy system modernization by gradually replacing old functionality with new services while keeping the system ru

29 min read

CQRS (Implementation)

intermediate

CQRS (Command Query Responsibility Segregation) separates write operations (commands) from read operations (queries) using different models, often with separate

30 min read