AZ-203 Developing Solutions for Microsoft Azure Study Guide
Update here, I passed this exam in January 2019 exclusively using this study guide.
Intro
As a Microsoft employee who works with customers and a cloud enthusiast, I see it essential to be knowledgeable of how the cloud can bring the best value to the developer. Because of this, I am taking the AZ-203 exam, which is titled “Developing Solutions for Microsoft Azure”. This exam was in beta for some time and was recently released proper in January 2019. Developers used to the Microsoft certification world will see this exam as a replacement for 70-532, which is the older iteration of Azure technology geared for developers. Passing this exam will reward developers with the “Microsoft Certified Azure Developer Associate” certification. Going forward, most Microsoft certifications are moving to a job-role based (great take by Chris Pietschmann at Build Azure) approach, which in my opinion is a good move, as it allows folks to focus on passing exams that contain content that will directly be used on the job. For more information about the exam, take a look at the Official Exam Page
## Skills Measured
Here’s a high level list of the skills and objectives measured on the AZ-203 Developing Solutions for Microsoft Azure certification exam. The percentages next to each objective area represents the number of questions in that objective area on the exam. I have included links to docs, code samples, and other resources that I have found helpful as I studied. Hope you enjoy!
Develop Azure Infrastructure as a Service (IaaS) Compute Solutions (10-15%)
Implement solutions that use virtual machines (VM)
Implement batch jobs by using Azure Batch Services
- Manage batch jobs by using Batch Service API (Batch Service API Reference )
- Run a batch job by using Azure CLI , Azure Portal , and other tools (.NET , Python )
- Write code to run an Azure Batch Services batch job (Azure Batch Samples Github Repo )
Create containerized solutions
- Create an Azure Managed Kubernetes Service (AKS) cluster (Azure CLI , Azure Portal )
- Create container images for solutions (Part of ACI Tutorial )
- Publish an image to the Azure Container Registry (Part of ACI Tutorial )
- Run containers by using Azure Container Instance or AKS (ACI , AKS )
Develop Azure Platform as a Service (PaaS) Compute Solutions (20-25%)
Create Azure App Service Web Apps
- Create an Azure App Service Web App (.NET with others in TOC )
- Create an Azure App Service background task by using WebJobs (Create WebJobs )
- Enable diagnostics logging (Azure App Service diagnostics overview )
Create Azure App Service mobile apps
- Add push notifications for mobile apps (Android , Cordova , iOS , Windows , Xamarin.Android , Xamarin.Forms , Xamarin.iOS )
- Enable offline sync for mobile app (Offline Data Sync in Azure Mobile Apps )
- Implement a remote instrumentation strategy for mobile devices (Use TeamViewer to remotely administer Intune devices )
Create Azure App Service API apps
- Create an Azure App Service API app (Tutorial: Host a RESTful API with CORS in Azure App Service )
- Create documentation for the API by using open source and other tools (Above uses Swagger )
Implement Azure functions
- Implement input and output bindings for a function (Azure Functions triggers and bindings concepts )
- Implement function triggers by using data operations (Azure Cosmos DB , Blob Storage , Queue Storage ), timers , and webhooks
- Implement Azure Durable Functions (C# , Javascript )
- Create Azure Function apps by using Visual Studio (Create your first function using Visual Studio )
Develop for Azure Storage (15-20%)
Develop solutions that use storage tables
- Design and implement policies for tables (Azure Storage Security Guide
- Query table storage by using code (.NET Sample )
- Implement partitioning schemes (Data partitioning strategies has section on Table Storage)
Develop solutions that use Cosmos DB storage
- Create, read, update, and delete data by using appropriate APIs (Azure Cosmos DB Documentation has links to all API references)
- Implement partitioning schemes (Partioning Cosmos DB )
- Set the appropriate consistency level for operations (Choose the right consistency level for your application )
Develop solutions that use a relational database
- Provision and configure relational databases (Create a single Azure SQL Database )
- Configure elastic pools for Azure SQL Database (Create and manage elastic pools in Azure SQL Database )
- Create, read, update, and delete data tables by using code (Create a single Azure SQL Database has query data section)
Develop solutions that use blob storage
- Move items in Blob storage between storage accounts or containers (C# Code , AzCopy )
- Set and retrieve properties and metadata (Setting properties and metadata during the import process )
- Implement blob leasing (Azure CLI )
- Implement data archiving and retention (Azure Blob Access Tiers for Archiving , Store business-critical data in Azure Blob storage )
Implement Azure Security (10-15%)
- Implement authentication
- Implement authentication by using certificates , forms-based authentication , or tokens
- Implement multi-factor or Windows authentication by using Azure AD (Deploy cloud-based Azure Multi-Factor Authentication )
- Implement OAuth2 authentication (v2.0 Protocols - OAuth 2.0 and OpenID Connect )
- Implement Managed Service Identity (MSI)/Service Principal authentication (PowerShell , Portal )
- Implement access control
- Implement CBAC (Claims-Based Access Control) authorization (Blog with GitHub sample )
- Implement RBAC (Role-Based Access Control) authorization (Portal , PowerShell )
- Create shared access signatures (Using shared access signatures (SAS) )
- Implement secure data solutions
- Encrypt and decrypt data at rest and in transit (Azure Data Security and Encryption Best Practices )
- Create, read, update, and delete keys, secrets, and certificates by using the KeyVault API (Quickstart: Set and retrieve a secret from Azure Key Vault using Azure CLI with samples in TOC )
Monitor, Troubleshoot, and Optimize Azure Solutions (15-20%)
- Develop code to support scalability of apps and services
- Implement autoscaling rules and patterns (Autoscaling )
- Implement code that handles transient faults (Transient fault handling )
- Integrate caching and content delivery within solutions
- Store and retrieve data in Azure Redis cache (Quickstart: Use Azure Cache for Redis with a .NET application )
- Develop code to implement CDN’s in solutions (Getting started on managing CDN in C# )
- Invalidate cache content (CDN or Redis )
- Instrument solutions to support monitoring and logging
- Configure instrumentation in an app or service by using Application Insights (ASP.NET Web Apps )
- Analyze and troubleshoot solutions by using Azure Monitor (View or analyze data collected with Log Analytics log search )
- Implement Application Insights Web Test and Alerts (Creating an Application Insights Web Test and Alert Programmatically )
Connect to and Consume Azure Services and Third-party Services (20-25%)
- Develop an App Service Logic App
- Create a Logic App (Create a Logic App )
- Create a custom connector for Logic Apps (Custom connectors in Logic Apps )
- Create a custom template for Logic Apps (Create Azure Resource Manager templates for deploying logic apps )
- Integrate Azure Search within solutions
- Establish API Gateways
- Create an APIM instance (Portal , Powershell )
- Configure authentication for APIs (How to secure APIs using client certificate authentication in API Management )
- Define policies for APIs (API Management policies )
- Develop event-based solutions
- Implement solutions that use Azure Event Grid (Event Grid Documentation )
- Implement solutions that use Azure Notification Hubs (Azure Notification Hubs Documentation )
- Implement solutions that use Azure Event Hub (Azure Event Hubs Documentation )
- Develop message-based solutions
- Implement solutions that use Azure Service Bus (Azure Service Bus Messaging Documentation )
- Implement solutions that use Azure Queue Storage queues (.NET Sample )