cloud-design-patterns
github/awesome-copilot
42 industry-standard cloud design patterns for distributed systems architecture across reliability, performance, messaging, security, and deployment.
What is cloud-design-patterns?
A technology-agnostic reference covering 42 cloud design patterns organized across reliability, performance, messaging, architecture, deployment, security, and event-driven categories. Use when designing or reviewing distributed system architectures to address common challenges and avoid fallacies of distributed computing.
- Reference 42 patterns across 7 categories: reliability, performance, messaging, architecture, deployment, security, and event-driven design
- Address common distributed computing fallacies like unreliable networks, latency, and topology changes
- Provide pattern trade-offs and selection guidance for cloud workloads
- Support technology-agnostic design applicable to Azure, other clouds, on-premises, and hybrid environments
- Align designs with Well-Architected Framework principles
How to install cloud-design-patterns
npx skills add https://github.com/github/awesome-copilot --skill cloud-design-patternsHow to use cloud-design-patterns
- 1.Identify your workload's functional and nonfunctional requirements
- 2.Review the pattern category most relevant to your challenge (reliability, performance, messaging, etc.)
- 3.Study the specific pattern reference to understand its trade-offs and applicability
- 4.Evaluate how the pattern addresses distributed computing fallacies in your context
- 5.Apply the pattern across your architecture, considering technology-specific implementations
Use cases
- Designing fault-tolerant and resilient distributed systems using patterns like Circuit Breaker and Bulkhead
- Optimizing performance with caching, sharding, and load-leveling patterns
- Decoupling services through messaging patterns like Publisher-Subscriber and Choreography
- Planning infrastructure migrations using Strangler Fig and Anti-Corruption Layer patterns
- Securing systems with federated identity and valet key patterns
- Cloud architects designing distributed systems
- System designers reviewing architecture decisions
- DevOps engineers planning deployment strategies
- Backend engineers implementing resilience patterns
- Teams building multi-cloud or hybrid environments
cloud-design-patterns FAQ
No. The patterns are technology-agnostic and applicable to any cloud platform, on-premises, or hybrid environments. Azure service mappings are provided as reference but patterns work across all platforms.
Common incorrect assumptions like the network being reliable, latency being zero, bandwidth being infinite, the network being secure, and topology never changing. These patterns help mitigate these fallacies.
Focus on understanding why a pattern fits your constraints rather than how to implement it. Each pattern has trade-offs; the best practices and pattern selection reference guides this decision.
Yes. Cloud workloads typically integrate multiple patterns across categories. For example, combining Circuit Breaker (reliability) with Publisher-Subscriber (messaging) for resilient event-driven systems.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: cloud-design-patterns description: 'Cloud design patterns for distributed systems architecture covering 42 industry-standard patterns across reliability, performance, messaging, security, and deployment categories. Use when designing, reviewing, or implementing distributed system architectures.'
Cloud Design Patterns
Architects design workloads by integrating platform services, functionality, and code to meet both functional and nonfunctional requirements. To design effective workloads, you must understand these requirements and select topologies and methodologies that address the challenges of your workload's constraints. Cloud design patterns provide solutions to many common challenges.
System design heavily relies on established design patterns. You can design infrastructure, code, and distributed systems by using a combination of these patterns. These patterns are crucial for building reliable, highly secure, cost-optimized, operationally efficient, and high-performing applications in the cloud.
The following cloud design patterns are technology-agnostic, which makes them suitable for any distributed system. You can apply these patterns across Azure, other cloud platforms, on-premises setups, and hybrid environments.
How Cloud Design Patterns Enhance the Design Process
Cloud workloads are vulnerable to the fallacies of distributed computing, which are common but incorrect assumptions about how distributed systems operate. Examples of these fallacies include:
- The network is reliable.
- Latency is zero.
- Bandwidth is infinite.
- The network is secure.
- Topology doesn't change.
- There's one administrator.
- Component versioning is simple.
- Observability implementation can be delayed.
These misconceptions can result in flawed workload designs. Design patterns don't eliminate these misconceptions but help raise awareness, provide compensation strategies, and provide mitigations. Each cloud design pattern has trade-offs. Focus on why you should choose a specific pattern instead of how to implement it.
References
| Reference | When to load |
|---|---|
| Reliability & Resilience Patterns | Ambassador, Bulkhead, Circuit Breaker, Compensating Transaction, Retry, Health Endpoint Monitoring, Leader Election, Saga, Sequential Convoy |
| Performance Patterns | Async Request-Reply, Cache-Aside, CQRS, Index Table, Materialized View, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Sharding, Throttling |
| Messaging & Integration Patterns | Choreography, Claim Check, Competing Consumers, Messaging Bridge, Pipes and Filters, Publisher-Subscriber, Scheduler Agent Supervisor |
| Architecture & Design Patterns | Anti-Corruption Layer, Backends for Frontends, Gateway Aggregation/Offloading/Routing, Sidecar, Strangler Fig |
| Deployment & Operational Patterns | Compute Resource Consolidation, Deployment Stamps, External Configuration Store, Geode, Static Content Hosting |
| Security Patterns | Federated Identity, Quarantine, Valet Key |
| Event-Driven Architecture Patterns | Event Sourcing |
| Best Practices & Pattern Selection | Selecting appropriate patterns, Well-Architected Framework alignment, documentation, monitoring |
| Azure Service Mappings | Common Azure services for each pattern category |
Pattern Categories at a Glance
| Category | Patterns | Focus |
|---|---|---|
| Reliability & Resilience | 9 patterns | Fault tolerance, self-healing, graceful degradation |
| Performance | 10 patterns | Caching, scaling, load management, data optimization |
| Messaging & Integration | 7 patterns | Decoupling, event-driven communication, workflow coordination |
| Architecture & Design | 7 patterns | System boundaries, API gateways, migration strategies |
| Deployment & Operational | 5 patterns | Infrastructure management, geo-distribution, configuration |
| Security | 3 patterns | Identity, access control, content validation |
| Event-Driven Architecture | 1 pattern | Event sourcing and audit trails |
External Links
Related skills
More from github/awesome-copilot and the wider catalog.

code-exemplars-blueprint-generator
Generates a configurable AI prompt that scans your codebase to document real, high-quality code exemplars.

code-tour
>

codeql
Set up and configure CodeQL code scanning via GitHub Actions workflows and the CodeQL CLI.

comment-code-generate-a-tutorial
Turns a raw Python script into a refactored, well-commented project with an auto-generated README tutorial.

containerize-aspnet-framework
Containerize ASP.NET .NET Framework projects into Windows Docker containers with customized Dockerfile generation.

containerize-aspnetcore
Generates a customized, multi-stage Dockerfile and .dockerignore for containerizing an ASP.NET Core project.