The cloud, something that used to be a buzzword only a few years ago, has become the basis of building software in the late Holocene (better known as the current point in time), unless you found this article in the distant future, lying in a backup M-Disc somewhere, buried deep underground when a new geological age has emerged.
Cloud computing has come to a point where, instead of just providing a server infrastructure and hiding all the cable work that companies needed to do in the past, it offers a modern development interface for software engineers and all sorts of IT professionals. There are several cloud providers nowadays, and an endless number of small companies providing tools and SaaS applications.
why get a cloud certification?
Cloud certifications might sound like something you only do to gain some exposure and brag about on LinkedIn, but learning for certification can also provide you with the opportunity to go into the nitty-gritty details of certain topics, and gain a more general understanding of the different tools and services that are at your disposal while developing your next breakthrough app. If you have done the AZ-900 Azure Fundamentals exam, have at least a few months of experience working with Azure, and would like to get some more in-depth knowledge about how you can leverage Azure services to develop and deploy your applications, getting the AZ-204: Developing Solutions for Microsoft Azure might be a logical next.
The AZ-204 is geared towards developers and consultants working on enterprise-grade software development using Azure. As more and more traditional companies are moving to the cloud, knowing how to develop and deploy applications for it, is an invaluable skill. Personally, I went from only having a rough understanding of certain parts in Azure that I had used in projects, to understanding a wide array of different services and how to configure these and develop code for them.
For example, if a client needed only some extra data processing logic to their existing software, which would be triggered via HTTP, and only from time to time while trying to be cost-effective, I understood that using Azure Functions could be the best solution. But depending on how many steps the data processing should go through, and if it should work in parallel with other functions, or perhaps be scheduled, I now knew that there were many ways to orchestrate, trigger, and chain together these Functions.
Learning for the AZ-204
The AZ-204 is not an easy certification to get. It’s an associate-level certification and requires a bit more learning and even experience with the Azure platform.
While everyone learns at a different pace and can accommodate more or less learning in their daily schedule, I would advise not rushing this one and taking plenty of time to prepare for it. This way, more of the material will stick and be available to you in your day-to-day work. Personally, it took me about one and a half months of studying, on a semi-daily basis, while working a full-time job, to nail the exam. My first attempt, after studying for only about two weeks, failed spectacularly 😢.
Learning Material:
There are lots of resources, YouTube videos, and online courses for this certification, so it’s easy to be overwhelmed. Below you’ll find my top learning resources.
- The MS learn learning path is free and can be found on the exam page, where you can find other helpful materials like a pdf with an overview of the topics covered and the percentages of each topic in the exam. This is, to me, the best way of starting the exam preparation. I would go through all the modules and take notes about each section, which I could review later. The notes are also a nice-to-have for your day-to-day work with Azure since you can quickly look up things. It is important to not skip any sections of the MS Learn modules and to take notes in a detailed manner, since the questions that come up on the exam, oftentimes cover small details mentioned in the modules. Some of the material and questions that come up in the exam are not even directly covered in the MS Learn modules, but rather in the “further reading” links provided, so be sure to also check these out.
- Do these labs which are maintained on this GitHub repository. They provide you with the opportunity to get your hands dirty and reinforce the concepts learned on the MS learning path. You will need an Azure subscription but you can get one for free with a certain contingent of Azure resources that you can use.
- Watch one of the cram videos available on YouTube, like this one, on 2x speed, and feel like you are the captain of the Enterprise who just gave the command to initiate warp drive.
- Do practice exams on measureup! While studying the above material will get you a long way, the format of the exam, the type of questions, and the time pressure are things you should get acquainted with before attempting it. There’s not much time between the questions, perhaps two minutes per question, depending on how long it took you to finish the case studies. Try to get 90% plus consistently on the measure-up exams, then you can feel comfortable that you’re most likely ready for the exam.
Some of the material is free and some you need to pay for, but starting with the free material is more than enough to cover the material and get a good grip on the topics. Training for the exam, in a format that is similar to the actual exam, is, however, quite necessary. The measure-up exams are a bit costly but well worth your buck. Try not to rely on online exam dumps and free practice exams, since there’s a lot of incorrect information on there, and one could say that’s not an ethical way of learning 🤔.
Exam topics:
The exam is divided into five functional groups, each covering different topics and having a different percentage weight.
Develop Azure compute solutions (25–30%)
This is one of the bigger topics and is focused on Azure App Services, Azure Functions, container images, and ARM templates.
The App Service section focuses on understanding how to deploy (via CLI or PowerShell) and configure app service and app service plans. Practicing the different shell commands is important here!
Azure Functions is a very popular and code-heavy topic. Knowing how to code or read and understand an Azure Function; the types of triggers, bindings, stateful workflows, and durable functions, is paramount. Here, I would recommend practicing the labs and doing small examples on your local machine for each type of function.
I found that the ARM template section is not covered so well by the material in MS Learn, and you have to know how to write a template or understand how to change different parts of it. For this I would recommend going deeper into the dedicated ARM template sections of MS Learn, and the further links. Being able to write and interpret Dockerfiles is also important for the ACI section.
Develop for Azure storage (15-20%)
This section is concerned with interacting with Azure Storage blobs via shell commands, understanding tiers and lifecycles, and how to configure these in lifecycle policies via JSON files. Interacting with Azure Storage containers via .NET code also comes up often.
Understanding Azure Cosmos DB will take more time if you are unfamiliar with this topic. There are lots of concepts, like the different APIs, use cases, consistency levels, request units, partitioning keys, etc. Understanding pre- and post-triggers in the form of JavaScript functions is also important.
Implement Azure security (20-25%)
Topics like Azure Active Directory, managed identities, service principals, and permission scopes are covered in this section. Identity can be quite confusing, so I would advise getting a grip on the details of each concept. Interacting with Microsoft Graph, Azure KeyVault, secrets, and certificate management are also big topics in this section.
Monitor, troubleshoot, and optimize Azure solutions (15-20%)
Content delivery networks and Redis cache are topics that I skimmed over in my first attempt, but code examples with these come up a lot. Azure has lots of different logging services, and understanding the difference between them can be tricky. Writing KQL queries is also something that comes up in the exam, I would recommend reading up on the dedicated material in the link provided above.
Connect to and consume Azure services and third-party services (15- 20%)
Azure Event Hubs, Event Grid, and Service Bus are all topics to learn about, since a lot of more recent projects are moving to microservice, distributed type of architectures to make use of cloud capabilities, and developers will need these tools in their day-to-day work. APIM was an easier topic and seemed like a less complicated offering.
Closing thoughts:
Before embarking on your journey to get the AZ-204, or any cloud certification for that matter, ask yourself a few things:
- Why are you getting the certification? I always say there are two types of learning: learning to get a shiny piece of paper, and learning for the sake of knowing more (and additionally having a shiny piece of paper 😏). I find the second type to take more time but have more value long term.
- Are you prepared to take the exam? If you don’t feel fully confident that you can take it, then perhaps it’s best to push it by another week, unless your budget doesn’t suffer too much from attempting more than once!
- Do you have the proper learning strategy? Finding a good balance between getting the theory down, and knowing how to do the coding parts, is very important. Focusing too much on only one will most likely lead to suboptimal results.
All in all, learning for the AZ-204 can be a bit challenging, due to the fairly large scope of the material and extensive coding parts, but it is definitely worth it if you’re planning to stay up-to-date and relevant with your skills as a developer.