
Cloud Design Patterns
Apply named cloud architecture patterns (BFF, anti-corruption layer, gateway aggregation) when designing or refactoring distributed backends.
Overview
cloud-design-patterns is an agent skill most often used in Build (also Validate scope, Ship review) that explains when and how to apply cloud architecture patterns like BFF and anti-corruption layers.
Install
npx skills add https://github.com/github/awesome-copilot --skill cloud-design-patternsWhat is this skill?
- Documents Anti-Corruption Layer for legacy integration without polluting new domain models
- Covers Backends for Frontends when web, mobile, or IoT need tailored payloads
- Includes Gateway Aggregation and related distributed-system pattern guidance
- Each pattern lists problem, solution, when to use, and implementation considerations
- Suitable as a checklist during incremental migration off monoliths or third-party APIs
Adoption & trust: 1.8k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You are splitting a monolith or integrating legacy systems but lack a shared vocabulary for façades, BFFs, and gateways.
Who is it for?
Indie SaaS and API builders planning multi-client backends, legacy strangler migrations, or third-party model mismatches.
Skip if: Single-page static sites with no backend, or teams that only need copy-paste Terraform without architecture reasoning.
When should I use this skill?
When choosing or explaining cloud architecture patterns for integration, client-specific APIs, or gateway design.
What do I get? / Deliverables
You choose a documented pattern with explicit when-to-use criteria and implementation notes before committing to service topology.
- Pattern recommendation with problem/solution mapping
- Implementation consideration checklist for the chosen pattern
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build/backend because patterns govern service boundaries and APIs, yet the same reference guides validate scoping and ship-time architecture reviews. Backend is the best fit: ACL, BFF, and gateway aggregation are integration and API-shaping decisions, not frontend styling or launch SEO.
Where it fits
Decide whether mobile and web need separate BFFs before committing to one REST monolith.
Place an anti-corruption layer between a new billing service and a legacy ERP export format.
Review a gateway design for duplicated business logic across BFF instances.
Plan retirement of translation façades after a strangler migration finishes.
How it compares
Architecture pattern reference for agents—not a deploy skill or MCP server that provisions cloud resources.
Common Questions / FAQ
Who is cloud-design-patterns for?
Solo builders and tech leads using Copilot-class agents who need concise pattern definitions while designing cloud-native or hybrid systems.
When should I use cloud-design-patterns?
During Validate when scoping client types and integrations; in Build when drawing service boundaries; at Ship during architecture or security review of gateways and BFF layers.
Is cloud-design-patterns safe to install?
It is documentation-only pattern text; still review Security Audits on this Prism page and do not treat pattern suggestions as substitute for threat modeling.
SKILL.md
READMESKILL.md - Cloud Design Patterns
# Architecture & Design Patterns ## Anti-Corruption Layer Pattern **Problem**: New systems must integrate with legacy systems that use outdated models or technologies. **Solution**: Implement a façade or adapter layer between a modern application and a legacy system to prevent legacy constraints from affecting new design. **When to Use**: - Migrating from legacy systems incrementally - Integrating with third-party systems with different domain models - Protecting modern architectures from legacy constraints **Implementation Considerations**: - Create translation layer between domain models - Map between legacy and modern data structures - Isolate legacy system interfaces behind abstractions - Consider performance impact of translation - Plan for eventual removal if migration is complete ## Backends for Frontends (BFF) Pattern **Problem**: A single backend may not optimally serve different client types. **Solution**: Create separate backend services to serve specific frontend applications or interfaces. **When to Use**: - Different client types (web, mobile, IoT) have different needs - Optimizing payload size and shape per client - Reducing coupling between frontend and shared backend **Implementation Considerations**: - Create one BFF per user experience or client type - Tailor API contracts to frontend needs - Avoid duplicating business logic across BFFs - Share common services between BFFs - Manage increased number of services ## Gateway Aggregation Pattern **Problem**: Clients need data from multiple backend services. **Solution**: Use a gateway to aggregate multiple individual requests into a single request. **When to Use**: - Reducing chattiness between clients and backends - Combining data from multiple sources for a single view - Reducing latency by parallelizing backend calls **Implementation Considerations**: - API gateway aggregates responses from multiple services - Execute backend calls in parallel where possible - Handle partial failures appropriately - Consider caching of aggregated responses - Avoid creating a monolithic gateway ## Gateway Offloading Pattern **Problem**: Shared functionality is duplicated across multiple services. **Solution**: Offload shared or specialized service functionality to a gateway proxy. **When to Use**: - Centralizing cross-cutting concerns (SSL, authentication, logging) - Simplifying service implementation - Standardizing shared functionality **Implementation Considerations**: - Offload SSL termination to gateway - Implement authentication and authorization at gateway - Handle rate limiting and throttling - Provide request/response logging - Avoid making gateway a bottleneck ## Gateway Routing Pattern **Problem**: Clients need to access multiple services through a single endpoint. **Solution**: Route requests to multiple services using a single endpoint. **When to Use**: - Providing a single entry point for multiple services - Abstracting backend service topology from clients - Enabling service versioning and migration strategies **Implementation Considerations**: - Route based on URL path, headers, or query parameters - Support URL rewriting and transformation - Enable A/B testing and canary deployments - Implement health checks for backend services - Monitor routing performance ## Sidecar Pattern **Problem**: Applications need auxiliary functionality without coupling. **Solution**: Deploy components of an application into a separate process or container to provide isolation and encapsulation. **When to Use**: - Adding functionality to applications without modifying them - Implementing cross-cutting concerns (logging, monitoring, security) - Supporting heterogeneous environments **Implementation Considerations**: - Deploy sidecar alongside main application - Share lifecycle, resources, and network with main application - Use for proxying, logging, configuration, or monitoring - Consider resource overhead of additional containers - Standardize sidecar i