PluginBench
Skill
Official
Pass
Audit score 90

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-patterns
Claude Code
Cursor
Windsurf
Cline

How to use cloud-design-patterns

  1. 1.Identify your workload's functional and nonfunctional requirements
  2. 2.Review the pattern category most relevant to your challenge (reliability, performance, messaging, etc.)
  3. 3.Study the specific pattern reference to understand its trade-offs and applicability
  4. 4.Evaluate how the pattern addresses distributed computing fallacies in your context
  5. 5.Apply the pattern across your architecture, considering technology-specific implementations

Use cases

Good for
  • 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
Who it's for
  • 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

Are these patterns specific to Azure?

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.

What are the fallacies of distributed computing?

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.

How do I choose between competing patterns?

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.

Can I combine multiple patterns?

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

ReferenceWhen to load
Reliability & Resilience PatternsAmbassador, Bulkhead, Circuit Breaker, Compensating Transaction, Retry, Health Endpoint Monitoring, Leader Election, Saga, Sequential Convoy
Performance PatternsAsync Request-Reply, Cache-Aside, CQRS, Index Table, Materialized View, Priority Queue, Queue-Based Load Leveling, Rate Limiting, Sharding, Throttling
Messaging & Integration PatternsChoreography, Claim Check, Competing Consumers, Messaging Bridge, Pipes and Filters, Publisher-Subscriber, Scheduler Agent Supervisor
Architecture & Design PatternsAnti-Corruption Layer, Backends for Frontends, Gateway Aggregation/Offloading/Routing, Sidecar, Strangler Fig
Deployment & Operational PatternsCompute Resource Consolidation, Deployment Stamps, External Configuration Store, Geode, Static Content Hosting
Security PatternsFederated Identity, Quarantine, Valet Key
Event-Driven Architecture PatternsEvent Sourcing
Best Practices & Pattern SelectionSelecting appropriate patterns, Well-Architected Framework alignment, documentation, monitoring
Azure Service MappingsCommon Azure services for each pattern category

Pattern Categories at a Glance

CategoryPatternsFocus
Reliability & Resilience9 patternsFault tolerance, self-healing, graceful degradation
Performance10 patternsCaching, scaling, load management, data optimization
Messaging & Integration7 patternsDecoupling, event-driven communication, workflow coordination
Architecture & Design7 patternsSystem boundaries, API gateways, migration strategies
Deployment & Operational5 patternsInfrastructure management, geo-distribution, configuration
Security3 patternsIdentity, access control, content validation
Event-Driven Architecture1 patternEvent sourcing and audit trails

External Links