Cloud Design Patterns

Messaging, data management, and implementation patterns.

37 topics 4 sections

Messaging Patterns

11 topics

Messaging Patterns in Distributed Systems

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 Pattern Explained

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 Pattern: Large Message Handling

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 Pattern: Saga & Event-Driven Coordination

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 Pattern: Parallel Message Processing

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 Pattern: Data Processing Pipelines

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 Pattern: Process Messages by Priority

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 Pattern: Pub/Sub Architecture

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 Pattern Explained

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 Pattern

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 Pattern: Ordered Message Processing

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 Patterns in Cloud Architecture

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 Cloud Pattern: Redis Lazy Loading

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 Pattern: Separate Read & Write Models

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 Pattern: Store State as Events

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 Pattern: Secondary Index in NoSQL

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 Pattern: Pre-computed Query Results

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: Partition Data for Scale

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 Pattern: CDN & Blob Storage

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 Pattern: Secure Direct Client Access

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 Patterns in Cloud Architecture

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 Pattern: Offload Proxy Tasks

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: Bridge Legacy & New Systems

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 (BFF) Pattern Explained

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 Pattern

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 Pattern: Centralize Configuration

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 Pattern: Combine API Calls

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 Pattern: Delegate Cross-Cutting Concerns

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 Pattern: Route Requests to Services

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 Pattern in Distributed Systems

intermediate

Leader election lets distributed nodes automatically pick one coordinator. Learn Raft, ZooKeeper, and Bully algorithms with failure handling and real-world use cases.

33 min read

Pipes and Filters Implementation: Cloud Pipeline Guide

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 Pattern: Extend Services Without Modification

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 Guide

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 Pattern: Migrate Legacy Systems

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: Code & Architecture Guide

intermediate

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

30 min read