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://mp-staging.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-principles.md

Azure Design Principles

Ten principles for building reliable, scalable, and manageable applications on Azure.

#PrincipleFocus
1Design for self-healingResilience & automatic recovery
2Make all things redundantEliminate single points of failure
3Minimize coordinationScalability through decoupling
4Design to scale outHorizontal scaling
5Partition around limitsOvercome service boundaries
6Design for operationsObservability & automation
7Use managed servicesReduce operational burden
8Use an identity serviceCentralized identity & access
9Design for evolutionChange-friendly architecture
10Build for the needs of businessAlign tech to business goals

1. Design for self-healing

Design the application to detect failures, respond gracefully, and recover automatically without manual intervention.

Recommendations
  • Implement retry logic with backoff for transient failures in network calls, database connections, and external service interactions.

  • Use health endpoint monitoring to expose liveness and readiness probes so orchestrators and load balancers can route traffic away from unhealthy instances.

  • Apply circuit breaker patterns to prevent cascading failures — stop calling a failing dependency and allow it time to recover.

  • Degrade gracefully by serving reduced functionality (cached data, default responses) rather than failing entirely when a dependency is unavailable.

  • Adopt chaos engineering with Azure Chaos Studio to proactively inject faults and validate recovery paths before real incidents occur.

PatternPurpose
RetryHandle transient faults by transparently retrying failed operations
Circuit BreakerPrevent repeated calls to a failing service
BulkheadIsolate failures so one component doesn't take down others
Health Endpoint MonitoringExpose health checks for load balancers and orchestrators
Leader ElectionCoordinate distributed instances by electing a leader
ThrottlingControl resource consumption by limiting request rates
Azure services
  • Azure Chaos Studio — fault injection and chaos experiments

  • Azure Monitor / Application Insights — health monitoring, alerting, diagnostics

  • Azure Traffic Manager / Front Door — DNS and global failover

  • Availability Zones — zonal redundancy within a region


2. Make all things redundant

Build redundancy into the application at every layer to avoid single points of failure. Composite availability formula: 1 - (1 - A)^N where A is the availability of a single instance and N is the number of instances.

Recommendations
  • Place VMs behind a load balancer and deploy multiple instances to ensure requests can be served even if one instance fails.

  • Replicate databases using read replicas, active geo-replication, or multi-region write to protect data and maintain read performance during outages.

  • Use multi-zone and multi-region deployments to survive datacenter and regional failures — define clear RTO (Recovery Time Objective) and RPO (Recovery Point Objective) targets.

  • Partition workloads for availability so that a failure in one partition doesn't affect others.

  • Design for automatic failover with health probes and traffic routing that redirects users without manual intervention.

PatternPurpose
Deployment StampsDeploy independent, identical copies of infrastructure
GeodeDeploy backend services across geographies
Health Endpoint MonitoringDetect unhealthy instances for failover
Queue-Based Load LevelingBuffer requests to smooth demand spikes
Azure services
  • Azure Load Balancer / Application Gateway — distribute traffic across instances

  • Azure SQL geo-replication / Cosmos DB multi-region — database redundancy

  • Availability Zones — zonal redundancy within a region

  • Azure Site Recovery — disaster recovery orchestration

  • Azure Front Door — global load balancing with automatic failover


3. Minimize coordination

Minimize coordination between application services to achieve scalability. Tightly coupled services that require synchronous calls create bottlenecks and reduce availability.

Recommendations
  • Embrace eventual consistency instead of requiring strong consistency across services — accept that data may be temporarily out of sync.

  • Use domain events and asynchronous messaging to decouple producers and consumers so they can operate independently.

  • Consider CQRS (Command Query Responsibility Segregation) to separate read and write workloads with independently optimized stores.

  • Design idempotent operations so messages can be safely retried or delivered more than once without unintended side effects.

  • Use optimistic concurrency with version tokens or ETags instead of pessimistic locks that create coordination bottlenecks.

PatternPurpose
CQRSSeparate reads from writes for independent scaling
Event SourcingCapture all changes as an immutable sequence of events
SagaManage distributed transactions without two-phase commit
Asynchronous Request-ReplyDecouple request and response across services
Competing ConsumersProcess messages in parallel across multiple consumers
Azure services
  • Azure Service Bus — reliable enterprise messaging with queues and topics

  • Azure Event Grid — event-driven routing at scale

  • Azure Event Hubs — high-throughput event streaming

  • Azure Cosmos DB — tunable consistency levels (eventual to strong)


4. Design to scale out

Design the application so it can scale horizontally by adding or removing instances, rather than scaling up to larger hardware.

Recommendations
  • Avoid instance stickiness and session affinity — store session state externally (Redis, database) so any instance can handle any request.

  • Identify and resolve bottlenecks that prevent horizontal scaling, such as shared databases, monolithic components, or stateful in-memory caches.

  • Decompose workloads into discrete services that can be scaled independently based on their specific demand profiles.

  • Use autoscaling based on live metrics (CPU, queue depth, request latency) rather than fixed schedules to match capacity to real demand.

  • Design for scale-in — handle instance removal gracefully with connection draining and proper shutdown hooks.

PatternPurpose
Competing ConsumersDistribute work across multiple consumers
ShardingDistribute data across partitions for parallel processing
Deployment StampsScale by deploying additional independent stamps
Static Content HostingOffload static assets to reduce compute load
ThrottlingProtect the system from overload during scale events
Azure services
  • Azure Virtual Machine Scale Sets — autoscale VM pools

  • Azure App Service / Azure Functions — built-in autoscale

  • Azure Kubernetes Service (AKS) — horizontal pod autoscaler and cluster autoscaler

  • Azure Cache for Redis — externalize session state

  • Azure CDN / Front Door — offload static content delivery


5. Partition around limits

Use partitioning to work around database, network, and compute limits. Every Azure service has limits — partitioning allows you to scale beyond them.

Recommendations
  • Partition databases horizontally (sharding), vertically (splitting columns), or functionally (by bounded context) to distribute load and storage.

  • Design partition keys to avoid hotspots — choose keys that distribute data and traffic evenly across partitions.

  • Partition at different levels — database, queue, network, and compute — to address bottlenecks wherever they occur.

  • Understand service-specific limits for throughput, connections, storage, and request rates and design partitioning strategies accordingly.

PatternPurpose
ShardingDistribute data across multiple databases or partitions
Priority QueueProcess high-priority work before lower-priority work
Queue-Based Load LevelingBuffer writes to smooth spikes
Valet KeyGrant limited direct access to resources
Azure services
  • Azure Cosmos DB — automatic partitioning with configurable partition keys

  • Azure SQL Elastic Pools — manage and scale multiple databases

  • Azure Storage — table, blob, and queue partitioning

  • Azure Service Bus — partitioned queues and topics


6. Design for operations

Design the application so that the operations team has the tools they need to monitor, diagnose, and manage it in production.

Recommendations
  • Instrument everything with structured logging, distributed tracing, and metrics to make the system observable from day one.

  • Use distributed tracing with correlation IDs that flow across service boundaries to diagnose issues in microservices architectures.

  • Automate operational tasks — deployments, scaling, failover, and routine maintenance should require no manual steps.

  • Treat configuration as code — store all environment configuration in version control and deploy it through the same CI/CD pipelines as application code.

  • Implement dashboards and alerts that surface actionable information, not just raw data, so operators can respond quickly.

PatternPurpose
Health Endpoint MonitoringExpose operational health for monitoring tools
AmbassadorOffload cross-cutting concerns like logging and monitoring
SidecarDeploy monitoring agents alongside application containers
External Configuration StoreCentralize configuration management
Azure services
  • Azure Monitor — metrics, logs, and alerts across all Azure resources

  • Application Insights — application performance monitoring and distributed tracing

  • Azure Log Analytics — centralized log querying with KQL

  • Azure Resource Manager (ARM) / Bicep — infrastructure as code

  • Azure DevOps / GitHub Actions — CI/CD pipelines


7. Use managed services

Prefer platform as a service (PaaS) over infrastructure as a service (IaaS) wherever possible to reduce operational overhead.

Recommendations
  • Default to PaaS for compute, databases, messaging, and storage — let Azure handle OS patching, scaling, and high availability.

  • Use IaaS only when you need fine-grained control over the operating system, runtime, or network configuration that PaaS cannot provide.

  • Leverage built-in scaling and redundancy features of managed services instead of building and maintaining them yourself.

PatternPurpose
Backends for FrontendsUse managed API gateways per client type
Gateway AggregationAggregate calls through a managed gateway
Static Content HostingUse managed storage for static assets
Azure services
IaaSPaaS Alternative
VMs with IIS/NginxAzure App Service
VMs with SQL ServerAzure SQL Database
VMs with RabbitMQAzure Service Bus
VMs with KubernetesAzure Kubernetes Service (AKS)
VMs with custom functionsAzure Functions
VMs with RedisAzure Cache for Redis
VMs with ElasticsearchAzure AI Search

8. Use an identity service

Use a centralized identity platform instead of building or managing your own authentication and authorization system.

Recommendations
  • Use Microsoft Entra ID (formerly Azure AD) as the single identity provider for users, applications, and service-to-service authentication.

  • Never store credentials in application code or configuration — use managed identities, certificate-based auth, or federated credentials.

  • Implement federation protocols (SAML, OIDC, OAuth 2.0) to integrate with external identity providers and enable single sign-on.

  • Adopt modern security features — passwordless authentication (FIDO2, Windows Hello), conditional access policies, multi-factor authentication (MFA), and single sign-on (SSO).

  • Use managed identities for Azure resources to eliminate credential management for service-to-service communication entirely.

PatternPurpose
Federated IdentityDelegate authentication to an external identity provider
GatekeeperProtect backends by validating identity at the edge
Valet KeyGrant scoped, time-limited access to resources
Azure services
  • Microsoft Entra ID — cloud identity and access management

  • Azure Managed Identities — credential-free service-to-service auth

  • Azure Key Vault — secrets, certificates, and key management

  • Microsoft Entra External ID — customer and partner identity (B2C/B2B)


9. Design for evolution

Design the architecture so it can evolve over time as requirements, technologies, and team understanding change.

Recommendations
  • Enforce loose coupling and high cohesion — services should expose well-defined interfaces and encapsulate their internal implementation details.

  • Encapsulate domain knowledge within service boundaries so changes to business logic don't ripple across the system.

  • Use asynchronous messaging between services to reduce temporal coupling — services don't need to be available at the same time.

  • Version APIs from day one so clients can migrate at their own pace and you can evolve without breaking existing consumers.

  • Deploy services independently with their own release cadence — avoid coordinated "big bang" deployments.

PatternPurpose
Anti-Corruption LayerIsolate new services from legacy systems
Strangler FigIncrementally migrate a monolith to microservices
Backends for FrontendsEvolve APIs independently per client type
Gateway RoutingRoute requests to different service versions
Azure services
  • Azure API Management — API versioning, routing, and lifecycle management

  • Azure Kubernetes Service (AKS) — independent service deployments with rolling updates

  • Azure Service Bus — asynchronous inter-service messaging

  • Azure Container Apps — revision-based deployments with traffic splitting


10. Build for the needs of business

Every design decision must be justified by a business requirement. Align technical choices with business goals, constraints, and growth plans.

Recommendations
  • Define RTO, RPO, and MTO (Recovery Time Objective, Recovery Point Objective, Maximum Tolerable Outage) for each workload based on business impact analysis.

  • Document SLAs and SLOs — understand the composite SLA of your architecture and set internal SLOs that provide an error budget for engineering work.

  • Model the system around the business domain using domain-driven design to ensure the architecture reflects how the business operates.

  • Define functional and nonfunctional requirements explicitly — capture performance targets, compliance needs, data residency constraints, and user experience expectations.

  • Plan for growth — design capacity models that account for business projections, seasonal peaks, and market expansion.

PatternPurpose
Priority QueueProcess business-critical work first
ThrottlingProtect SLOs under heavy load
Deployment StampsScale to new markets and regions
BulkheadIsolate critical workloads from non-critical ones
Azure services
  • Azure Advisor — cost, performance, reliability, and security recommendations

  • Azure Cost Management — budget tracking and cost optimization

  • Azure Service Health — SLA tracking and incident awareness

  • Azure Well-Architected Framework Review — assess architecture against best practices

  • Azure Monitor SLO/SLI dashboards — measure and track service level objectives


Source: Azure Architecture Center

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.

Download ZIP

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