Generated banner for Cloud Solution Architect
Generated logo for Cloud Solution Architect

Cloud Solution Architect

MicrosoftOfficialPublished by Microsoft

  • Skill
  • Guidelines
  • Software development
  • MIT
  • No issues found

From the author

Transform the agent into a Cloud Solution Architect following Azure Architecture Center best practices. Use when designing cloud architectures, reviewing system designs, selecting architecture styles, applying cloud design patterns, making technology choices, or conducting Well-Architected Framework reviews.
— the description by Microsoft

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill configures an AI agent to act as a Cloud Solution Architect, providing structured guidance based on the Azure Architecture Center. It enables the agent to assist with designing production-grade cloud systems, selecting appropriate architecture styles, applying proven design patterns, and conducting systematic reviews against the Well-Architected Framework (WAF). The agent is equipped with knowledge of 10 core design principles, 44 cloud design patterns, and decision frameworks for technology selection, ensuring that architectural decisions are well-reasoned and aligned with industry-standard best practices.

What it does

  • Provides guidance on selecting architecture styles like N-tier, Microservices, and Event-driven.
  • Maps 44 cloud design patterns to WAF pillars for reliability, security, and performance.
  • Offers a decision framework for choosing compute, storage, data, and messaging technologies.
  • Conducts systematic architecture reviews using the Well-Architected Framework.
  • Identifies performance antipatterns and suggests remediation strategies.
  • Supports the creation of Architecture Decision Records (ADRs) for project documentation.

When to use it

  • When designing a new cloud-based application or system architecture.
  • When reviewing an existing system design for potential improvements or bottlenecks.
  • When evaluating technology choices for compute, data, or messaging services.
  • When performing a Well-Architected Framework review to ensure system quality.
  • When troubleshooting performance issues caused by common cloud antipatterns.

Advantages

  • Ensures architectural consistency by following official Azure best practices.
  • Facilitates informed decision-making through structured tradeoff analysis.
  • Promotes the use of resilient, scalable, and cost-effective design patterns.
  • Standardizes the documentation of architectural decisions via ADR templates.
  • Helps align technical choices with specific business requirements and SLAs.

Usage examples

“I am designing a high-traffic e-commerce platform. Which architecture style should I choose?”
The agent will compare styles like Microservices versus N-tier based on your team's autonomy, domain complexity, and scaling needs, recommending the best fit.
“Our application is experiencing performance issues under load. Can you help me identify potential antipatterns?”
The agent will review your current design against known performance antipatterns like 'Busy Database' or 'Chatty I/O' and suggest specific fixes.
“Help me conduct a Well-Architected Framework review for my current Azure deployment.”
The agent will guide you through a systematic assessment of your architecture across the five WAF pillars, identifying risks and improvement opportunities.
“We need to choose a messaging service for our event-driven system. What are the options?”
The agent will present a decision framework comparing Service Bus, Event Hubs, and Event Grid based on your specific throughput and ordering requirements.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/microsoft/cloud-solution-architect/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip cloud-solution-architect.zip -d .agents/skills

Documentation by Microsoft

Cloud Solution Architect

Overview

Design well-architected, production-grade cloud systems following Azure Architecture Center best practices. This skill provides:

  • 10 design principles for Azure applications

  • 6 architecture styles with selection guidance

  • 44 cloud design patterns mapped to WAF pillars

  • Technology choice frameworks for compute, storage, data, messaging

  • Performance antipatterns to avoid

  • Architecture review workflow for systematic design validation


Ten Design Principles for Azure Applications

#PrincipleKey Tactics
1Design for self-healingRetry with backoff, circuit breaker, bulkhead isolation, health endpoint monitoring, graceful degradation
2Make all things redundantEliminate single points of failure, use availability zones, deploy multi-region, replicate data
3Minimize coordinationDecouple services, use async messaging, embrace eventual consistency, use domain events
4Design to scale outHorizontal scaling, autoscaling rules, stateless services, avoid session stickiness, partition workloads
5Partition around limitsData partitioning (shard/hash/range), respect compute & network limits, use CDNs for static content
6Design for operationsStructured logging, distributed tracing, metrics & dashboards, runbook automation, infrastructure as code
7Use managed servicesPrefer PaaS over IaaS, reduce operational burden, leverage built-in HA/DR/scaling
8Use an identity serviceMicrosoft Entra ID, managed identity, RBAC, avoid storing credentials, zero-trust principles
9Design for evolutionLoose coupling, versioned APIs, backward compatibility, async messaging for integration, feature flags
10Build for business needsDefine SLAs/SLOs, establish RTO/RPO targets, domain-driven design, cost modeling, composite SLAs

Architecture Styles

StyleDescriptionWhen to UseKey Services
N-tierHorizontal layers (presentation, business, data)Traditional enterprise apps, lift-and-shiftApp Service, SQL Database, VNets
Web-Queue-WorkerWeb frontend → message queue → backend workerModerate-complexity apps with long-running tasksApp Service, Service Bus, Functions
MicroservicesSmall autonomous services, bounded contexts, independent deployComplex domains, independent team scalingAKS, Container Apps, API Management
Event-drivenPub/sub model, event producers/consumersReal-time processing, IoT, reactive systemsEvent Hubs, Event Grid, Functions
Big dataBatch + stream processing pipelineAnalytics, ML pipelines, large-scale dataSynapse, Data Factory, Databricks
Big computeHPC, parallel processingSimulations, modeling, rendering, genomicsBatch, CycleCloud, HPC VMs
Selection Criteria
  • Domain complexity → Microservices (high), N-tier (low-medium)

  • Team autonomy → Microservices (independent teams), N-tier (single team)

  • Data volume → Big data (TB+), others (GB)

  • Latency requirements → Event-driven (real-time), Web-Queue-Worker (tolerant)


Cloud Design Patterns

44 patterns organized by primary concern. WAF pillar mapping: R=Reliability, S=Security, CO=Cost Optimization, OE=Operational Excellence, PE=Performance Efficiency.

Messaging & Communication
PatternSummaryPillars
Asynchronous Request-ReplyDecouple request/response with polling or callbacksR, PE
Claim CheckSplit large messages; store payload separately, pass referenceR, PE
ChoreographyServices coordinate via events without central orchestratorR, OE
Competing ConsumersMultiple consumers process messages from shared queue concurrentlyR, PE
Messaging BridgeConnect incompatible messaging systemsR, OE
Pipes and FiltersDecompose complex processing into reusable filter stagesR, OE
Priority QueuePrioritize requests so higher-priority work is processed firstR, PE
Publisher/SubscriberDecouple senders from receivers via topics/subscriptionsR, PE
Queue-Based Load LevelingBuffer requests with a queue to smooth intermittent loadsR, PE
Sequential ConvoyProcess related messages in order while allowing parallel groupsR, PE
Reliability & Resilience
PatternSummaryPillars
BulkheadIsolate resources per workload to prevent cascading failureR
Circuit BreakerStop calling a failing service; fail fast to protect resourcesR
Compensating TransactionUndo previously committed steps when a later step failsR
Health Endpoint MonitoringExpose health checks for load balancers and orchestratorsR, OE
Leader ElectionCoordinate distributed instances by electing a leaderR
RetryHandle transient faults by retrying with exponential backoffR
SagaManage data consistency across microservices with compensating transactionsR
Scheduler Agent SupervisorCoordinate distributed actions with retry and failure handlingR
Data Management
PatternSummaryPillars
Cache-AsideLoad data on demand into cache from data storePE
CQRSSeparate read and write models for independent scalingPE, R
Event SourcingStore state as append-only sequence of domain eventsR, OE
Index TableCreate indexes over frequently queried fields in data storesPE
Materialized ViewPre-compute views over data for efficient queriesPE
ShardingDistribute data across partitions for scale and performancePE, R
Static Content HostingServe static content from cloud storage/CDN directlyPE, CO
Valet KeyGrant clients limited direct access to storage resourcesS, PE
Design & Structure
PatternSummaryPillars
AmbassadorOffload cross-cutting concerns to a helper sidecar proxyOE
Anti-Corruption LayerTranslate between new and legacy system modelsOE, R
Backends for FrontendsCreate separate backends per frontend type (mobile, web, etc.)OE, PE
Compute Resource ConsolidationCombine multiple workloads into fewer compute instancesCO
External Configuration StoreExternalize configuration from deployment packagesOE
SidecarDeploy helper components alongside the main serviceOE
Strangler FigIncrementally migrate legacy systems by replacing piecesOE, R
Security & Access
PatternSummaryPillars
Federated IdentityDelegate authentication to an external identity providerS
GatekeeperProtect services using a dedicated broker that validates requestsS
QuarantineIsolate and validate external assets before allowing useS
Rate LimitingControl consumption rate of resources by consumersR, S
ThrottlingControl resource consumption to sustain SLAs under loadR, PE
Deployment & Scaling
PatternSummaryPillars
Deployment StampsDeploy multiple independent copies of application componentsR, PE
Edge Workload ConfigurationConfigure workloads differently across diverse edge devicesOE
Gateway AggregationAggregate multiple backend calls into a single client requestPE
Gateway OffloadingOffload shared functionality (SSL, auth) to a gatewayOE, S
Gateway RoutingRoute requests to multiple backends using a single endpointOE
GeodeDeploy backends to multiple regions for active-active servingR, PE

See Design Patterns Reference for detailed implementation guidance.


Technology Choices

Decision Framework

For each technology area, evaluate: requirements → constraints → tradeoffs → select.

AreaKey OptionsSelection Criteria
ComputeApp Service, Functions, Container Apps, AKS, VMs, BatchHosting model, scaling, cost, team skills
StorageBlob Storage, Data Lake, Files, Disks, Managed LustreAccess patterns, throughput, cost tier
Data storesSQL Database, Cosmos DB, PostgreSQL, Redis, Table StorageConsistency model, query patterns, scale
MessagingService Bus, Event Hubs, Event Grid, Queue StorageOrdering, throughput, pub/sub vs queue
NetworkingFront Door, Application Gateway, Load Balancer, Traffic ManagerGlobal vs regional, L4 vs L7, WAF
AI servicesAzure OpenAI, AI Search, AI Foundry, Document IntelligenceModel needs, data grounding, orchestration
ContainersContainer Apps, AKS, Container InstancesOperational control vs simplicity

See Technology Choices Reference for detailed decision trees.


Best Practices

PracticeKey Guidance
API designRESTful conventions, resource-oriented URIs, HATEOAS, versioning via URL path or header
API implementationAsync operations, pagination, idempotent PUT/DELETE, content negotiation, ETag caching
AutoscalingScale on metrics (CPU, queue depth, custom), cool-down periods, predictive scaling, scale-in protection
Background jobsUse queues or scheduled triggers, idempotent processing, poison message handling, graceful shutdown
CachingCache-aside pattern, TTL policies, cache invalidation strategies, distributed cache for multi-instance
CDNStatic asset offloading, cache-busting with versioned URLs, geo-distribution, HTTPS enforcement
Data partitioningHorizontal (sharding), vertical, functional partitioning; partition key selection for even distribution
Partitioning strategiesHash-based, range-based, directory-based; rebalancing approach, cross-partition query avoidance
Host name preservationPreserve original host header through proxies/gateways for cookies, redirects, auth flows
Message encodingSchema evolution (Avro/Protobuf), backward/forward compatibility, schema registry
Monitoring & diagnosticsStructured logging, distributed tracing (W3C Trace Context), metrics, alerts, dashboards
Transient fault handlingRetry with exponential backoff + jitter, circuit breaker, idempotency keys, timeout budgets

See Best Practices Reference for implementation details.


Performance Antipatterns

Avoid these common patterns that degrade performance under load:

AntipatternProblemFix
Busy DatabaseOffloading too much processing to the databaseMove logic to application tier, use caching
Busy Front EndResource-intensive work on frontend request threadsOffload to background workers/queues
Chatty I/OMany small I/O requests instead of fewer large onesBatch requests, use bulk APIs, buffer writes
Extraneous FetchingRetrieving more data than neededProject only required fields, paginate, filter server-side
Improper InstantiationRecreating expensive objects per requestUse singletons, connection pooling, HttpClientFactory
Monolithic PersistenceSingle data store for all data typesPolyglot persistence — right store for each workload
No CachingRepeatedly fetching unchanged dataCache-aside pattern, CDN, output caching, Redis
Noisy NeighborOne tenant consuming all shared resourcesBulkhead isolation, per-tenant quotas, throttling
Retry StormAggressive retries overwhelming a recovering serviceExponential backoff + jitter, circuit breaker, retry budgets
Synchronous I/OBlocking threads on I/O operationsAsync/await, non-blocking I/O, reactive streams

Mission-Critical Design

For workloads targeting 99.99%+ SLO, address these design areas:

Design AreaKey Considerations
Application platformMulti-region active-active, availability zones, Container Apps or AKS with zone redundancy
Application designStateless services, idempotent operations, graceful degradation, bulkhead isolation
NetworkingAzure Front Door (global LB), DDoS Protection, private endpoints, redundant connectivity
Data platformMulti-region Cosmos DB, zone-redundant SQL, async replication, conflict resolution
Deployment & testingBlue-green deployments, canary releases, chaos engineering, automated rollback
Health modelingComposite health scores, dependency health tracking, automated remediation, SLI dashboards
SecurityZero-trust, managed identity everywhere, key rotation, WAF policies, threat modeling
Operational proceduresAutomated runbooks, incident response playbooks, game days, postmortems

See Mission-Critical Reference for detailed guidance.


Well-Architected Framework (WAF) Pillars

Every architecture decision should be evaluated against all five pillars:

PillarFocusKey Questions
ReliabilityResiliency, availability, disaster recoveryWhat is the RTO/RPO? How does it handle failures? Is there redundancy?
SecurityThreat protection, identity, data protectionIs identity managed? Is data encrypted? Are there network controls?
Cost OptimizationCost management, efficiency, right-sizingIs compute right-sized? Are there reserved instances? Is there waste?
Operational ExcellenceMonitoring, deployment, automationIs deployment automated? Is there observability? Are there runbooks?
Performance EfficiencyScaling, load testing, performance targetsCan it scale horizontally? Are there performance baselines? Is caching used?
WAF Tradeoff Matrix
Optimizing for...May impact...
Reliability (redundancy)Cost (more resources)
Security (isolation)Performance (added latency)
Cost (consolidation)Reliability (shared failure domains)
Performance (caching)Cost (cache infrastructure), Reliability (stale data)

Architecture Review Workflow

When reviewing or designing a system, follow this structured approach:

Step 1: Identify Requirements
Functional: What must the system do?
Non-functional:
  - Availability target (e.g., 99.9%, 99.99%)
  - Latency requirements (p50, p95, p99)
  - Throughput (requests/sec, messages/sec)
  - Data residency and compliance
  - Recovery targets (RTO, RPO)
  - Cost constraints
Step 2: Select Architecture Style

Match requirements to architecture style using the selection criteria table above.

Step 3: Choose Technology Stack

Use the technology choices decision framework. Prefer managed services (PaaS) over IaaS.

Step 4: Apply Design Patterns

Select relevant patterns from the 44 cloud design patterns based on identified concerns.

Step 5: Address Cross-Cutting Concerns
  • Identity & access — Microsoft Entra ID, managed identity, RBAC

  • Monitoring — Application Insights, Azure Monitor, Log Analytics

  • Security — Network segmentation, encryption at rest/in transit, Key Vault

  • CI/CD — GitHub Actions, Azure DevOps Pipelines, infrastructure as code

Step 6: Validate Against WAF Pillars

Review each pillar systematically. Document tradeoffs explicitly.

Step 7: Document Decisions

Use Architecture Decision Records (ADRs):

# ADR-NNN: [Decision Title]

## Status: [Proposed | Accepted | Deprecated]

## Context
[What is the issue we're addressing?]

## Decision
[What did we decide and why?]

## Consequences
[What are the positive and negative impacts?]

References


Source

Content derived from the Azure Architecture Center — Microsoft's official guidance for cloud solution architecture on Azure. Covers design principles, architecture styles, cloud design patterns, technology choices, best practices, performance antipatterns, mission-critical design, and the Well-Architected Framework.

Files

references/design-patterns.md

Cloud Design Patterns

A comprehensive reference of all 44 cloud design patterns from the Azure Architecture Center, organized by concern area and detailed with problem context, usage scenarios, WAF pillar alignment, and related patterns.


Patterns by Concern

Availability / Reliability

Circuit Breaker · Compensating Transaction · Health Endpoint Monitoring · Leader Election · Queue-Based Load Leveling · Retry · Saga · Scheduler Agent Supervisor · Sequential Convoy · Bulkhead · Rate Limiting

Data Management

Cache-Aside · CQRS · Event Sourcing · Index Table · Materialized View · Sharding · Valet Key · Claim Check

Design / Implementation

Ambassador · Anti-Corruption Layer · Backends for Frontends · Compute Resource Consolidation · Deployment Stamps · External Configuration Store · Gateway Aggregation · Gateway Offloading · Gateway Routing · Sidecar · Strangler Fig · Federated Identity

Messaging

Asynchronous Request-Reply · Choreography · Claim Check · Competing Consumers · Messaging Bridge · Pipes and Filters · Priority Queue · Publisher/Subscriber · Queue-Based Load Leveling · Sequential Convoy

Performance / Scalability

Cache-Aside · Geode · Throttling · Deployment Stamps · CQRS

Security

Gatekeeper · Quarantine · Valet Key · Federated Identity · Throttling


Pattern Reference

1. Ambassador

Create helper services that send network requests on behalf of a consumer service or application.

Problem: Applications need common connectivity features such as monitoring, logging, routing, security (TLS), and resiliency patterns. Legacy or difficult-to-modify apps may not support these features natively. Network calls require substantial configuration for concerns such as circuit breaking, routing, metering, and telemetry.

When to use:

  • You need a common set of client connectivity features across multiple languages or frameworks

  • The connectivity concern is owned by infrastructure teams or another specialized team

  • You need to reduce the age or complexity of legacy app networking without modifying source code

  • You want to standardize observability and resiliency across polyglot services

WAF Pillars: Reliability, Security

Related patterns: Sidecar, Gateway Routing, Gateway Offloading


2. Anti-Corruption Layer

Implement a façade or adapter layer between a modern application and a legacy system.

Problem: During migration, the new system must often integrate with the legacy system's data model or API, which may use outdated schemas, protocols, or design conventions. Allowing the modern application to depend on legacy contracts contaminates its design and limits future evolution.

When to use:

  • A migration is planned over multiple phases and the old and new systems must coexist

  • The new system's domain model differs significantly from the legacy system

  • You want to prevent legacy coupling from leaking into modern components

  • Two bounded contexts (DDD) need to communicate but have incompatible models

WAF Pillars: Operational Excellence

Related patterns: Strangler Fig, Gateway Routing


3. Asynchronous Request-Reply

Decouple backend processing from a frontend host, where backend processing needs to be asynchronous but the frontend still needs a clear response.

Problem: In many architectures, the client expects an immediate acknowledgement while the actual work happens in the background. The client needs a way to learn the result of the background operation without holding a long-lived connection or repeatedly guessing when processing completes.

When to use:

  • Backend processing may take seconds to minutes and the client should not block

  • Client-side code such as a browser app cannot provide a callback endpoint

  • You want to expose an HTTP API where the server initiates long-running work and the client polls for results

  • You need an alternative to WebSocket or server-sent events for status updates

WAF Pillars: Performance Efficiency

Related patterns: Competing Consumers, Pipes and Filters, Queue-Based Load Leveling


4. Backends for Frontends

Create separate backend services to be consumed by specific frontend applications or interfaces.

Problem: A general-purpose backend API tends to accumulate conflicting requirements from different frontends (mobile, web, desktop, IoT). Over time the backend becomes bloated and changes for one frontend risk breaking another. Release cadences diverge and the single backend becomes a bottleneck.

When to use:

  • A shared backend must be maintained with significant development overhead for multiple frontends

  • You want to optimize each backend for the constraints of a specific client (bandwidth, latency, payload shape)

  • Different frontend teams need independent release cycles for their backend logic

  • A single backend would require complex, client-specific branching logic

WAF Pillars: Reliability, Security, Performance Efficiency

Related patterns: Gateway Aggregation, Gateway Offloading, Gateway Routing


5. Bulkhead

Isolate elements of an application into pools so that if one fails, the others continue to function.

Problem: A cloud-based application may call multiple downstream services. If a single downstream becomes slow or unresponsive, the caller's thread pool or connection pool can be exhausted, causing cascading failure that takes down unrelated functionality.

When to use:

  • You need to protect critical consumers from failures in non-critical downstream dependencies

  • A single noisy tenant or request type should not degrade service for others

  • You want to limit the blast radius of a downstream fault

  • The application calls multiple services with differing SLAs

WAF Pillars: Reliability, Security, Performance Efficiency

Related patterns: Circuit Breaker, Retry, Throttling, Queue-Based Load Leveling


6. Cache-Aside

Load data on demand into a cache from a data store.

Problem: Applications frequently read the same data from a data store. Repeated round trips increase latency and reduce throughput. Data stores may throttle or become expensive under high read loads.

When to use:

  • The data store is read-heavy and the same data is requested frequently

  • The data store does not natively provide caching

  • Data can tolerate short periods of staleness

  • You want to reduce cost and latency of repeated reads

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Materialized View, Event Sourcing, CQRS


7. Choreography

Have each component of the system participate in the decision-making process about the workflow of a business transaction, instead of relying on a central point of control.

Problem: A central orchestrator can become a single point of failure, a performance bottleneck, or a source of tight coupling. Changes to the workflow require changes to the orchestrator, which may be owned by a different team.

When to use:

  • Services are independently deployable and owned by separate teams

  • The workflow changes frequently and a central orchestrator would become a maintenance burden

  • You want to avoid a single point of failure in workflow coordination

  • Services need loose coupling and can react to events

WAF Pillars: Operational Excellence, Performance Efficiency

Related patterns: Publisher/Subscriber, Saga, Competing Consumers


8. Circuit Breaker

Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.

Problem: Transient faults are handled by the Retry pattern, but when a downstream service is unavailable for an extended period, retries waste resources and block callers. Continuing to send requests to a failing service prevents it from recovering and wastes the caller's threads, connections, and compute.

When to use:

  • A remote dependency experiences intermittent prolonged outages

  • You need to fail fast rather than make callers wait for a timeout

  • You want to give a failing downstream time to recover before sending more requests

  • You want to surface degraded functionality instead of hard failures

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Retry, Bulkhead, Health Endpoint Monitoring, Ambassador


9. Claim Check

Split a large message into a claim check and payload to avoid overwhelming the messaging infrastructure.

Problem: Message brokers and queues often have size limits and charge per message. Sending large payloads (images, documents, datasets) through the messaging channel wastes bandwidth, increases cost, and may hit transport limits.

When to use:

  • The message payload exceeds the messaging system's size limit

  • You want to reduce messaging costs by keeping message bodies small

  • Not all consumers need the full payload; some only need metadata

  • You need to protect sensitive payload data by separating access control from the messaging channel

WAF Pillars: Reliability, Security, Cost Optimization, Performance Efficiency

Related patterns: Competing Consumers, Pipes and Filters, Publisher/Subscriber


10. Compensating Transaction

Undo the work performed by a series of steps, which together define an eventually consistent operation.

Problem: In distributed systems, multi-step operations cannot rely on traditional ACID transactions. If a later step fails, the previous steps have already committed. The system needs a mechanism to reverse or compensate for the work done by the completed steps.

When to use:

  • Multi-step operations span multiple services or data stores that do not share a transaction coordinator

  • You need to maintain consistency when a step in a distributed workflow fails

  • Rolling back is semantically meaningful (refund a charge, release a reservation)

  • The cost of inconsistency outweighs the complexity of compensation logic

WAF Pillars: Reliability

Related patterns: Saga, Retry, Scheduler Agent Supervisor


11. Competing Consumers

Enable multiple concurrent consumers to process messages received on the same messaging channel.

Problem: At peak load, a single consumer cannot keep up with the volume of incoming messages. Messages queue up, latency increases, and the system may breach its SLAs.

When to use:

  • The workload varies significantly and you need to scale message processing dynamically

  • You require high availability—if one consumer fails, others continue processing

  • Multiple messages are independent and can be processed in parallel

  • You want to distribute work across multiple instances or nodes

WAF Pillars: Reliability, Cost Optimization, Performance Efficiency

Related patterns: Queue-Based Load Leveling, Priority Queue, Publisher/Subscriber, Pipes and Filters


12. Compute Resource Consolidation

Consolidate multiple tasks or operations into a single computational unit.

Problem: Deploying each small task or component as a separate service introduces operational overhead: more deployments, monitoring endpoints, and infrastructure cost. Many lightweight components are underutilized most of the time, wasting allocated compute.

When to use:

  • Several lightweight processes have low CPU or memory usage individually

  • You want to reduce deployment and operational overhead

  • Processes share the same scaling profile and lifecycle

  • Communication between tasks benefits from being in-process rather than over the network

WAF Pillars: Cost Optimization, Operational Excellence, Performance Efficiency

Related patterns: Sidecar, Backends for Frontends


13. CQRS (Command and Query Responsibility Segregation)

Segregate operations that read data from operations that update data by using separate interfaces.

Problem: In traditional CRUD architectures, the same data model is used for reads and writes. This creates tension: read models want denormalized, query-optimized shapes while write models want normalized, consistency-optimized shapes. As the system grows, the shared model becomes a compromise that serves neither concern well.

When to use:

  • Read and write workloads are asymmetric (far more reads than writes, or vice versa)

  • Read and write models have different schema requirements

  • You want to scale read and write sides independently

  • The domain benefits from an event-driven or task-based style rather than CRUD

WAF Pillars: Performance Efficiency

Related patterns: Event Sourcing, Materialized View, Cache-Aside


14. Deployment Stamps

Deploy multiple independent copies of application components, including data stores.

Problem: A single shared deployment for all tenants or regions creates coupling. A fault in one tenant's workload can affect all tenants. Regulatory requirements may mandate data residency. Scaling the entire deployment for a single tenant's spike is wasteful.

When to use:

  • You need to isolate tenants for compliance, performance, or fault isolation

  • Your application must serve multiple geographic regions with data residency requirements

  • You need independent scaling per tenant group or region

  • You want blue/green or canary deployments at the stamp level

WAF Pillars: Operational Excellence, Performance Efficiency

Related patterns: Geode, Sharding, Throttling


15. Edge Workload Configuration

Centrally configure workloads that run at the edge, managing configuration drift and deployment consistency across heterogeneous edge devices.

Problem: Edge devices are numerous, heterogeneous, and often intermittently connected. Deploying and configuring workloads individually is error-prone. Configuration drift between devices causes inconsistent behavior and difficult debugging.

When to use:

  • You manage a fleet of edge devices running the same workload with differing local parameters

  • Edge devices have intermittent connectivity and must operate independently

  • You need a central source of truth for configuration with local overrides

  • Audit and compliance require tracking which configuration each device is running

WAF Pillars: Operational Excellence

Related patterns: External Configuration Store, Sidecar, Ambassador


16. Event Sourcing

Use an append-only store to record the full series of events that describe actions taken on data in a domain.

Problem: Traditional CRUD stores only keep current state—history is lost. Audit, debugging, temporal queries, and replays are impossible without supplementary logging, which is often incomplete or out of sync.

When to use:

  • You need a complete, immutable audit trail of all changes

  • The business logic benefits from replaying or projecting events into different views

  • You want to decouple the write model from the read model (often combined with CQRS)

  • You need to reconstruct past states for debugging or regulatory purposes

WAF Pillars: Reliability, Performance Efficiency

Related patterns: CQRS, Materialized View, Compensating Transaction, Saga


17. External Configuration Store

Move configuration information out of the application deployment package to a centralized location.

Problem: Configuration files deployed alongside the application binary require redeployment to change. Different environments (dev, staging, prod) need different values. Sharing configuration across multiple services is difficult when each has its own config file.

When to use:

  • Multiple services share common configuration settings

  • You need to update configuration without redeploying or restarting services

  • You want centralized access control and audit logging for configuration

  • Configuration must differ across environments but be managed in a single system

WAF Pillars: Operational Excellence

Related patterns: Edge Workload Configuration, Sidecar


18. Federated Identity

Delegate authentication to an external identity provider.

Problem: Building and maintaining your own identity store introduces security risks (password storage, credential rotation, MFA implementation). Users must manage separate credentials for each application, leading to password fatigue and weaker security posture.

When to use:

  • Users already have identities in an enterprise directory or social provider

  • You want to enable single sign-on (SSO) across multiple applications

  • Business partners need to access your application with their own credentials

  • You want to offload identity management (MFA, password policy) to a specialized provider

WAF Pillars: Reliability, Security, Performance Efficiency

Related patterns: Gatekeeper, Valet Key, Gateway Offloading


19. Gatekeeper

Protect applications and services by using a dedicated host instance that acts as a broker between clients and the application or service.

Problem: Services that expose public endpoints are vulnerable to malicious attacks. Placing validation, authentication, and sanitization logic inside the service mixes security concerns with business logic and increases the attack surface if the service is compromised.

When to use:

  • Applications handle sensitive data or high-value transactions

  • You need a centralized point for request validation and sanitization

  • You want to limit the attack surface by isolating security checks from the trusted host

  • Compliance requires an explicit security boundary between public and private tiers

WAF Pillars: Security

Related patterns: Valet Key, Gateway Routing, Gateway Offloading, Federated Identity


20. Gateway Aggregation

Use a gateway to aggregate multiple individual requests into a single request.

Problem: A client (especially mobile) may need data from multiple backend microservices to render a single page or view. Making many fine-grained calls from the client increases latency (multiple round trips), battery usage, and complexity. The client must understand the topology of the backend.

When to use:

  • A client needs to make multiple calls to different backend services for a single operation

  • Network latency between the client and backend is significant (mobile, IoT, remote clients)

  • You want to reduce chattiness and simplify client code

  • Backend services are fine-grained microservices and the client should not know their topology

WAF Pillars: Reliability, Security, Operational Excellence, Performance Efficiency

Related patterns: Backends for Frontends, Gateway Offloading, Gateway Routing


21. Gateway Offloading

Offload shared or specialized service functionality to a gateway proxy.

Problem: Cross-cutting concerns such as TLS termination, authentication, rate limiting, logging, and compression are duplicated across every service. Each team must implement, configure, and maintain these features independently, leading to inconsistency and wasted effort.

When to use:

  • Multiple services share cross-cutting concerns (TLS, auth, rate limiting, logging)

  • You want to standardize and centralize these features instead of duplicating them per service

  • You need to reduce operational complexity for individual service teams

  • The gateway is already in the request path and adding features there avoids extra hops

WAF Pillars: Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency

Related patterns: Gateway Aggregation, Gateway Routing, Sidecar, Ambassador


22. Gateway Routing

Route requests to multiple services using a single endpoint.

Problem: Clients must know the addresses of multiple services. Adding, removing, or relocating a service requires client updates. Exposing internal service topology increases coupling and complicates DNS and load balancing.

When to use:

  • You want to expose multiple services behind a single URL with path- or header-based routing

  • You need to decouple client URLs from the internal service topology

  • You want to simplify client configuration and DNS management

  • You need to support versioned APIs or blue/green routing at the gateway level

WAF Pillars: Reliability, Operational Excellence, Performance Efficiency

Related patterns: Gateway Aggregation, Gateway Offloading, Backends for Frontends


23. Geode

Deploy backend services into a set of geographical nodes, each of which can service any client request in any region.

Problem: Users across the globe experience high latency when all traffic routes to a single region. A single-region deployment also creates a single point of failure and cannot meet data residency requirements for multiple jurisdictions.

When to use:

  • Users are globally distributed and expect low-latency access

  • You need active-active multi-region availability

  • Data residency or sovereignty requirements mandate regional deployment

  • A single-region failure should not take down the service globally

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Deployment Stamps, Sharding, Cache-Aside, Static Content Hosting


24. Health Endpoint Monitoring

Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.

Problem: Without health checks, failures are detected only when users report them. Load balancers, orchestrators, and monitoring systems need a programmatic way to determine whether an instance is healthy, ready to accept traffic, and functioning correctly.

When to use:

  • You use a load balancer or orchestrator (Kubernetes, App Service) that needs liveness and readiness signals

  • You want automated alerting when a service degrades

  • You need to verify downstream dependencies (database, cache, third-party API) are reachable

  • You want to enable self-healing by removing unhealthy instances from rotation

WAF Pillars: Reliability, Operational Excellence, Performance Efficiency

Related patterns: Circuit Breaker, Retry, Ambassador


25. Index Table

Create indexes over the fields in data stores that are frequently referenced by queries.

Problem: Many NoSQL stores support queries efficiently only on the primary or partition key. Queries on non-key fields result in full scans, which are slow and expensive at scale.

When to use:

  • Queries frequently filter or sort on non-key attributes

  • The data store does not support secondary indexes natively

  • You want to trade additional storage and write overhead for faster reads

  • Read performance on secondary fields is critical to the user experience

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Materialized View, Sharding, CQRS


26. Leader Election

Coordinate the actions performed by a collection of collaborating instances by electing one instance as the leader that assumes responsibility for managing the others.

Problem: Multiple identical instances need to coordinate shared work (aggregation, scheduling, rebalancing). Without coordination, instances may duplicate effort, conflict, or corrupt shared state.

When to use:

  • A group of peer instances needs exactly one to perform coordination tasks

  • The leader must be automatically re-elected if it fails

  • You want to avoid a statically assigned coordinator that becomes a single point of failure

  • Distributed locks or consensus are needed for coordination

WAF Pillars: Reliability

Related patterns: Scheduler Agent Supervisor, Competing Consumers


27. Materialized View

Generate prepopulated views over the data in one or more data stores when the data isn't ideally formatted for required query operations.

Problem: The normalized storage schema that is optimal for writes is often suboptimal for complex read queries. Joins across tables or services are expensive, slow, and sometimes impossible in NoSQL stores.

When to use:

  • Read queries require joining data across multiple stores or tables

  • The read pattern is well-known and relatively stable

  • You can tolerate a short delay between a write and its appearance in the view

  • You want to offload complex query logic from the application tier

WAF Pillars: Performance Efficiency

Related patterns: CQRS, Event Sourcing, Index Table, Cache-Aside


28. Messaging Bridge

Build an intermediary to enable communication between messaging systems that are otherwise incompatible, due to protocol, format, or infrastructure differences.

Problem: Organizations may operate multiple messaging systems (RabbitMQ, Azure Service Bus, Kafka, legacy MQ). Applications bound to different brokers cannot exchange messages natively, creating data silos and duplicated effort.

When to use:

  • You need to integrate systems that use different messaging protocols or brokers

  • A migration from one messaging platform to another must be gradual

  • You want to decouple producers and consumers from a specific messaging technology

  • Interoperability between cloud and on-premises messaging is required

WAF Pillars: Cost Optimization, Operational Excellence

Related patterns: Anti-Corruption Layer, Publisher/Subscriber, Strangler Fig


29. Pipes and Filters

Decompose a task that performs complex processing into a series of separate elements that can be reused.

Problem: Monolithic processing pipelines are difficult to test, scale, and reuse. A single stage's failure brings down the entire pipeline. Different stages may have different scaling needs that cannot be addressed independently.

When to use:

  • Processing can be broken into discrete, independent steps

  • Different steps have different scaling or deployment requirements

  • You want to reorder, add, or remove processing stages without rewriting the pipeline

  • Individual steps should be independently testable and reusable

WAF Pillars: Reliability

Related patterns: Competing Consumers, Queue-Based Load Leveling, Choreography


30. Priority Queue

Prioritize requests sent to services so that requests with a higher priority are received and processed more quickly than those with a lower priority.

Problem: A standard FIFO queue treats all messages equally. High-priority messages (payment confirmations, alerts) wait behind low-priority messages (reports, analytics), degrading the experience for critical operations.

When to use:

  • The system serves multiple clients or tenants with different SLAs

  • Certain message types must be processed within tighter time bounds

  • You need to guarantee that premium or critical workloads are not starved

  • Different priorities map to different processing costs or deadlines

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Competing Consumers, Queue-Based Load Leveling, Throttling


31. Publisher/Subscriber

Enable an application to announce events to multiple interested consumers asynchronously, without coupling the senders to the receivers.

Problem: A service that must notify multiple consumers directly becomes tightly coupled to each consumer. Adding a new consumer requires changing the producer. Synchronous calls from the producer to each consumer increase latency and reduce availability.

When to use:

  • Multiple consumers need to react to the same event independently

  • Producers and consumers should evolve independently

  • You need to add new consumers without modifying the producer

  • The system benefits from temporal decoupling (consumers process events at their own pace)

WAF Pillars: Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency

Related patterns: Choreography, Competing Consumers, Event Sourcing, Queue-Based Load Leveling


32. Quarantine

Ensure external assets meet a team-agreed quality level before being authorized for consumption.

Problem: External artifacts (container images, packages, data files, IaC modules) may contain vulnerabilities, malware, or misconfigurations. Consuming them without validation exposes the system to supply-chain attacks and compliance violations.

When to use:

  • You consume third-party container images, packages, or libraries

  • Compliance requires scanning artifacts before deployment

  • You want to gate promotion of artifacts through quality tiers (untested → tested → approved)

  • You need traceability for which version of an external asset is deployed

WAF Pillars: Security, Operational Excellence

Related patterns: Gatekeeper, Gateway Offloading, Pipes and Filters


33. Queue-Based Load Leveling

Use a queue that acts as a buffer between a task and a service it invokes, to smooth intermittent heavy loads.

Problem: Spikes in demand can overwhelm a service, causing throttling, errors, or outages. Over-provisioning to handle peak load wastes resources during normal periods.

When to use:

  • The workload is bursty but the backend service scales slowly or is expensive to over-provision

  • You need to decouple the rate at which work is submitted from the rate at which it is processed

  • You want to flatten traffic spikes without losing requests

  • Temporary unavailability of the backend should not result in data loss

WAF Pillars: Reliability, Cost Optimization, Performance Efficiency

Related patterns: Competing Consumers, Priority Queue, Throttling, Bulkhead


34. Rate Limiting

Control the rate of requests a client or service can send to or receive from another service, to prevent overconsumption of resources.

Problem: Without rate limiting, a misbehaving or compromised client can exhaust backend resources, causing service degradation for all consumers. Uncontrolled traffic can also trigger cloud provider throttling or incur excessive costs.

When to use:

  • You need to protect shared resources from overconsumption

  • You want to enforce fair usage across tenants or clients

  • The backend has known capacity limits and you want to stay below them

  • You need to prevent cascade failures caused by sudden traffic surges

WAF Pillars: Reliability

Related patterns: Throttling, Bulkhead, Circuit Breaker, Queue-Based Load Leveling


35. Retry

Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource, by transparently retrying a failed operation.

Problem: Cloud environments experience transient faults—brief network glitches, service restarts, temporary throttling. If the application treats every failure as permanent, it unnecessarily degrades the user experience or triggers costly failovers.

When to use:

  • The failure is likely transient (HTTP 429, 503, timeout)

  • Retrying the same request is idempotent or safe

  • You want to improve resilience without complex failover infrastructure

  • The downstream service is expected to recover within a short window

WAF Pillars: Reliability

Related patterns: Circuit Breaker, Bulkhead, Ambassador, Health Endpoint Monitoring


36. Saga

Manage data consistency across microservices in distributed transaction scenarios.

Problem: Traditional distributed transactions (two-phase commit) are not feasible across microservices with independent databases. Without a coordination mechanism, partial failures leave the system in an inconsistent state.

When to use:

  • A business operation spans multiple microservices, each with its own data store

  • You need eventual consistency with well-defined compensating actions

  • Two-phase commit is not available or would introduce unacceptable coupling

  • Each step can be reversed by a compensating transaction

WAF Pillars: Reliability

Related patterns: Compensating Transaction, Choreography, Scheduler Agent Supervisor, Event Sourcing


37. Scheduler Agent Supervisor

Coordinate a set of distributed actions as a single operation. If any of the actions fail, try to handle the failures transparently, or else undo the work that was performed.

Problem: Distributed workflows involve multiple steps across different services. You need a way to track progress, detect failures, retry or compensate, and ensure the workflow reaches a terminal state.

When to use:

  • A workflow spans multiple remote services that must be orchestrated

  • You need centralized monitoring and control of workflow progress

  • Failures should be retried or compensated automatically

  • The workflow must guarantee completion or rollback

WAF Pillars: Reliability, Performance Efficiency

Related patterns: Saga, Compensating Transaction, Leader Election, Retry


38. Sequential Convoy

Process a set of related messages in a defined order, without blocking processing of other groups of messages.

Problem: Message ordering is required within a logical group (e.g., all events for a single order), but a strict global order would serialize the entire system and destroy throughput. Different groups are independent and can be processed in parallel.

When to use:

  • Messages within a group must be processed in order (e.g., order events, session events)

  • Different groups can be processed concurrently

  • Out-of-order processing within a group would cause data corruption or incorrect results

  • You need high throughput across groups while preserving per-group ordering

WAF Pillars: Reliability

Related patterns: Competing Consumers, Priority Queue, Queue-Based Load Leveling


39. Sharding

Divide a data store into a set of horizontal partitions or shards.

Problem: A single database server has finite storage, compute, and I/O capacity. As data volume and query load grow, vertical scaling becomes prohibitively expensive or hits hardware limits. A single server is also a single point of failure.

When to use:

  • A single data store cannot handle the storage or throughput requirements

  • You need to distribute data geographically for latency or compliance

  • You want to scale horizontally by adding more nodes

  • Different subsets of data have different access patterns or SLAs

WAF Pillars: Reliability, Cost Optimization

Related patterns: Index Table, Materialized View, Geode, Deployment Stamps


40. Sidecar

Deploy components of an application into a separate process or container to provide isolation and encapsulation.

Problem: Applications need cross-cutting functionality (logging, monitoring, configuration, networking). Embedding these directly into the application creates tight coupling, language lock-in, and shared failure domains.

When to use:

  • The cross-cutting component must run alongside the main application but in isolation

  • The main application and the sidecar can be developed in different languages

  • You want to extend or add functionality without modifying the main application

  • The sidecar has a different lifecycle or scaling requirement than the main application

WAF Pillars: Security, Operational Excellence

Related patterns: Ambassador, Gateway Offloading, Compute Resource Consolidation


41. Static Content Hosting

Deploy static content to a cloud-based storage service that can deliver them directly to the client.

Problem: Serving static files (images, scripts, stylesheets, documents) from the application server wastes compute that should be reserved for dynamic content. It also limits scalability and increases cost.

When to use:

  • The application serves static files that do not change per request

  • You want to reduce the load on your web servers

  • A CDN can accelerate delivery to geographically distributed users

  • You want cost-effective, highly available static file hosting

WAF Pillars: Cost Optimization

Related patterns: Valet Key, Geode, Cache-Aside


42. Strangler Fig

Incrementally migrate a legacy system by gradually replacing specific pieces of functionality with new applications and services.

Problem: Rewriting a large legacy system from scratch is risky, expensive, and often fails. The legacy system must continue operating during the migration. A big-bang cutover is not feasible due to risk and business continuity requirements.

When to use:

  • You are replacing a monolithic legacy application incrementally

  • You need the old and new systems to coexist during migration

  • You want to reduce migration risk by delivering value incrementally

  • The legacy system is too large or complex for a single-phase replacement

WAF Pillars: Reliability, Cost Optimization, Operational Excellence

Related patterns: Anti-Corruption Layer, Gateway Routing, Sidecar


43. Throttling

Control the consumption of resources used by an instance of an application, an individual tenant, or an entire service.

Problem: Sudden spikes in demand or a misbehaving tenant can exhaust shared resources, degrading the experience for all users. Over-provisioning to handle worst-case load is expensive and wasteful.

When to use:

  • You need to enforce SLAs or quotas per tenant in a multi-tenant system

  • The backend has known capacity limits and exceeding them causes instability

  • You want to degrade gracefully under load rather than fail entirely

  • You need to prevent a single workload from monopolizing shared resources

WAF Pillars: Reliability, Security, Cost Optimization, Performance Efficiency

Related patterns: Rate Limiting, Bulkhead, Queue-Based Load Leveling, Priority Queue


44. Valet Key

Use a token or key that provides clients with restricted direct access to a specific resource or service.

Problem: Routing all data transfers through the application server creates a bottleneck and increases cost. Giving clients direct access to the data store without any restriction is a security risk.

When to use:

  • You want to minimize the load on the application server for data-intensive transfers (uploads/downloads)

  • You need to grant time-limited, scope-limited access to a specific resource

  • You want to offload transfer bandwidth to a storage service (Blob Storage, S3)

  • Clients need temporary access without full credentials to the data store

WAF Pillars: Security, Cost Optimization, Performance Efficiency

Related patterns: Gatekeeper, Static Content Hosting, Federated Identity


Source: Azure Architecture Center — Cloud Design Patterns

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Microsoft
Publisher
Microsoft (Official)
Source
microsoft/skills · .github/skills/cloud-solution-architect · commit 0696600
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Microsoft or Microsoft.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download cloud-solution-architect.zip