Introduction
After deciding to focus on Infrastructure as Code (IaC) as my next challenge, I wanted to put my learning to the test. Yesterday, I managed to clear the Hashicorp Terraform Associate exam. The purpose of this post is to share my journey, experience and tips on this certification.
My Technical Background
I have worked in IT Infrastructure for the last 17 years. I have a strong understanding of infrastructure and in the last 5 years, I have been heavily exposed to public cloud services: Microsoft Azure. This has involved standing up environments from 10 to 500+ resources.
I use Powershell to automate a lot of my tasks and have dabbled in ARM templates too. That being said, automation on a medium to large scale was not something I was particularly comfortable with. I chose to learn Terraform mainly because I’ve heard good things about it and my employer heavily uses it for their projects (that helps with the motivation!).
How to Study
When embarking on any exam, I always require a syllabus. IT certifications are no different. I religiously follow the core topics and that’s what forms the basis of my notes. Please see below for a list of study materials to get started:
- Terraform Study Guide – This is the official Hashicorp Terraform study guide. I found that this was the best place to start and get familiar with the exam objectives.
- Sample Questions – Once you’ve gone through the core topics, I would go through the exam sample questions. I overlooked this step and only checked 2 days before the exam. I realised that the exam will expect you to type in commands on some questions and you won’t be given a multiple-choice option! This helped me mentally prepare otherwise it would’ve been a bit of a surprise on the day.
- Exam Review – Finally, take the time to go through the exam review to ensure you have covered all of the topics.
- Practice Tests – This is crucial for my learning and after doing a lot of research, I found that Bryan Krausen on Udemy had some detailed tests. The answers and questions always change order which keeps you on your toes, which was a nice touch.
- Demo Environment – I registered a free Azure account and treated that as my lab environment. I worked through the learning exercises on the Hashicorp site. It was important for me to apply my learning with the tool and see the commands in action.
Study Time
Terraform and IaC in general was a new concept for me. It didn’t help that I’ve had no prior exposure. As a result, I spent around a month studying, ranging from 30 mins – 1 hour a day. This was more than sufficient to get an understanding of Terraform.
Pitfalls & Tips
I feel that following study guides and practice exams were not enough to prepare me for the exam. I’ve read that some people only needed 4 days of studying with no prior experience of Terraform and cleared the exam. It’s certainly possible, but it was different for me.
I needed to apply my learning in a lab environment. Modules in particular was a concept that took me some time to get familiar with. It didn’t help that the Terraform tutorials use AWS in the examples. This was problematic, as I exclusively use Azure only. I had to branch outside of Hashicorp learning and utilise the following materials to improve my understanding of modules:
- Youtube Tutorials – There are a few Terraform module tutorials on youtube, but they are outdated using older versions of Terraform. But it still helped form an understanding and was linked to Azure.
- Terraform Public Registry – You can access many public Azure modules on the public registry site. Here you can download them from GitHub and inspect the actual code which helps massively.
- April Edwards – April is a Terraform advocate who also explores best practices. Her site has some great material and I would recommend checking it out.
Summary
The Terraform Associate certification is a fantastic option for those that want to learn about IaC. In summary, if you are looking to embark on this journey and you have no prior experience, the key takeaway I would like to share is that you need to get deep into the code. This was only possible for me by writing modules and configuring my remote backend in my lab environment. I hope this helps. 👍
Mohnish , thankyou for sharing your journey. I am currently doing my exam and I am an Azure guy so this has been really helpful since all stuff seems to be geared towards AWS. I have managed to find some courses with Azure on Udemy also. Regards Sunny
Glad to hear it. I know, it’s been so frustrating finding up to date Terraform courses which focus on Azure. But the material that does exist, uses outdated syntax so you’re left guessing and adapting the code. There’s nothing like getting stuck in and trying things for yourself though. Good luck with the exam, all the best.