#cloud-design-patterns

  • Pipes And Filters Pattern
    Decompose a complex processing task into a chain of reusable, independently deployable and scalable filters connected by pipes.
  • Priority Queue Pattern
    Let a system process high-priority requests ahead of low-priority ones, using a priority-aware queue or separate queues per priority level.
  • Publisher Subscriber Pattern
    Announce events to many interested consumers asynchronously through a message broker, without tightly coupling senders to receivers.
  • Quarantine Pattern
    Validate third-party software artifacts in an isolated pipeline before they are trusted and released into the internal supply chain.
  • Queue Based Load Leveling Pattern
    Place a queue between a task and the service it calls so the queue buffers intermittent heavy loads and smooths out peak demand.
  • Rate Limiting Pattern
    Control resource consumption by capping the rate of access to a capacity-limited service, avoiding throttling errors and keeping throughput predictable.
  • Retry Pattern
    Handle transient failures when connecting to services or network resources by transparently retrying failed operations, with backoff and idempotency in mind.
  • Saga Pattern
    Keep data consistent across microservices with a sequence of local transactions and compensating transactions, using choreography or orchestration instead of two-phase commit.
  • Scheduler Agent Supervisor Pattern
    Coordinate a set of distributed actions as a single operation, with a scheduler, agents, and a supervisor that recovers or compensates failed steps.
  • Sequential Convoy Pattern
    Process related messages in a defined order without blocking other message groups, using categories and message sessions to keep FIFO while scaling out.
  • Sharding Pattern
    Split a data store into horizontal partitions (shards) using lookup, range, or hash strategies to improve scalability and performance.
  • Sidecar Pattern
    Deploy supporting components such as logging, monitoring, and proxies in a separate process or container attached to the main application, sharing its lifecycle.
  • Static Content Hosting Pattern
    Serve static assets from a cloud storage service, typically fronted by a CDN, instead of from application servers to cut cost and improve performance.
  • Strangler Fig Pattern
    Incrementally migrate a legacy system by routing functionality through a façade and replacing it piece by piece with new services until the old system can be retired.
  • Throttling Pattern
    Control resource consumption per application instance, tenant, or service so the system keeps meeting its SLAs under sudden demand spikes.
  • Valet Key Pattern
    Give clients a short-lived, scoped token for direct access to a storage resource so data transfer bypasses the application server.