SaveMyCert
Log in
5 of 5 free questions left today·for 10 a day
AZ-305 practice

AZ-305 sample questions — 25 answered and explained

25 AZ-305 sample questions written to the official Microsoft Certified: Azure Solutions Architect Expert exam guide, grouped by exam domain and weighted like the real exam. Each shows the correct answer, why every other option is wrong, and the lesson that teaches it. None of them repeat the examples on the other AZ-305 practice pages.

On this page
25
answers included
Full bank
482
on the practice page
Domains
4
weighted like the exam
Free, no account
5/day
a free account allows 10 a day

Domain 1: Design identity, governance, and monitoring solutions

28% of the AZ-305 exam, so 7 of the 25 questions on this page.

Question 1Design identity, governance, and monitoring solutions

An incident response team must investigate a three-day window from 14 months ago. The data is in long-term retention in a Log Analytics workspace. The investigators will run many different, iterative KQL queries over every record in that window and need fast, full-featured queries for about a week, and the company wants to minimize cost. What should you recommend?

Choose one.

  • a
    Restore the three-day time range of the tables into the analytics tier Correct

    Restore makes a time slice of long-term data available for high-performance, full KQL queries until you dismiss it.

  • b
    Run a search job over the three-day range for each question the team asks

    A search job runs one query and writes its results to a new table; repeating it for each iterative question is slow and costly.

  • c
    Increase the tables' analytics retention so it covers the last 14 months

    Raising analytics retention to 14 months charges analytics retention for every record in the table, every month, long after the week ends; restore bills only the three-day slice until you dismiss it.

  • d
    Create a data export rule and query the exported blobs from storage

    Export rules only send data that arrives after the rule is created, so the 14-month-old data isn't exported.

The concept

Restore and search jobs both reach long-term retention: restore for many queries over a time slice, search jobs for one query over a large range.

Why that’s the answer

The deciding details are many different iterative queries over every record in a short window, and the need to minimize cost. Restore brings that time range back into the analytics tier so any number of fast, full-featured queries can run against it, and it is billed only for the restored slice until you dismiss it. A search job is designed to run a single query and save matching records to a new table, so it suits finding specific events over a long range, not repeated exploration. Extending the table's analytics retention to cover 14 months would also make the data queryable, but it keeps paying analytics retention for the whole table every month instead of for three days of data for one week. An export rule only sends data that arrives after it is created.

How to reason it out
  1. Note whether the need is one query over a long range or many queries over a short slice.
  2. One query, large range: search job. Many queries, short slice: restore.
  3. Compare cost: restore bills only the slice for as long as you keep it; longer analytics retention bills the whole table indefinitely.

Exam tip: Iterating over a short slice of old data = restore; one targeted query over a long range = search job.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 2Design identity, governance, and monitoring solutions

A company's on-premises SIEM can consume events from a streaming endpoint. The security team wants Azure Key Vault resource logs delivered to that SIEM in near real time, without staging files in between. Where should the Key Vault diagnostic setting send the logs?

Choose one.

  • a
    To a container in an Azure Storage account

    Storage suits archiving and audit; the SIEM would have to poll and parse hourly blobs rather than consume a stream.

  • b
    To an event hub in Azure Event Hubs Correct

    Event Hubs is the diagnostic settings destination for streaming logs to external systems such as non-Microsoft SIEMs.

  • c
    To a table in a Log Analytics workspace

    A workspace is for querying in Azure Monitor; the SIEM would still need another export path to receive the data.

  • d
    To an action group with a webhook endpoint

    Action groups deliver alert notifications, not the resource log stream itself.

The concept

Diagnostic settings have four destination types; Event Hubs is the one for streaming to external tools.

Why that’s the answer

Diagnostic settings can send resource logs to a Log Analytics workspace, a storage account, an event hub or an Azure Monitor partner solution. Microsoft describes Event Hubs as the destination for streaming data to external systems such as non-Microsoft SIEMs. Storage is for archive, a workspace is for Azure Monitor analysis, and action groups only carry alert notifications.

How to reason it out
  1. Identify the consumer: an external SIEM that reads a stream.
  2. Map consumers to destinations: stream = Event Hubs, archive = storage, analysis = workspace.
  3. Choose Event Hubs.

Exam tip: External SIEM wants a stream: send diagnostic settings to Event Hubs.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 3Design identity, governance, and monitoring solutions

An Azure SQL database's resource logs must go to a Log Analytics workspace owned by the operations team, to a separate workspace owned by the security team, and to one storage account for archive. You need the fewest diagnostic settings on the database. How many diagnostic settings should you recommend?

Choose one.

  • a
    One setting that lists the three destinations

    A single setting can hold only one destination of each type, so it can't name two Log Analytics workspaces.

  • b
    Three settings, one for each of the three destinations

    Three settings would work but aren't the fewest, because one setting can combine a workspace and a storage account.

  • c
    Two settings, each with one of the two workspaces Correct

    Each setting can have one workspace; the storage account can sit in either setting, so two settings cover all three destinations.

  • d
    Four settings, one per destination plus one for metrics

    Metrics are a category inside a setting, not a separate setting, and four is more than needed.

The concept

A diagnostic setting can hold one destination of each type; a resource can have up to five settings.

Why that’s the answer

A single diagnostic setting can define no more than one destination of each type. Two Log Analytics workspaces therefore need two settings, and the storage account can be added to either of them because it's a different destination type. Three settings works but isn't minimal; one setting is impossible. Each resource can have up to five settings, so two is within limits.

How to reason it out
  1. Count destinations by type: two workspaces, one storage account.
  2. One setting holds at most one of each type.
  3. The type with the most destinations (two workspaces) sets the minimum: two settings.

Exam tip: Two destinations of the same type need two diagnostic settings.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 4Design identity, governance, and monitoring solutions

A retailer runs Azure SQL databases in West Europe and North Europe. Every database's resource logs must be archived to storage and streamed to an event hub for a partner tool. The design uses one storage account and one Event Hubs namespace, both in West Europe, with no firewall. Diagnostic settings for the North Europe databases fail to save. What should you recommend?

Choose one.

  • a
    Enable 'Allow trusted Microsoft services' on the storage account and Event Hubs namespace

    Trusted-services access matters only when a firewall is on; the stem says there is none, and region is still the blocker.

  • b
    Change the West Europe storage account to geo-redundant storage with North Europe paired

    Storage redundancy copies data to a secondary region; the destination account is still in West Europe.

  • c
    Add a second diagnostic setting on the North Europe databases for the West Europe targets

    A second setting hits the same same-region rule; the number of settings isn't what fails.

  • d
    Add a storage account and an Event Hubs namespace in North Europe for those databases Correct

    For regional resources, storage and Event Hubs destinations must be in the same region as the monitored resource, so North Europe needs its own.

The concept

Storage and Event Hubs destinations of a diagnostic setting must be in the monitored resource's region; a Log Analytics workspace can be anywhere.

Why that’s the answer

Diagnostic settings require storage accounts and event hubs to be in the same region as the regional resource they monitor. The North Europe databases can't point at West Europe targets, so they need a storage account and an Event Hubs namespace in North Europe (a Log Analytics workspace, by contrast, can be in any region). The firewall option is a real requirement when virtual networks are enabled, but the stem rules it out. GRS and extra settings don't change where the destination lives.

How to reason it out
  1. Note which destinations are used: storage and Event Hubs.
  2. Recall the rule: those two must share the monitored resource's region.
  3. Discard the firewall option because the stem says no firewall.
  4. Provision destinations per region.

Exam tip: Diagnostic settings to storage or Event Hubs: one set of destinations per region.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 5Design identity, governance, and monitoring solutions

Auditors ask who deleted resources and changed role assignments in a subscription over the past two years. Today the team relies on the Azure portal, which shows only the last 90 days. The team wants these control-plane records kept for two years and queryable with KQL. What should you recommend?

Choose one.

  • a
    A subscription diagnostic setting that sends the activity log to a workspace Correct

    The activity log records control-plane operations for 90 days; exporting it to a workspace keeps it as long as the table's retention.

  • b
    A diagnostic setting on each resource that sends allLogs to a workspace

    Resource logs record data-plane operations inside a resource, not who deleted resources or changed role assignments.

  • c
    A Microsoft Entra diagnostic setting that sends AuditLogs to a workspace

    Entra audit logs cover directory changes such as users and groups, not Azure Resource Manager operations in a subscription.

  • d
    An activity log alert rule for administrative events with an action group

    An alert notifies about new events; it doesn't keep a two-year, queryable history.

The concept

The activity log holds control-plane events for 90 days; a diagnostic setting exports it for longer retention.

Why that’s the answer

Resource deletions and role assignment changes are control-plane operations recorded in the Azure activity log, which Azure keeps for 90 days. A subscription-level diagnostic setting sends it to the AzureActivity table in a Log Analytics workspace, where retention can be set up to 12 years (and activity log ingestion isn't charged). Resource logs and Entra audit logs record different things, and an alert doesn't store history.

How to reason it out
  1. Classify the events: control-plane operations on Azure resources.
  2. Those live in the activity log, kept 90 days by default.
  3. Export it with a subscription diagnostic setting to a workspace.

Exam tip: Control-plane history beyond 90 days: export the activity log with a diagnostic setting.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 6Design identity, governance, and monitoring solutions

A company has 60 subscriptions under one management group and adds new subscriptions every month. Every subscription-level activity log event must reach one Log Analytics workspace, including events from future subscriptions, with the least ongoing administrative effort. What should you recommend?

Choose one.

  • a
    A DeployIfNotExists policy at the management group, with a remediation task Correct

    The built-in policy deploys a subscription diagnostic setting for the activity log in every subscription, including new ones, and remediation fixes existing ones.

  • b
    A diagnostic setting on the management group that targets the workspace

    A management group setting exports management group events and many subscription events, but not events without the hierarchy property.

  • c
    A diagnostic setting created by a script in each current subscription

    This covers today's subscriptions, but new subscriptions would be missed until someone reruns the script.

  • d
    An Azure Lighthouse delegation of the subscriptions to the operations team

    Lighthouse grants cross-tenant management access; it doesn't configure where activity logs are sent.

The concept

Capturing every subscription activity log event needs a subscription-level diagnostic setting; Azure Policy deploys one everywhere automatically.

Why that’s the answer

Microsoft notes that a diagnostic setting on a management group doesn't capture every subscription-level event: events without the hierarchy property don't propagate, so a subscription-level setting is still required. Doing that per subscription by hand or by script misses new subscriptions. A DeployIfNotExists policy assigned at the management group (such as the built-in policy that configures Azure Activity logs to stream to a specified workspace) deploys the setting to every current and future subscription; a remediation task covers existing ones.

How to reason it out
  1. Note the two requirements: every subscription event, and future subscriptions automatically.
  2. Recall that management group settings miss events without the hierarchy property.
  3. Use Azure Policy DeployIfNotExists at the management group to deploy subscription-level settings, with remediation for existing ones.

Exam tip: All subscription activity events, now and later: DeployIfNotExists policy for subscription diagnostic settings.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Question 7Design identity, governance, and monitoring solutions

A company has hundreds of existing key vaults and storage accounts, and teams create new ones every week. Each one must send its audit category logs to a central Log Analytics workspace. Compliance must be enforced automatically with minimal administrative effort. Which TWO actions should you recommend? (Select TWO.)

Choose TWO.

  • a
    Assign a DeployIfNotExists policy for audit diagnostic settings at the management group Correct

    DeployIfNotExists deploys the diagnostic setting to every new resource in scope that doesn't have one.

  • b
    Assign an AuditIfNotExists policy for audit diagnostic settings at the management group

    AuditIfNotExists only reports missing settings; it never creates them.

  • c
    Assign a Deny policy that blocks key vaults and storage accounts without the setting

    A diagnostic setting is a separate resource created after the vault or account, so a deny on creation can't enforce it.

  • d
    Create one diagnostic setting at the management group that targets the workspace

    Management group diagnostic settings export activity log events, not the resource logs of individual key vaults and storage accounts.

  • e
    Create a remediation task for the existing non-compliant key vaults and storage accounts Correct

    DeployIfNotExists acts on new or updated resources; existing resources are fixed by a remediation task.

The concept

Azure Policy DeployIfNotExists plus remediation tasks enable diagnostic settings at scale.

Why that’s the answer

Microsoft's built-in policies and initiatives for resource logging use the DeployIfNotExists effect: when a resource in scope lacks the diagnostic setting, the policy deploys it using a managed identity. That covers new resources automatically. Existing resources are only evaluated as non-compliant, so a remediation task deploys the setting to them. AuditIfNotExists only reports, Deny can't see a setting that doesn't exist yet, and management group diagnostic settings carry activity log events rather than resource logs.

How to reason it out
  1. Separate new resources from existing ones.
  2. New: DeployIfNotExists deploys the setting on create or update.
  3. Existing: a remediation task deploys it.
  4. Reject effects that only report or block.

Exam tip: Diagnostic settings at scale = DeployIfNotExists for new resources + remediation for existing ones.

AZ-305 Logging and Monitoring Design: Log Analytics Workspaces, Log Routing, Alerts and Azure Monitor — the lesson that teaches this.

Domain 2: Design data storage solutions

22% of the AZ-305 exam, so 6 of the 25 questions on this page.

Question 8Design data storage solutions

An order-processing database in Azure SQL Database is 1.5 TB. The application uses memory-optimized tables for shopping-cart sessions and needs the lowest possible storage latency for its high transaction rate. The team also wants fast failover to hot standby replicas if the primary fails. What should you recommend?

Choose one.

  • a
    General Purpose service tier on premium-series hardware

    Newer hardware doesn't change General Purpose's remote storage, and the tier doesn't support memory-optimized tables.

  • b
    Business Critical service tier on standard-series hardware Correct

    Business Critical uses local SSD storage, supports In-Memory OLTP and keeps hot standby replicas for fast failover.

  • c
    Hyperscale service tier with two high-availability replicas

    Hyperscale adds hot standbys, but it doesn't support durable or non-durable memory-optimized tables.

  • d
    General Purpose service tier with zone redundancy enabled

    Zone redundancy improves resilience, but storage is still remote and In-Memory OLTP still isn't available.

The concept

Business Critical is the vCore tier for low-latency OLTP with In-Memory OLTP and hot standbys.

Why that’s the answer

Business Critical runs on local SSD storage with a cluster of replicas, giving the lowest I/O latency, fast failover and support for memory-optimized tables. General Purpose uses remote storage and has no In-Memory OLTP, whatever the hardware or redundancy setting. Hyperscale is the default for most new workloads and offers hot standby replicas, but memory-optimized tables aren't supported there, so it fails the cart-session requirement.

How to reason it out
  1. Find the deciding requirements: memory-optimized tables and lowest storage latency.
  2. Remove tiers without In-Memory OLTP tables: General Purpose and Hyperscale.
  3. Business Critical remains and also provides hot standby replicas.

Exam tip: Memory-optimized tables in Azure SQL Database = Business Critical (or Premium DTU).

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Question 9Design data storage solutions

A telemetry database in Azure SQL Database is 3 TB today and is projected to reach 40 TB within three years. Operations wants backups that complete in about the same short time regardless of database size, restores that finish in minutes, and the ability to change the compute size quickly without copying data. What should you recommend?

Choose one.

  • a
    Business Critical tier in the vCore purchasing model

    Business Critical tops out at 4 TB per database, far below the 40 TB projection.

  • b
    General Purpose tier in the vCore purchasing model

    General Purpose is also limited to 4 TB, and its backup and restore times grow with database size.

  • c
    Premium service tier in the DTU-based purchasing model

    DTU Premium has a far smaller size limit than 40 TB, and it lacks Hyperscale's snapshot backups.

  • d
    Hyperscale service tier in the vCore purchasing model Correct

    Hyperscale grows to 128 TB, uses file-snapshot backups and fast restores, and scales compute without moving data.

The concept

Hyperscale separates compute from storage to support very large databases with fast backup, restore and scaling.

Why that’s the answer

Hyperscale storage grows automatically up to 128 TB, backups are file snapshots taken by the storage layer with no impact on compute, restores complete in minutes, and compute can be scaled without data movement. General Purpose and Business Critical are limited to 4 TB per database and use size-dependent backup and restore, and the DTU tiers are smaller still. Only Hyperscale meets the growth and operations requirements together.

How to reason it out
  1. Compare the 40 TB projection with each tier's maximum size.
  2. Check backup and restore behaviour: only Hyperscale is snapshot-based and size-independent.
  3. Choose Hyperscale, which also scales compute without copying data.

Exam tip: Beyond 4 TB or need size-independent backups in Azure SQL Database? Hyperscale.

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Question 10Design data storage solutions

Northwind plans to convert a 2 TB Business Critical database in Azure SQL Database to Hyperscale to prepare for growth. The database contains no In-Memory OLTP objects. Management requires a documented fallback: if Hyperscale doesn't meet expectations during the first month, the database must return to Business Critical with all current data and minimal effort. What should you recommend as the fallback?

Choose one.

  • a
    Reverse migrate the Hyperscale database directly to Business Critical

    Reverse migration targets General Purpose only; moving to Business Critical needs a second tier change afterwards.

  • b
    Reverse migrate to General Purpose, then change the tier to Business Critical Correct

    Reverse migration from Hyperscale is supported within 45 days, but only to General Purpose; from there the tier can be changed to Business Critical.

  • c
    Restore a Hyperscale point-in-time backup as a Business Critical database

    Hyperscale backups can't be restored to another tier, and a pre-migration backup would lose every change made since the conversion.

  • d
    Create a Business Critical geo-replica of the Hyperscale database and fail over

    A geo-replica uses the same service tier as its primary, so you can't create a Business Critical geo-replica of a Hyperscale database.

The concept

Leaving Hyperscale is possible only by reverse migration to General Purpose within 45 days.

Why that’s the answer

Two Hyperscale behaviours combine here. A database converted to Hyperscale can be reverse migrated within 45 days, but only to General Purpose; to reach Business Critical you reverse migrate first and then change the service tier. And Hyperscale backups can't be restored as a non-Hyperscale database; pre-migration backups can be, but they don't contain the changes made after conversion. Geo-replicas share the primary's tier, so they don't offer a way out either.

How to reason it out
  1. Recall the exit path from Hyperscale: reverse migration, 45-day window.
  2. Recall its target: General Purpose only, then any further tier change.
  3. Reject backup-based and replica-based paths that lose data or can't change tier.

Exam tip: Out of Hyperscale = reverse migrate to General Purpose within 45 days, then change tier.

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Question 11Design data storage solutions

Developers use an Azure SQL database for a test environment a few hours a day at unpredictable times. The database is idle most evenings and every weekend. The team wants to pay only for storage while the database is idle and can accept a short delay on the first connection after an idle period. What should you recommend?

Choose one.

  • a
    General Purpose provisioned compute at the smallest size

    Provisioned compute is billed every hour it exists, so idle evenings and weekends still incur compute cost.

  • b
    Business Critical provisioned compute at the smallest size

    Business Critical is the most expensive tier and is billed continuously; it doesn't pause when idle.

  • c
    A General Purpose elastic pool shared with the other test databases

    Elastic pools use provisioned compute that is billed every hour the pool exists; serverless auto-pause is for single databases, so the pool never drops to storage-only billing.

  • d
    General Purpose serverless compute with the default auto-pause delay Correct

    Serverless scales compute with demand, bills per second, and auto-pause stops compute charges while idle; the resume delay is acceptable here.

The concept

Serverless compute with auto-pause bills only storage while a database is paused.

Why that’s the answer

The serverless compute tier autoscales between a minimum and maximum vCore setting and bills per second. With auto-pause enabled (it is on by default with a configurable delay), a database idle for the delay is paused and only storage is billed; the next connection resumes it after a short delay. Provisioned compute, in a single database or an elastic pool, is billed continuously, so none of the other options meets the pay-only-for-storage requirement.

How to reason it out
  1. Note the usage pattern: intermittent, unpredictable, long idle periods.
  2. Note the cost goal: only storage while idle, and a resume delay is acceptable.
  3. Choose serverless with auto-pause enabled.

Exam tip: Intermittent single database that can wait to resume = serverless with auto-pause.

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Question 12Design data storage solutions

A SaaS vendor hosts 40 tenant databases in Azure SQL Database. Each tenant's usage is intermittent and unpredictable, with low average utilization, and tenant peaks rarely overlap. Tenants complain about any delay when they first connect in the morning, so the design must avoid compute warm-up delays. The vendor wants to minimize total compute cost. What should you recommend?

Choose one.

  • a
    Use serverless compute with auto-pause for each database

    Auto-pause saves cost, but resuming after idle periods causes exactly the first-connection delay tenants complain about.

  • b
    Place all 40 databases in a General Purpose elastic pool Correct

    A pool shares one set of vCores across databases whose peaks don't overlap, so total compute stays low and nothing ever pauses.

  • c
    Use serverless compute without auto-pause for each database

    This avoids resume delays, but each database bills at least its minimum compute around the clock, which costs more than one shared pool.

  • d
    Use a provisioned single database sized for each peak

    Sizing every database for its own peak pays for 40 peaks at once, although the peaks rarely overlap.

The concept

Elastic pools are the price-performance choice for many databases with intermittent, non-overlapping usage.

Why that’s the answer

Microsoft positions serverless for single databases that can afford warm-up delays, and provisioned elastic pools for multiple databases with intermittent, unpredictable usage. The no-warm-up constraint rules out auto-pause; serverless without auto-pause and per-database provisioning both pay for compute per database. A pool lets the 40 databases share one set of vCores because their peaks rarely coincide, which minimizes total cost with immediate responsiveness.

How to reason it out
  1. Note the two constraints: no warm-up delay and lowest total compute cost.
  2. Auto-pause fails the first; per-database compute (serverless or provisioned) fails the second.
  3. Share compute across the 40 databases with an elastic pool.

Exam tip: Many intermittent databases and no resume delay allowed = provisioned elastic pool.

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Question 13Design data storage solutions

A Business Critical database in Azure SQL Database supports an order-entry application. Analysts run heavy read-only reports during business hours that slow down order entry. The reports can tolerate slightly stale data. You need to offload the reports without increasing compute cost. What should you recommend?

Choose one.

  • a
    Connect reports with ApplicationIntent=ReadOnly to the built-in replica Correct

    Business Critical includes a readable secondary at no extra charge; connections with ApplicationIntent=ReadOnly are routed to it.

  • b
    Create an active geo-replication secondary and connect the reports to it

    A geo-secondary is readable, but it is a separate database billed for its own compute.

  • c
    Convert to Hyperscale and connect the reports to a named replica

    Named replicas offload reads, but each one is billed compute, and the conversion is unnecessary.

  • d
    Scale the primary database up to more vCores during business hours

    More vCores add compute charges every hour they are allocated, and the reports still compete with order entry on the primary.

The concept

Read scale-out uses the readable replica that Business Critical and Premium already include.

Why that’s the answer

Business Critical (and DTU Premium) databases keep several replicas for high availability, and read scale-out exposes one of them for read-only work at no extra cost. Applications opt in with ApplicationIntent=ReadOnly in the connection string. Data on the replica can lag the primary slightly, which the reports tolerate. Geo-secondaries and Hyperscale named replicas offload reads but are billed for their own compute, and scaling up the primary adds compute charges while leaving the reports on the primary.

How to reason it out
  1. Note the tier: Business Critical already has a readable replica.
  2. Note the constraint: no increase in compute cost.
  3. Route the reports with ApplicationIntent=ReadOnly.

Exam tip: Business Critical or Premium + read-only reports = ApplicationIntent=ReadOnly, no extra cost.

AZ-305 Relational Data Storage Design: Azure SQL Database, Managed Instance, Tiers, Scaling and Data Protection — the lesson that teaches this.

Domain 3: Design business continuity solutions

17% of the AZ-305 exam, so 4 of the 25 questions on this page.

Question 14Design business continuity solutions

A Recovery Services vault created with locally redundant storage has protected 40 Azure VMs for a year. A new policy requires that future recovery points be restorable in the paired region. Existing recovery points must stay restorable until they expire. What should you recommend?

Choose one.

  • a
    Change the existing vault's storage replication type to GRS, then enable Cross Region Restore

    The replication type of a Recovery Services vault can only be changed before you configure backup; after that the setting is disabled.

  • b
    Create a GRS vault with Cross Region Restore for new backups; retain data in the old vault Correct

    Once items are protected, the vault's storage replication type can't be changed, so new backups go to a new GRS vault while stopping protection with retain data keeps old points until expiry.

  • c
    Enable Cross Region Restore on the existing vault while keeping it locally redundant

    Cross Region Restore is supported only on vaults that use geo-redundant storage, so it can't be enabled on an LRS vault.

  • d
    Create a GRS vault with Cross Region Restore and move the existing recovery points into it

    Azure Backup doesn't let you move existing recovery points between vaults; the old points have to stay in the original vault.

The concept

Vault storage redundancy is fixed once backups are configured.

Why that’s the answer

Set a Recovery Services vault's storage replication type before you protect anything: after backup is configured, the option to modify it is disabled. To move to GRS later, Microsoft's workaround is to configure protection in a new GRS vault (with Cross Region Restore if restores in the paired region are needed), and stop protection in the old vault while retaining its data so the existing recovery points stay restorable until they expire. Cross Region Restore requires GRS, and recovery points can't be moved between vaults.

How to reason it out
  1. Recognise that the vault already protects items, so its redundancy is locked.
  2. Rule out enabling Cross Region Restore on an LRS vault.
  3. Plan a new GRS vault with Cross Region Restore for future backups.
  4. Keep the old vault's data by stopping protection with retain data.

Exam tip: Pick vault redundancy before the first backup; changing it later means a new vault.

AZ-305 Backup and Disaster Recovery Design: Site Recovery, Azure Backup, Database and Storage Recovery — the lesson that teaches this.

Question 15Design business continuity solutions

A security review found that any vault administrator at Litware could reduce the retention in a backup policy or stop protection with delete data, wiping out recovery points. The CISO wants these critical operations to require approval from a separate security team, even when an administrator's account is compromised. What should you recommend?

Choose one.

  • a
    Immutability enabled on the Recovery Services vault, with the setting left unlocked

    Unlocked immutability blocks some destructive operations, but any vault administrator can turn it off again, so it doesn't require another team's approval.

  • b
    A CanNotDelete resource lock on the Recovery Services vault and its resource group

    A resource lock stops deletion of the vault resource itself, and an Owner can remove it; it doesn't control soft delete or deleting backup data.

  • c
    Enhanced soft delete with a soft-delete retention of 180 days

    Longer soft delete keeps deleted data recoverable for longer, but it adds no second approver; an administrator can still reduce retention or stop protection alone.

  • d
    Multi-user authorization with a Resource Guard owned by the security team Correct

    MUA requires permission on a Resource Guard that vault administrators don't hold, so reducing retention or stopping protection with delete data needs the security team's access.

The concept

Multi-user authorization (MUA) for Azure Backup vaults.

Why that’s the answer

Multi-user authorization uses a separate Azure resource, Resource Guard, to protect critical vault operations such as reducing policy or protection retention, stopping protection with delete data, disabling immutability, disabling MUA itself and changing the MARS security PIN. A different user or team must own the Resource Guard, and it can sit in a different subscription or tenant, so a compromised vault admin can't perform those operations alone. Unlocked immutability and resource locks can be undone by an administrator, and longer soft delete doesn't add an approver.

How to reason it out
  1. Identify the threat: a single privileged account acting alone.
  2. Look for a control that requires permissions the vault admin doesn't have.
  3. Map that to MUA with a Resource Guard owned by another team.
  4. Place the Resource Guard in a separate subscription or tenant for stronger isolation.

Exam tip: Critical backup operations needing a second team's approval = MUA with Resource Guard.

AZ-305 Backup and Disaster Recovery Design: Site Recovery, Azure Backup, Database and Storage Recovery — the lesson that teaches this.

Question 16Design business continuity solutions

A bank needs two guarantees for its Recovery Services vault. First, nobody, including the bank's own administrators, may delete recovery points before they expire or reduce retention in a backup policy, and the protection itself must not be removable. Second, backup data that is deleted must remain recoverable for 30 days. Which two settings should you recommend? (Select TWO.)

Choose TWO.

  • a
    Immutability enabled on the vault but left unlocked

    Unlocked immutability blocks the same operations, but administrators can disable it, so the protection is removable.

  • b
    Multi-user authorization for delete operations, with a Resource Guard in another tenant

    MUA makes critical operations need extra approval; an approved operator could still delete data, so it doesn't stop everyone.

  • c
    Immutability enabled on the vault and then locked Correct

    Locked immutability blocks deleting recovery points before expiry and reducing retention, and once locked it can't be disabled.

  • d
    A delete lock on the vault, plus 30-day retention in each backup policy

    A delete lock only stops the vault resource being deleted and an Owner can remove it; policy retention controls how long recovery points live, not how long deleted data stays recoverable.

  • e
    Soft delete with the retention period set to 30 days Correct

    Soft-delete retention can be set from 14 to 180 days, so deleted backup data stays recoverable for the required 30 days.

The concept

Immutable vaults and soft delete protect backups against ransomware and insiders.

Why that’s the answer

An immutable vault blocks operations that could lose recovery points: stopping protection with delete data and reducing retention, whether by editing or replacing a policy. While it's only enabled it can be disabled; locking it makes the setting irreversible. Soft delete is a separate layer: deleted backup data is kept for the soft-delete retention period, 14 days by default and configurable up to 180 days, so 30 days is supported. MUA adds approvals, not an absolute block, and resource locks can be removed.

How to reason it out
  1. Translate 'nobody, and not removable' into irreversible immutability: enabled and locked.
  2. Translate 'deleted data recoverable for 30 days' into soft-delete retention.
  3. Reject controls that an authorised person can still undo or approve.
  4. Confirm both settings apply to the Recovery Services vault.

Exam tip: Irreversible protection = locked immutable vault; recover deletions = soft-delete retention.

AZ-305 Backup and Disaster Recovery Design: Site Recovery, Azure Backup, Database and Storage Recovery — the lesson that teaches this.

Question 17Design business continuity solutions

A company wants Azure Backup to protect block blobs in several storage accounts and a set of Azure managed disks, and it wants both workloads managed from one vault. Which vault should you create?

Choose one.

  • a
    One Backup vault for both workloads Correct

    Azure Blob backup and Azure Disk Backup both use a Backup vault, so one vault can hold both.

  • b
    One Recovery Services vault for both workloads

    Recovery Services vaults hold Azure VM, SQL in VM, Azure Files and MARS backups, but not blob or Azure Disk Backup.

  • c
    One Recovery Services vault with Cross Region Restore

    Cross Region Restore doesn't change which workloads the vault supports; blob and disk backup still need a Backup vault.

  • d
    A Backup vault for blobs and a Recovery Services vault for disks

    Azure Disk Backup also uses a Backup vault, so a second vault type isn't needed and breaks the one-vault requirement.

The concept

Azure Backup has two vault types, and each supports a set of workloads.

Why that’s the answer

Azure Backup uses Recovery Services vaults for Azure VMs, SQL Server and SAP HANA in VMs, Azure Files and on-premises (MARS/MABS) backups, and Backup vaults for newer workloads such as Azure Blobs, Azure Disk Backup, Azure Database for PostgreSQL and AKS. Blobs and managed disks therefore fit in one Backup vault.

How to reason it out
  1. List the workloads: blobs and managed disks.
  2. Recall which vault type supports each.
  3. Choose the vault type that covers both.

Exam tip: Blobs, managed disks, PostgreSQL and AKS back up to a Backup vault.

AZ-305 Backup and Disaster Recovery Design: Site Recovery, Azure Backup, Database and Storage Recovery — the lesson that teaches this.

Domain 4: Design infrastructure solutions

33% of the AZ-305 exam, so 8 of the 25 questions on this page.

Question 18Design infrastructure solutions

You are designing a scale set for a stateless web tier. It must keep a base of regular-priority instances, add cheaper Spot instances during peaks, and allow more than one VM size so capacity shortages in one size don't block scaling. Each VM must also be protectable with Azure Backup. Which design should you recommend?

Choose one.

  • a
    A scale set that uses Uniform orchestration mode

    Uniform instances must all be Spot or all regular and share one VM profile, and Uniform instances don't support Azure Backup.

  • b
    A scale set that uses Flexible orchestration mode Correct

    Flexible orchestration manages standard VMs, supports a mix of Spot and regular instances and of VM sizes, and its VMs work with Azure Backup.

  • c
    An availability set that contains the regular VMs

    Availability sets have no autoscale and support regular priority only, so they can't add Spot capacity at peaks.

  • d
    Two Uniform scale sets, one regular and one Spot

    Two sets could split priority, but each still has one VM size, and Uniform instances still can't be backed up with Azure Backup.

The concept

Flexible orchestration is the recommended scale set mode for mixed instances.

Why that’s the answer

Flexible orchestration is Microsoft's recommended scale set mode. It manages standard Azure VMs, so features such as Azure Backup work, and it allows mixing Spot and regular-priority instances and different VM sizes in one set. Uniform orchestration manages identical instances from one profile, all Spot or all regular, and its instances aren't supported by Azure Backup. The mode is chosen at creation and can't be changed later.

How to reason it out
  1. List the requirements: mixed priority, mixed sizes, Azure Backup.
  2. Check each against Uniform: it fails all three.
  3. Choose Flexible orchestration.

Exam tip: Mixed sizes or mixed Spot and regular in one scale set: Flexible orchestration.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 19Design infrastructure solutions

A bank's regulator requires that its Azure VMs run on physical servers that host no other customer's workloads. The bank also wants to decide when Azure applies platform updates to those servers, during hours it chooses. Which TWO components should you recommend? (Select TWO.)

Choose TWO.

  • a
    Azure confidential VMs deployed on shared host hardware

    Confidential VMs encrypt memory in use, but they still run on hosts that other customers share.

  • b
    A proximity placement group that holds the bank's VMs

    A proximity placement group keeps VMs physically close for low latency; it doesn't reserve the hardware for one customer.

  • c
    Azure Dedicated Host groups with hosts for the bank's VMs Correct

    A dedicated host is a physical server used only by the bank's subscription, which meets the no-other-customers rule.

  • d
    A maintenance configuration with a recurring custom window Correct

    Assigned to the bank's dedicated hosts, a maintenance configuration lets it defer and schedule platform updates within a window it chooses.

  • e
    An availability set that spreads the VMs across fault domains

    An availability set spreads VMs across racks for resilience; the servers can still host other customers.

The concept

Physical single-tenant hosting is Azure Dedicated Host; scheduled maintenance is a maintenance configuration.

Why that’s the answer

Azure Dedicated Host provides physical servers dedicated to one Azure subscription; you place VMs on hosts in a host group. Because the hosts are yours, you can attach a maintenance configuration to control when platform updates are applied, within a window you set. Confidential VMs protect data in use but share hardware; proximity placement groups and availability sets control placement for latency or resilience, not tenancy.

How to reason it out
  1. Translate the regulator's rule: hardware used by one customer only.
  2. Map it to Azure Dedicated Host.
  3. Add control of when platform updates are applied: a maintenance configuration.
  4. Reject placement features that don't change tenancy.

Exam tip: No shared hardware: Dedicated Host; control its updates with a maintenance configuration.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 20Design infrastructure solutions

A healthcare provider is moving a third-party patient analytics server to Azure. The security team requires that data in memory be protected from the host operating system, the hypervisor and cloud operators, and that the VM boot state be verified by attestation. The vendor will not change the application's code. What should you recommend?

Choose one.

  • a
    Intel SGX application enclaves on DCsv3-series virtual machines

    SGX enclaves protect data in use only for code written or recompiled to run inside an enclave, which the vendor refuses.

  • b
    Azure Dedicated Host servers reserved for the provider's VMs

    A dedicated host removes other tenants but doesn't encrypt memory or shield the VM from the host and the hypervisor.

  • c
    Encryption at host with customer-managed keys on the disks

    Encryption at host protects data at rest on disks and caches; data in the VM's memory stays unencrypted.

  • d
    Azure confidential VMs on sizes with AMD SEV-SNP or Intel TDX Correct

    Confidential VMs encrypt the whole VM's memory with hardware keys and support attestation, protecting data in use with no code changes.

The concept

Data in use without code changes: confidential VMs, not enclaves.

Why that’s the answer

Azure confidential VMs use hardware-based trusted execution (AMD SEV-SNP or Intel TDX) to encrypt the entire VM's memory with keys the host can't read, and they support attestation of the VM's boot state. Because the whole VM is the protected boundary, an unmodified application can be lifted and shifted. SGX enclaves also protect data in use, but only for code built for an enclave. Dedicated hosts address tenancy, and disk encryption addresses data at rest.

How to reason it out
  1. Classify the data state: in use, in memory.
  2. List services that protect data in use: confidential VMs and enclaves.
  3. Apply the no-code-change constraint: rules out enclaves.
  4. Choose confidential VMs.

Exam tip: Protect memory from the host with no code changes: confidential VM; with code changes: enclave.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 21Design infrastructure solutions

A platform team will run about 60 containerised services. They deploy them with existing Helm charts and rely on a third-party Kubernetes operator that installs custom resource definitions (CRDs). You need a managed Azure service that supports these tools unchanged. What should you recommend?

Choose one.

  • a
    Azure Container Apps on its managed Kubernetes base

    Container Apps runs on Kubernetes but doesn't expose its API, so Helm charts and CRD-based operators can't be installed.

  • b
    Azure Kubernetes Service with a managed control plane Correct

    AKS exposes the full Kubernetes API, so Helm charts, operators and their CRDs install and run as they do on any cluster.

  • c
    Azure Container Instances groups running each of the services

    Container Instances runs container groups with no Kubernetes API, so the operator and its CRDs have nowhere to run.

  • d
    Azure App Service plans running each service as a container

    App Service hosts web apps from images; it has no Kubernetes control plane for Helm releases or operators.

The concept

Direct Kubernetes API access is the line between AKS and Container Apps.

Why that’s the answer

Helm charts and operators that install custom resource definitions talk directly to the Kubernetes API server. AKS is the managed Azure service that gives you that API. Azure Container Apps is built on Kubernetes but deliberately hides the API and cluster, so Kubernetes-native tooling can't target it. Container Instances and App Service have no Kubernetes control plane at all.

How to reason it out
  1. Identify the dependency: Helm and CRD-based operators.
  2. Ask which service exposes the Kubernetes API: only AKS.
  3. Choose AKS.

Exam tip: Need kubectl, Helm, operators or CRDs? AKS. Don't need the Kubernetes API? Consider Container Apps.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 22Design infrastructure solutions

A startup is splitting its app into eight container-based microservices. It wants service discovery, Dapr building blocks, traffic splitting between revisions, and services that scale to zero when idle. The team has no Kubernetes skills and wants nothing to patch or upgrade. Which service should you recommend?

Choose one.

  • a
    Azure Container Apps in a single Container Apps environment Correct

    Container Apps provides Dapr, service discovery, revision traffic splitting and scale to zero as a managed platform with no cluster to run.

  • b
    Azure Kubernetes Service with the Dapr extension installed

    AKS can run Dapr, but the team would design, upgrade and operate the cluster and its node pools, which it wants to avoid.

  • c
    Azure Container Instances with one group for each service

    Container Instances has no service discovery, revisions or autoscale; you'd build those yourself for every service.

  • d
    Azure App Service with one container-based web app each

    App Service hosts container web apps but has no Dapr integration or scale to zero, so idle services still bill.

The concept

Microservices without cluster operations fit Azure Container Apps.

Why that’s the answer

Azure Container Apps is a serverless container platform built on Kubernetes, Dapr, KEDA and Envoy. It provides service discovery, revisions with traffic splitting, Dapr building blocks and scale to zero, while Microsoft runs the underlying cluster. AKS offers the same capabilities only if the team runs a cluster; Container Instances and App Service lack the microservice features.

How to reason it out
  1. List the features: Dapr, discovery, revisions, scale to zero.
  2. Apply the constraint: no cluster to operate.
  3. Choose Azure Container Apps.

Exam tip: Kubernetes-style microservices without running Kubernetes: Container Apps.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 23Design infrastructure solutions

An AKS cluster runs web services on a system node pool of general-purpose VMs. A data science team will add model-training pods that need GPUs for a few hours a week. GPU nodes must not run the web pods and must cost nothing when no training runs. Which TWO actions should you recommend? (Select TWO.)

Choose TWO.

  • a
    Add a GPU user node pool with the cluster autoscaler and minimum count 0 Correct

    A separate user pool can autoscale down to zero nodes, so GPU VMs exist only while training pods are pending or running.

  • b
    Resize the system node pool to a GPU size with the cluster autoscaler on

    Putting GPUs in the system pool makes every node a GPU node, and a system pool must keep at least one node running.

  • c
    Add a node selector to the training pods that targets the GPU pool

    A selector draws the training pods to the GPU nodes, but nothing repels the web pods, so the scheduler can still place them there.

  • d
    Taint the GPU nodes and give only the training pods a matching toleration Correct

    A taint repels every pod without a matching toleration, which keeps web pods off the expensive GPU nodes.

  • e
    Create a second AKS cluster that has only GPU nodes for training pods

    A second cluster adds a control plane and operations to run, and on its own doesn't remove GPU cost when idle.

The concept

Specialised hardware goes in its own user node pool, reserved with taints and scaled to zero.

Why that’s the answer

AKS separates system node pools (which host critical system pods and must keep at least one node) from user node pools. A GPU user pool with the cluster autoscaler can scale from zero, so GPU VMs are billed only while training pods need them. Applying a taint to the GPU pool and a toleration to the training pods reserves those nodes. A node selector only attracts pods to nodes; it doesn't keep other pods, such as the web pods, off them.

How to reason it out
  1. Separate the hardware: a dedicated GPU user node pool.
  2. Remove idle cost: cluster autoscaler with minimum count 0.
  3. Reserve the nodes: taint the pool, tolerate only training pods.
  4. Reject changes to the system pool or a second cluster.

Exam tip: GPU or Spot capacity in AKS: its own user pool, tainted, autoscaled from zero.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 24Design infrastructure solutions

An AKS cluster runs nightly image-processing pods that checkpoint progress to Blob Storage and can be restarted at any time. You need to cut the compute cost of these pods while keeping cluster system components on reliable capacity. Which TWO actions should you recommend? (Select TWO.)

Choose TWO.

  • a
    Add a Spot user node pool and schedule the processing pods to it Correct

    Spot node pools run on discounted surplus capacity; interruptible, checkpointed pods are the intended workload.

  • b
    Convert the existing system node pool to Spot priority nodes

    A Spot pool can only be a user node pool; system components must stay on regular-priority nodes.

  • c
    Buy a three-year reservation that covers the processing node pool

    A reservation discounts capacity that runs constantly; a pool used a few hours a night would pay for idle hours.

  • d
    Raise the system pool node count so the pods finish more quickly

    More regular-priority nodes in the system pool increases cost; it moves the work onto full-price capacity.

  • e
    Enable the cluster autoscaler on the processing node pool Correct

    The autoscaler adds nodes when pods are pending and removes them afterwards, so nightly capacity isn't billed all day.

The concept

Interruptible AKS work goes on a Spot user node pool that autoscales.

Why that’s the answer

AKS supports Spot node pools as user node pools only; the system pool must use regular capacity. Because the pods checkpoint and restart safely, eviction is acceptable. Enabling the cluster autoscaler on the Spot pool lets it add nodes when pods are pending and remove them when the run ends. Spot pools carry a taint, so the processing pods need the matching toleration to schedule there.

How to reason it out
  1. Confirm the pods tolerate eviction: checkpoints and restart.
  2. Place them on a Spot user pool, never the system pool.
  3. Add the cluster autoscaler so capacity exists only during the run.

Exam tip: Spot in AKS: user pools only, with the cluster autoscaler for bursty work.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Question 25Design infrastructure solutions

A container app processes orders from an Azure Service Bus queue. Orders arrive in bursts during business hours, and the queue is often empty overnight. The app has no HTTP ingress. You need the app to add replicas as the queue grows and cost nothing when the queue is empty. How should you configure scaling?

Choose one.

  • a
    A CPU scale rule with the minimum replica count set to 0

    CPU and memory rules can't scale an app to zero, and CPU use doesn't track the queue backlog.

  • b
    A CPU scale rule with the minimum replica count set to 1

    CPU use doesn't track the queue backlog, and one replica always running is billed overnight.

  • c
    A Service Bus scale rule with the minimum replica count set to 0 Correct

    A KEDA Service Bus rule scales on queue length, and a minimum of 0 lets the app scale to zero replicas when the queue is empty.

  • d
    A Service Bus scale rule with the minimum replica count set to 1

    This scales on the backlog correctly, but one replica always stays running, so the empty queue still costs money.

The concept

Container Apps scale rules come from KEDA; scale to zero needs an event-based rule and min replicas 0.

Why that’s the answer

Azure Container Apps scales with KEDA-based rules. A custom rule for Azure Service Bus watches message count and adds replicas as the backlog grows. Setting the minimum replica count to 0 allows the app to scale to zero when there is nothing to process. CPU and memory rules can't scale to zero and don't measure the backlog, and a minimum of 1 keeps a billed replica running all night.

How to reason it out
  1. Identify the scaling signal: queue length.
  2. Choose the matching KEDA rule: Service Bus.
  3. Set minimum replicas to 0 to remove idle cost.

Exam tip: Queue-driven Container App: event scale rule plus min replicas 0.

AZ-305 Compute Design: Virtual Machines, Scale Sets, Containers, Functions and Azure Batch — the lesson that teaches this.

Keep going with AZ-305

AZ-305 practice by domain

AZ-305 sample questions: your questions

No. Real exam questions are confidential. These are original questions written to the skills in the official AZ-305 exam guide, so they test the same knowledge in the same style without being copies of the exam.

Source

The domains and weights on this page come from the official AZ-305 exam guide.