Why I took the exam
I was recently asked to obtain the Microsoft Certified: Azure Developer Associate certification by the company I work for so that they can become a Gold-level Microsoft Partner. The requirement was to obtain the certification in 3 weeks. I have been working with Microsoft Azure each day for the past couple of years, although not in all, in fact most, of the areas covered by the exam. Much of my daily work is still with services deployed under the “Classic” deployment model, such as Cloud Service, and not the newer Azure services which is what the exam covers. I knew the time to prepare was short, but I also wanted to use the opportunity to stay up to date with Azure’s latest offerings, especially as I was not getting a chance to work with them during my normal work.
I was given some time each week during my working hours to focus on preparing for the exam, but this was not enough. I had to dedicate a large amount of time during the weekends, and a public holiday during the period to cover all the content required.
What is covered in the exam?
The certification covers a wide range of Azure services and how they integrate with one another. At the time of writing, these were the skills measured:
Develop Azure compute solutions (25-30%)
This has been increased from (20 – 25%) to (25 – 30%) since March 26, 2021, indicating that Microsoft is likely to focus on this area with their questions.
Implement IaaS solutions
- provision virtual machines (VMs)
- configure, validate, and deploy ARM templates
- configure container images for solution
- publish an image to the Azure Container Registry
- run containers by using Azure Container Instance
Create Azure App Service Web Apps
- create an Azure App Service Web App
- enable diagnostics logging deploy code to a web app
- configure web app settings including SSL, API settings, and connection strings
- implement autoscaling rules including scheduled autoscaling and autoscaling by operational or system metrics
Implement Azure functions
- create and deploy Azure Functions apps
- implement input and output bindings for a function
- implement function triggers by using data operations, timers, and webhooks
- implement Azure Durable Functions
- implement custom handlers
Develop for Azure storage (15-20%)
Develop solutions that use Cosmos DB storage
- select the appropriate API and SDK for a solution
- implement partitioning schemes and partition keys
- perform operations on data and Cosmos DB containers
- set the appropriate consistency level for operations
- manage change feed notifications
Develop solutions that use blob storage
- move items in Blob storage between storage accounts or containers
- set and retrieve properties and metadata
- perform operations on data by using the appropriate SDK
- implement storage policies, and data archiving and retention
Implement Azure security (20-25%)
Implement user authentication and authorization
- authenticate and authorize users by using the Microsoft Identity platform
- authenticate and authorize users and apps by using Azure Active Directory
- create and implement shared access signatures
Implement secure cloud solutions
- secure app configuration data by using App Configuration Azure Key Vault
- develop code that uses keys, secrets, and certificates stored in Azure Key Vault
- implement Managed Identities for Azure resources
- implement solutions that interact with Microsoft Graph
Monitor, troubleshoot, and optimize Azure solutions (15-20%)
Integrate caching and content delivery within solutions
- configure cache and expiration policies for Azure Redis Cache
- implement secure and optimized application cache patterns including data sizing, connections, encryption, and expiration
Instrument solutions to support monitoring and logging
- configure an app or service to use Application Insights
- analyse and troubleshoot solutions by using Azure Monitor
- implement Application Insights web tests and alerts
Connect to and consume Azure services and third-party services (15-20%)
Implement API Management
- create an APIM instance
- configure authentication for APIs
- define policies for APIs
Develop event-based solutions
- implement solutions that use Azure Event Grid
- implement solutions that use Azure Event Hubs
Develop message-based solutions
- implement solutions that use Azure Service Bus
- implement solutions that use Azure Queue Storage queue
How to prepare
There are many resources available for preparing for the certification. What I used was a combination of Microsoft Learn, the Pluralsight path for AZ-204, studying the official Microsoft documentation for a service and many, many practise exams.
I started working through all the Microsoft Learn courses, including the “labs” which give you the chance to work through the exercises in a real-world setting, using the actual Azure services within a specially provisioned (and free) sandbox account. This was a fun way to experiment and learn about how the services worked, but I found it did not help me to pass the exam, although the practical knowledge will help me when applying what I learnt for the exam to real-world projects. I also found that Microsoft Learn covered certain topics which were not covered anywhere else, but were also not examined in the exam, such as Power Apps and Azure App Service WebJobs.
While working through the Microsoft Learn courses, I was also doing Pluralsight courses in-between. I ignored the “path” ordering of courses in Pluralsight and instead picked the videos that were related to what I was working through in Microsoft Learn. This allowed the two to complement each other and I felt that it helped me retain knowledge better. The Exam Alert videos in Pluralsight were immensely helpful towards the end of my studies to get a good idea of how well I understood the content, and if there were gaps in my knowledge I needed to improve on. Pluralsight also overs free practise exam tests in association with Kaplan. You can sign into a Kaplan account through the Pluralsight portal. The Kaplan exams do cover the correct content and will show you where you need to study more, but I found other practise exams to be closer to the type of questions asked in the official exams. Additionally, Kaplan marks an entire question as incorrect, even when a question has multiple answers, but in the official exam, each answer is marked independently.
When I had gone through all of Microsoft Learn and Pluralsight, it was time to start testing my knowledge. I used a combination of the Kaplan exams provided through Pluralsight as well as MeasureUp practise exams. I would do a randomized set of questions from each, and then go through the results, identifying areas where I did not have enough knowledge. I would then go back to Pluralsight, or more often, the Microsoft Documentation and study the topic until I was sure I understood everything. I kept repeating this until I understood all the questions in all the practise tests. At this point I was learning what the correct answers were because questions were being repeated and so I was not focussed on my % in the exams, but whether I understood why the correct answer was in fact correct. I have also heard from other developers that the Whizlabs practise exams are also particularly good, and they often run specials to obtain access to them for cheaper than the usual price. It might be worth checking them out as well.
Writing the exam
Finally, it was time to see if all my preparation was going to pay off and I went to go write the exam. I opted to write at the closest testing centre instead of doing an online test. I did not want to clutter up my personal computer with all the monitoring software required to test online. I was also unsure if I would be left alone long enough if I did the test at home. I also did not want to have to worry about making sure the Internet was stable and that there was a quick failover to another connection – I’m writing this in South Africa, and for those of you that don’t know, we have load shedding here. The nearest centre was about 10 km away and it was quick and easy to make a booking through the Microsoft site. I got an invoice directly after paying, together with instructions for how to get to the venue and the rules of the exam.
I arrived 30 minutes before the exam and after doing all the necessary COVID-19 checks and sanitation, the security staff proceeded with validating my identity documents. For me, they required two identity documents. My government-issued ID card and a driving licence were sufficient. I was then asked to wait while they set up and sanitised the testing area. When they were done, they allowed me to start early as nobody else was writing. Before starting the exam, you are presented with Microsoft’s Terms and Conditions, and the Non-Disclosure Agreement which you must accept before proceeding. You are then presented with a survey about what you feel your skill level is in various areas, and then finally, you are presented with the actual exam. I was provided with a whiteboard and marker to take notes during the exam as you cannot take your own notebook / pen in. I did not have a need to use it though. Once you are finished with the exam, you can review the questions and submit feedback to Microsoft on any of the questions if you feel you want to. When you are satisfied with your answers, you can finish the exam and you are presented with your result. Hopefully, it is a pass!
As soon as I had turned my phone back on again, I had received an email confirmation from Microsoft regarding my result. When I signed into the Microsoft Learn portal and went to Certifications, I could download the certificate, signed by Satya Nadella.
As you can see, it is possible to learn and write the exam within 3 weeks, but it took a lot of my free time. I had to dedicate most of my evenings and weekends to preparing as well as cancel a golf outing with some friends to make time to study. It was also incredibly stressful getting all the content into my head, especially for areas that were completely new to me. The practise tests really help you to understand what you do not know. If you are short on time, I would recommend skipping Microsoft Learn, using Pluralsight directly, maybe on 1.5x speed with earphones plugged in all day, listening while doing other tasks that do not require much concentration, such as house chores. Replay videos if you do not fully understand what was covered. Then, go do practise exams to see where you are not proficient, learn some more and do another practise test, and repeat. Make sure you do not learn the answers as the practise tests will only cover the same content as the exam but will not be the actual exam questions.
Finally, Good luck!