The Azure Solutions Architect Expert exam (AZ-305) tests design of cloud and hybrid solutions under multi-constraint scenarios. Trade-offs matter more than service trivia — these six patterns recur across stems.
1. Designing Resilient Multi-Region Architectures#
Multi-region design is fundamental to the AZ-305—expect scenarios involving global distribution, disaster recovery, and high availability requirements.
Warning
Common exam trap: Confusing regional services (Application Gateway, Load Balancer) with global services (Front Door, Traffic Manager). Know which services can route traffic across regions.
Global Load Balancing Options#
| Service | Layer | Routing Type | Key Features |
|---|---|---|---|
| Azure Front Door | Layer 7 | Anycast + HTTP | CDN, WAF, SSL offload, URL-based routing |
| Traffic Manager | DNS | DNS-based | Geographic, performance, priority routing |
| Azure Load Balancer | Layer 4 | Regional only | Ultra-low latency, zone-redundant |
| Application Gateway | Layer 7 | Regional only | WAF, URL routing, SSL termination |
When to Use Each#
- Front Door — Global HTTP/HTTPS traffic with caching, WAF, and intelligent routing
- Traffic Manager — DNS-based routing for non-HTTP protocols or when you need failover without proxying
- Cross-region LB — Combine Traffic Manager or Front Door with regional Application Gateway/Load Balancer for complex scenarios
Tip
For multi-region web applications requiring WAF and caching: Azure Front Door is typically the answer. It provides a single global endpoint, edge caching, and integrated WAF—solving three requirements with one service.
Architecture Pattern: Active-Active Multi-Region#
Users Worldwide
↓
Azure Front Door (Global Entry Point)
├── WAF Policy (Protection)
├── Origin Group 1 → Region A (App Service + SQL)
└── Origin Group 2 → Region B (App Service + SQL)
↑
Auto-Failover Group (Data Sync)
A company needs to route users to the closest Azure region for a web app. They also require SSL termination at the edge and protection against SQL injection attacks. The solution must use a single global URL. Which service should you recommend?
2. Identity and Access Design Patterns#
AZ-305 heavily tests your understanding of Microsoft Entra ID (formerly Azure AD) and Zero Trust principles.
Note
Zero Trust principle: "Never trust, always verify." Every access request must be authenticated and authorized based on all available data points—user identity, device health, location, and the sensitivity of the resource.
Conditional Access Decision Matrix#
| Requirement | Solution |
|---|---|
| Require MFA for all users | Conditional Access policy targeting all users |
| Block access from untrusted locations | Conditional Access with named locations |
| Require compliant devices | Conditional Access with device compliance |
| Real-time session revocation | Continuous Access Evaluation (CAE) |
| Just-in-time admin access | Privileged Identity Management (PIM) |
| Risk-based access decisions | Identity Protection + Conditional Access |
External Identity Scenarios#
| Scenario | Solution |
|---|---|
| Partner organization access | Azure AD B2B (cross-tenant collaboration) |
| Customer-facing apps | Azure AD B2C (social logins, custom policies) |
| API authentication | Microsoft Entra ID + App registrations |
| Hybrid identity | Azure AD Connect or Cloud Sync |
Warning
Exam trap: B2B vs B2C confusion! B2B is for business partners (they keep their own identity). B2C is for consumers/customers (you manage their identities or allow social login).
Managed Identities for Azure Resources#
Always prefer managed identities over stored credentials:
Your App (App Service, VM, Function)
↓
Managed Identity (System or User-assigned)
↓
Azure AD Token Request
↓
Access to Azure Resources (Key Vault, Storage, SQL)
System-assigned: Tied to resource lifecycle, automatically deleted when resource is deleted. User-assigned: Independent lifecycle, can be shared across multiple resources.
A company wants to allow employees from a partner organization to access their Azure-hosted application. The partner should use their existing corporate credentials. Which solution should you recommend?
3. Data Storage Architecture Patterns#
Choosing the right data store is a core AZ-305 skill. You must match requirements to the appropriate service and configuration.
Relational Database Decision Tree#
Do you need...
├── Hyperscale (100+ TB, read scale-out)?
│ └── Azure SQL Hyperscale
├── Cross-region replication with automatic failover?
│ └── Azure SQL with Auto-failover Groups
├── Full SQL Server feature compatibility + OS access?
│ └── Azure SQL Managed Instance
├── Serverless with auto-pause?
│ └── Azure SQL Database Serverless
└── Basic managed SQL?
└── Azure SQL Database (provisioned or serverless)
Non-Relational Database Selection#
| Requirement | Azure Service |
|---|---|
| Global distribution, multi-region writes | Cosmos DB |
| Sub-millisecond latency, flexible schema | Cosmos DB |
| Document store with MongoDB API | Cosmos DB (MongoDB API) |
| Key-value cache | Azure Cache for Redis |
| Wide-column store | Cosmos DB (Cassandra API) |
| Graph relationships | Cosmos DB (Gremlin API) |
| Time-series data | Azure Data Explorer |
Tip
Cosmos DB consistency levels (strongest to weakest): Strong → Bounded Staleness → Session → Consistent Prefix → Eventual. Strong consistency is available with multi-region writes but increases latency and cost. Session consistency is the default and works well for most applications.
Storage Account Replication Options#
| Type | Durability | Protection Against |
|---|---|---|
| LRS | 11 nines | Hardware failures in single datacenter |
| ZRS | 12 nines | Datacenter failures within region |
| GRS | 16 nines | Regional outages (read after failover) |
| RA-GRS | 16 nines | Regional outages (read from secondary always) |
| GZRS | 16 nines | Zone + region failures |
| RA-GZRS | 16 nines | Zone + region failures (read secondary) |
Warning
Exam trap: GRS vs RA-GRS! GRS replicates to a secondary region but you can only read from secondary after a failover is initiated. RA-GRS allows reads from secondary anytime—important if requirements say "read access during outages."
An IoT application must store telemetry data from 10 million devices with sub-10ms write latency. Data is written once and rarely updated. The solution must scale globally and support time-based queries. Which storage solution should you recommend?
4. Compute Architecture Decisions#
AZ-305 tests your ability to select the right compute platform for given constraints.
Compute Platform Selection Matrix#
| Requirement | Recommended Service |
|---|---|
| Full OS control, lift-and-shift | Azure Virtual Machines |
| Windows-specific (.NET Framework, COM) | App Service (Windows) or VMs |
| Containers without orchestration | Azure Container Instances |
| Microservices with orchestration | AKS or Azure Container Apps |
| Event-driven, short-running functions | Azure Functions (Consumption) |
| Long-running background jobs | Azure Functions (Premium) or WebJobs |
| Batch processing, HPC | Azure Batch |
| Serverless containers | Azure Container Apps |
Autoscaling Patterns#
| Pattern | Best For | Service |
|---|---|---|
| CPU/Memory-based | Traditional web apps | VMSS, App Service |
| Queue-depth scaling | Worker processes | KEDA, Functions |
| Schedule-based | Predictable traffic | VMSS, App Service |
| HTTP-request scaling | Web traffic | App Service, Container Apps |
| Scale to zero | Cost optimization | Container Apps, Functions (Consumption) |
Note
KEDA (Kubernetes Event-Driven Autoscaling) allows AKS to scale based on external metrics like queue depth, database connections, or custom Prometheus metrics. This is the key differentiator when the exam mentions "scale based on queue messages" with Kubernetes.
Migration Strategy Mapping#
| Source | Target Options | Key Considerations |
|---|---|---|
| On-prem VMs | Azure VMs (IaaS) | Fastest migration, minimal changes |
| .NET Framework apps | App Service, VMs | App Service for managed hosting |
| .NET Core/5+ apps | App Service, Container Apps, AKS | More options available |
| Containers | ACI, Container Apps, AKS | AKS for complex orchestration |
| Legacy with dependencies | VMs with application dependencies | Sometimes lift-and-shift is best |
A company needs to run a containerized application that processes messages from Azure Service Bus. The solution must scale based on queue depth, support scale-to-zero during idle periods, and minimize infrastructure management. Which solution should you recommend?
5. Governance and Compliance Patterns#
Enterprise governance appears frequently on AZ-305—you must understand the hierarchy and enforcement mechanisms.
Azure Resource Hierarchy#
Tenant (Azure AD)
└── Management Groups (up to 6 levels)
└── Subscriptions
└── Resource Groups
└── Resources
Key principle: Policies and RBAC assigned at higher levels are inherited by lower levels.
Azure Policy Effects#
| Effect | Behavior | Use Case |
|---|---|---|
| Deny | Block non-compliant resources | Prevent creation of non-compliant resources |
| Audit | Log non-compliance | Reporting without blocking |
| Append | Add properties | Auto-add tags |
| Modify | Change properties | Update existing resources |
| DeployIfNotExists | Deploy remediation | Auto-configure compliance |
| AuditIfNotExists | Audit related resources | Check dependencies exist |
Tip
DeployIfNotExists is powerful for automatic remediation—for example, ensuring all VMs have a specific extension installed or all storage accounts have encryption enabled. The exam loves scenarios where you need to "automatically fix" non-compliant resources.
Cost Management Patterns#
| Tool | Purpose |
|---|---|
| Budgets | Set spending limits with alerts |
| Cost Analysis | View current and forecasted spending |
| Azure Advisor | Cost optimization recommendations |
| Reserved Instances | Commit for discounts (1-3 years) |
| Spot VMs | Use spare capacity at discount |
| Azure Hybrid Benefit | Use existing Windows/SQL licenses |
An enterprise has 100+ subscriptions across multiple business units. They need to ensure all resources have a 'CostCenter' tag and enforce this across all current and future subscriptions. What should you implement?
6. Networking Architecture Patterns#
Networking design ties together all Azure services. AZ-305 tests your ability to design secure, performant network architectures.
Hybrid Connectivity Options#
| Method | Bandwidth | Latency | Use Case |
|---|---|---|---|
| Site-to-Site VPN | Up to 10 Gbps | Variable | Cost-effective, encrypted over internet |
| ExpressRoute | Up to 100 Gbps | Predictable | Mission-critical, consistent latency |
| ExpressRoute Direct | 100 Gbps | Lowest | Massive data transfer, highest SLA |
| Point-to-Site VPN | Limited | Variable | Individual client access |
Service Endpoints vs Private Endpoints#
| Feature | Service Endpoints | Private Endpoints |
|---|---|---|
| Traffic path | Over Microsoft backbone | Into your VNet |
| Source IP | VNet subnet IP | Private IP in your VNet |
| DNS | Public endpoint | Private DNS zone |
| On-prem access | Not supported | Supported via VNet |
| Cost | Free | Per-hour + data processing |
Warning
Exam trap: "Access from on-premises" is the key differentiator! Service Endpoints only work for traffic originating from Azure VNets. Private Endpoints give Azure services a private IP in your VNet, accessible from on-premises via VPN/ExpressRoute.
Network Security Layers#
| Layer | Service | Purpose |
|---|---|---|
| Edge | Azure DDoS Protection | Volumetric attack mitigation |
| Edge | Azure Front Door WAF | Application-layer protection |
| Perimeter | Azure Firewall | Central network traffic control |
| Subnet | Network Security Groups | Traffic filtering per subnet/NIC |
| Application | Application Gateway WAF | Web app protection |
Hub-Spoke Architecture#
┌─────────────────┐
│ Hub VNet │
│ ┌───────────┐ │
│ │ Firewall │ │
│ └───────────┘ │
On-Prem ─VPN/ER─────│ ┌───────────┐ │
│ │ Bastion │ │
│ └───────────┘ │
└────────┬────────┘
┌─────────────┼─────────────┐
↓ ↓ ↓
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Spoke 1 │ │ Spoke 2 │ │ Spoke 3 │
│ (Web) │ │ (App) │ │ (Data) │
└─────────┘ └─────────┘ └─────────┘
An application in Azure needs to access Azure SQL Database. On-premises servers (connected via ExpressRoute) also need to access the same database. Traffic must not traverse the public internet. Which solution should you implement?
Know your range before test day#
AZ-305 is trade-off exam craft. Sit a short scenario diagnostic, then drill the design domains that still feel fragile.
- Timed diagnostic with domain-level breakdown
- Clear signal on what to drill next
- Practice free; timed sittings and readiness range on Pro
Take the free AZ-305 assessment →
Next step: Start practicing free on the AZ-305 hub, or sit a short diagnostic first.