What programming languages do I need for AZ-204?
The AZ-204 exam is language-agnostic but most examples and official learning materials use C# and Python. You need to understand Azure SDK usage, REST API calls, and code patterns for interacting with Azure services rather than deep knowledge of any single language. Candidates should be comfortable reading code in at least one language and understanding what Azure SDK methods accomplish.
The AZ-204 Developing Solutions for Microsoft Azure certification validates skills in designing, building, testing, and maintaining cloud applications on Azure. It is the developer-focused role-based certification and is required as a prerequisite for the AZ-400 DevOps Engineer Expert credential.
Azure developers are among the most in-demand cloud professionals, with roles typically requiring proficiency in at least one modern programming language alongside Azure service knowledge. Salaries for certified Azure developers range from $105,000 to $145,000 in the United States. The exam costs $165 USD and requires a passing score of 700 out of 1000.
Exam Overview
| Detail | Information |
|---|---|
| Exam Code | AZ-204 |
| Full Name | Developing Solutions for Microsoft Azure |
| Number of Questions | 40-60 |
| Time Limit | 120 minutes |
| Passing Score | 700/1000 |
| Cost | $165 USD |
| Prerequisites | 1-2 years of Azure development experience recommended |
| Renewal | Every 12 months via free online assessment |
The exam covers five domains:
- Develop Azure compute solutions (25-30%)
- Develop for Azure storage (15-20%)
- Implement Azure security (20-25%)
- Monitor, troubleshoot, and optimize solutions (15-20%)
- Connect to and consume Azure services and third-party services (15-20%)
"AZ-204 is unique among Azure exams because it asks about writing code, not just configuring services. You need to know Azure SDK method names, the structure of REST API calls, and how to handle authentication in code. Candidates who only study conceptually and skip code examples consistently underperform." -- Microsoft MVP developer community
Domain 1: Azure Compute Solutions (25-30%)
Azure App Service Development
Azure App Service is the primary PaaS platform for web applications. Developer-focused concepts:
- Deployment methods: Continuous deployment from GitHub/Azure DevOps, local Git deployment, FTP, and deployment ZIP packages
- Deployment slots: Named environments (staging, testing) with the ability to swap traffic between slots without downtime
- WebJobs: Background tasks running alongside App Service web apps, triggered by schedule or queue messages
- Auto-healing: Automatic restart rules based on request count, memory limits, or error codes
Azure Functions
Azure Functions is the serverless compute service for event-driven code execution. Key developer concepts:
- Trigger types: HTTP, Timer (cron), Blob Storage, Queue Storage, Service Bus, Event Grid, Event Hub, Cosmos DB change feed
- Binding types: Input bindings (read data from a source) and output bindings (write data to a destination) declared in function configuration, reducing boilerplate code
- Durable Functions: Stateful workflow orchestration patterns -- fan-out/fan-in, chaining, async HTTP APIs, monitoring
[FunctionName("HttpTriggerExample")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequest req,
ILogger log)
{
string name = req.Query["name"];
return new OkObjectResult($"Hello, {name}");
}
Azure Container Solutions
- Azure Container Registry (ACR): Private Docker registry for storing container images
- Azure Container Instances (ACI): Serverless container execution without Kubernetes orchestration overhead
- Azure Container Apps: Managed Kubernetes abstraction for microservices and event-driven container workloads
Domain 2: Azure Storage Development (15-20%)
Blob Storage SDK
Developers use the Azure SDK to interact with Blob Storage programmatically:
| SDK Class | Purpose |
|---|---|
BlobServiceClient |
Account-level operations |
BlobContainerClient |
Container-level operations |
BlobClient |
Individual blob operations |
Key operations: upload (UploadAsync), download (DownloadAsync), list blobs (GetBlobsAsync), set metadata, manage access tiers, generate SAS tokens.
Azure Cosmos DB Development
Cosmos DB SDK operations tested on AZ-204:
- Creating and querying containers using the SQL API
- Understanding partition keys and their impact on performance and cost
- Optimistic concurrency using ETags
- Change feed processing for event-driven architectures
- Configuring time-to-live (TTL) for automatic document expiration
Domain 3: Implement Azure Security (20-25%)
Azure Key Vault in Application Code
Integrating Key Vault into application code is a heavily tested area:
from azure.identity import DefaultAzureCredential
from azure.keyvault.secrets import SecretClient
credential = DefaultAzureCredential()
client = SecretClient(vault_url="https://myvault.vault.azure.net/", credential=credential)
secret = client.get_secret("db-connection-string")
DefaultAzureCredential is the recommended authentication class that automatically uses managed identity in Azure and local developer credentials (Azure CLI, Visual Studio, etc.) in development environments.
Microsoft Identity Platform and OAuth 2.0
Developers must understand OAuth 2.0 flows for securing APIs:
- Authorization code flow: For web applications requiring user sign-in
- Client credentials flow: For daemon applications and service-to-service authentication
- MSAL (Microsoft Authentication Library): The SDK for acquiring tokens from the Microsoft identity platform
Domain 4: Monitor, Troubleshoot, and Optimize (15-20%)
Application Insights SDK
Integrating Application Insights in code:
- TrackEvent: Log custom events for business telemetry
- TrackMetric: Record custom numeric metrics
- TrackException: Log caught exceptions with stack traces
- TrackDependency: Record outbound calls to databases, APIs, and other dependencies
Azure Cache for Redis
Azure Cache for Redis reduces latency and database load for frequently accessed data. Developer patterns:
- Cache-aside: Check cache before database; populate cache on miss
- Session state caching: Store user session data in Redis for scalable web applications
- Pub/sub messaging: Real-time messaging between application components
Domain 5: Azure Services and Third-Party Integration (15-20%)
Azure Service Bus and Event Grid
| Service | Model | Use Case |
|---|---|---|
| Service Bus Queues | Point-to-point messaging | Reliable task distribution between services |
| Service Bus Topics | Publish-subscribe | Fan-out messages to multiple subscribers |
| Event Grid | Event-driven routing | Reacting to Azure resource events |
| Event Hubs | Data streaming | High-throughput telemetry and log ingestion |
Azure API Management
API Management (APIM) sits in front of backend APIs and provides:
- Rate limiting and throttling policies
- Authentication (subscription keys, OAuth 2.0, JWT validation)
- Request/response transformation
- Developer portal for API documentation and testing
Frequently Asked Questions
What programming experience is needed for AZ-204? AZ-204 requires 1-2 years of application development experience and familiarity with at least one Azure SDK language (C#, Python, JavaScript, or Java). You need to read and understand code snippets, recognize correct SDK usage patterns, and identify bugs in code examples. You do not need to write code from scratch, but you must understand what code does.
How does AZ-204 compare to AZ-104 in difficulty? AZ-204 and AZ-104 are comparable in overall difficulty but require different knowledge. AZ-104 is infrastructure-focused and requires more portal and CLI experience. AZ-204 is developer-focused and requires code-reading ability alongside service knowledge. IT professionals with infrastructure backgrounds typically find AZ-104 more natural; software developers typically find AZ-204 more natural.
What is the best resource for AZ-204 preparation? The combination of Microsoft Learn's official AZ-204 learning paths (free), Alan Rodrigues' AZ-204 course on Udemy, and hands-on lab time is widely recommended. Focus lab time on Functions, App Service, Cosmos DB, and Key Vault integration -- these are the most heavily tested services. Building a small sample application that uses all of these services together is the single most effective preparation activity.
References
- Microsoft. (2025). Exam AZ-204: Developing Solutions for Microsoft Azure. https://learn.microsoft.com/en-us/credentials/certifications/exams/az-204/
- Microsoft. (2025). Azure SDK Documentation. https://learn.microsoft.com/en-us/azure/developer/
- Microsoft. (2025). Microsoft Identity Platform Documentation. https://learn.microsoft.com/en-us/entra/identity-platform/
- Rodrigues, A. (2024). AZ-204 Developing Solutions for Microsoft Azure. Udemy course.
- Microsoft. (2025). Azure Functions Documentation. https://learn.microsoft.com/en-us/azure/azure-functions/
- Freeman, A. (2023). Pro ASP.NET Core 7: Develop Cloud-Ready Web Applications Using MVC, Blazor, and Razor Pages. Apress.
