Microsoft • AZ-204
Validates your ability to design, build, test, and maintain cloud applications and services on Microsoft Azure, including compute solutions, storage, security, monitoring, and service integration.
Questions
640
Duration
100 minutes
Passing Score
700/1000
Difficulty
AssociateLast Updated
Jan 2025
The Microsoft Certified: Azure Developer Associate certification, earned by passing Exam AZ-204: Developing Solutions for Microsoft Azure, validates a developer's ability to participate in all phases of cloud application development on Azure—from requirements gathering and design through deployment, security, performance tuning, and monitoring. The exam covers the full spectrum of Azure development skills, including compute solutions (App Service, Azure Functions, Container Apps, Container Instances), storage (Blob Storage, Azure Cosmos DB), security (Microsoft Entra ID, Key Vault, Managed Identities), observability (Application Insights), and service integration (API Management, Event Grid, Event Hubs, Service Bus, Queue Storage).
Last updated on January 14, 2026, the certification reflects current Azure SDK usage patterns and modern cloud-native development practices. Candidates are expected to work proficiently with Azure SDKs, Azure CLI, Azure PowerShell, and directly with Azure REST APIs. The certification is positioned at the intermediate (associate) level and is widely recognized across industries as a credible signal of hands-on Azure development capability.
This certification targets software developers with at least two years of professional programming experience who are actively building or planning to build cloud-native applications on Azure. Relevant job titles include Azure Developer, Cloud Application Developer, Cloud Solutions Engineer, and Full-Stack Developer with Azure specialization. Candidates typically collaborate with cloud solution architects, DBAs, DevOps engineers, and infrastructure administrators to deliver end-to-end solutions.
The AZ-204 is also a direct stepping stone for developers pursuing the AZ-400: DevOps Engineer Expert certification or adjacent paths such as Azure AI Engineer Associate. It is well-suited for developers transitioning from on-premises .NET, Java, Python, or Node.js backgrounds into cloud-first roles, as well as those already working in Azure environments who want a formal credential to validate their expertise.
Microsoft does not enforce formal prerequisites to register for AZ-204, but the official audience profile specifies that candidates should have at least two years of professional programming experience and proficiency working with Azure SDKs, Azure CLI, and Azure PowerShell. Familiarity with at least one Azure-supported programming language (C#/.NET, Python, Java, or JavaScript/Node.js) is effectively required, as exam questions are grounded in SDK-level implementation details.
Candidates with no prior Azure exposure are strongly advised to first complete the AZ-900: Microsoft Azure Fundamentals exam and accumulate hands-on experience deploying and managing Azure resources. Practical experience with compute services (App Service, Azure Functions), data storage (Blob Storage, Cosmos DB), identity (Microsoft Entra ID), and networking basics will significantly reduce preparation time and improve exam performance.
Exam AZ-204 is a proctored assessment with a 100-minute time limit, delivered through Pearson VUE either at a testing center or via online proctoring. The exam may include interactive lab components in addition to traditional question types such as multiple choice, drag-and-drop, case studies, and short-answer scenarios. Microsoft does not publicly disclose a fixed question count; candidates typically report encountering 40–60 scored items, but this varies.
Scoring is on a scale of 1–1000, with a passing score of 700 required. The exam is available in English, Japanese, Chinese (Simplified and Traditional), Korean, French, German, Spanish, Portuguese (Brazil), and Italian. Candidates who test in a non-English language may request an additional 30 minutes. The certification expires after 12 months but can be renewed at no cost by passing a free online renewal assessment on Microsoft Learn, available starting six months before expiration.
The AZ-204 certification opens access to high-demand roles such as Azure Developer, Cloud Application Developer, Cloud Solutions Engineer, and Senior Azure DevOps Engineer. Azure developer roles in the United States command salaries broadly ranging from $97,000 to $183,000 depending on seniority, specialization, and location, with median figures for certified professionals typically falling in the $130,000–$160,000 range. The U.S. market currently lists tens of thousands of open cloud engineering roles requiring exactly the skills AZ-204 validates, driven by enterprise cloud migration, distributed-team infrastructure needs, and data-intensive application development.
Beyond immediate salary impact, AZ-204 serves as a prerequisite stepping stone to the AZ-400: DevOps Engineer Expert certification and creates pathways into specialized areas including Azure AI engineering and IoT solution development. Microsoft's annual free renewal model means the credential stays current without additional exam fees, and pairing it with deployed GitHub portfolio projects and Microsoft Applied Skills credentials significantly strengthens a candidate's profile for senior roles and technical interviews.
5 sample questions with correct answers and explanations. Start a practice session to test yourself across all 640 questions.
1. A mobile app sends processing requests to a backend service. The messaging solution must support First-In, First-Out (FIFO) ordering and must be able to store up to 70 GB of messages if the backend is down. The solution must also be cost-effective. A developer suggests using an Azure Storage Queue and an Azure Function trigger. Does this solution meet all the requirements?
Explanation
No, this solution fails to meet the FIFO ordering requirement. Here's why: The most significant failing of this proposed solution is the FIFO guarantee. Azure Storage Queues are designed for high throughput and reliability, but they explicitly do not guarantee first-in, first-out ordering. Messages can be delivered out of order, which would violate a key requirement of the scenario. For guaranteed FIFO, especially in a scaled-out consumer environment, Azure Service Bus with Sessions is the required service. Why the other approaches are incorrect: The cost-effectiveness argument is misleading; while Azure Storage Queues might be inexpensive, they don't meet all requirements. The size limit concern has the capacity wrong and the reasoning is illogical—Azure Storage Queues actually support the required 70 GB storage capacity. The claim about Azure Functions integration is false; Functions have a standard trigger for Storage Queues and can process messages from them without issue.
2. A media sharing application uploads photos and videos to an Azure Blob Storage container named uploads. When a new video file (identified by a .mp4 extension) is uploaded, a specific set of processing steps must be triggered to copy that blob to a different container named processing-queue. What is the most efficient, event-driven way to automate this copy operation?
Explanation
The most efficient method is using Azure Event Grid with a filter. Here's why: Azure Event Grid is designed for building reactive, event-driven applications. It can natively publish events when a blob is created. Crucially, Event Grid subscriptions support advanced filtering. You can create a subscription that only triggers for Microsoft.Storage.BlobCreated events and add a subject filter where the blob name ends with .mp4. This means the event is only delivered for the files you care about. The event can then trigger a lightweight consumer, like a Logic App or an Azure Function, to perform the copy operation. This is highly efficient because no code runs unless a matching file is uploaded. Why the other approaches are incorrect: The change feed approach relies on polling, which is inefficient and introduces latency. The Azure Function with Blob trigger approach works, but having an Azure Function trigger for every blob upload (including non-mp4 files) just to check the name and then run a script is less efficient than filtering at the Event Grid level first. The AzCopy scheduled script approach is incorrect because the change feed is for auditing, not real-time eventing.
3. A web application running in an Azure Kubernetes Service (AKS) cluster is reporting a high number of errors over the past day. The application uses sticky sessions on its ingress controller, and logs are being collected by Azure Monitor for containers. To diagnose the problem, an engineer needs to write a Kusto query to identify which specific cluster nodes (VMs) are hosting the pods that are generating these errors. How should the query be structured?
Explanation
The correct answer is the one that directly summarizes error logs by the Computer field. Here's why: Azure Monitor for containers collects log data into the ContainerLog table. Each record in this table has a Computer column which holds the name of the node (the VM) where the container was running when the log was generated. Therefore, the most direct way to solve this is to: 1. Filter the ContainerLog table for entries that contain the word 'error' (where LogEntry has 'error'). 2. Limit the time range to the last day (and TimeGenerated > ago(1d)). 3. Use a summarize operation to count the number of error entries and group them by the Computer column (summarize count() by Computer). This gives you a list of nodes and the count of errors that originated from each, pinpointing the problematic VMs. Why the others are incorrect: The approaches involving joins with KubeNodeInventory or KubePodInventory are overly complex. While joins are possible, the ContainerLog table already contains the necessary Computer (node name) information, so no join is required for this specific task. Using KubeEvents is incorrect because this table contains Kubernetes system events (like a pod failing to start), not application log errors from within the containers.
4. An e-commerce platform is being designed with a microservices architecture. A central part of the system is the order processing workflow, where a new order message must be processed reliably and in the exact order it was received to prevent race conditions. Which Azure messaging service is specifically designed to guarantee First-In, First-Out (FIFO) message processing?
Explanation
Azure Service Bus with Sessions is the service that guarantees FIFO. Here's why: While standard Azure Service Bus queues provide ordered delivery, the First-In, First-Out (FIFO) guarantee is not absolute in a high-throughput system with multiple competing consumers. To achieve a strict FIFO guarantee, you must use the 'Sessions' feature of Azure Service Bus. By assigning the same session ID to a sequence of related messages (like all updates for a single order), you ensure that a single consumer will lock and process all messages for that session in the order they were sent. No other consumer can process messages from that session until the first one is finished. Why the others are incorrect: Azure Event Grid does not guarantee order. Azure Event Hubs guarantees order only within a partition, not across the entire stream. Azure Storage Queues does not provide a FIFO guarantee; messages can be processed out of order.
5. An administrator at 'SecureVault Inc.' needs to ensure that their Azure Key Vault is protected against both accidental deletion by a user and a malicious purge of a soft-deleted secret. Which two features must be enabled on the Key Vault to provide this level of protection?
Explanation
Azure Key Vault has specific data protection features to prevent irreversible loss of secrets. Correct Answer: Soft Delete ensures that when a secret is deleted, it is retained for a configurable period (7-90 days) instead of being permanently removed. Purge Protection is an additional feature that, when enabled, prevents the permanent deletion (purging) of a soft-deleted secret by anyone until the retention period has passed. Enabling both provides the highest level of protection against both accidental and malicious deletions. Incorrect Answers: - Access policies, RBAC, and resource locks control access but do not prevent a privileged user from deleting or purging if the protection features are not enabled. - Key rotation and private endpoints are security features but are not related to protection against deletion.
One-time access to this exam