I do not have a lot of experience taking professional certification tests, so I cannot compare whether this test is easy or hard. However, if your concepts on IaC are clear and you have hands-on experience on Terraform (over three months in my case) in provisioning and managing resources, this certification is a good status check.
I have been dabbling with the concept of IaC -procedural or declarative and how to make them modular and idempotent for a few years now. Being unaware of Terraform, I used Powershell to achieve the same objective of idempotency. Scripting idempotent modules allowed me to have more flexibility in choosing how to apply infrastructure changes. This approach is procedural. Terraform, on the other hand, is declarative. A good understanding of the underlying principles of IaC was critical in my case – code in a source control repository, automated deployments, repeatable process, reusable modules, and document architecture, to name a few.
If you are new -my advice would be – do not be in a hurry to gain this certification. A certification is a milestone in your journey and not a destination. I would also like to suggest to utility a certification learning path as an opportunity to learn more about the underlying technology that we are studying.
Since we (primarily) use Terraform to provision resources in the cloud -AWS, Azure, and GCP it is necessary to understand cloud technology before learning Terraform.
There are two pre-requisite to learning Terraform hands-on: a good understanding of cloud and IaC principles. The more time you spend understanding the concepts, the less time you will spend when you come across the various features on Terraform.
With that out of the way, I think the first place to start is at Get Started on Hashicorp Learn.
Select a learning path depending on your choice of cloud provider -AWS, Azure, or GCP. There is also a learning path under Get Started as Terraform Cloud. I would suggest taking that too.
The purpose of these Get Started learning paths is not to make you an expert in Terraform but to make you curious to know more about the tool. After these two learning paths, you should have an appreciation of what terraform helps us achieve. That was when I got a lot curious and wanted to know more about this incredible tool.
After that, I reviewed the Prepare for certification track. This track shares information related to the study guide, exam review, and sample questions. Hashicorp has done a remarkable job at making the certification objective precise with the study guide and exam review. Understanding the concepts discussed here, along with hands-on experience of Terraform, is sufficient to be certified.
Regarding study resources, I went with one of the best instructors on Terraform -Ned Bellavance. He has four courses on Pluralsight, which are good. I studied those multiple times. These courses also came with a skillIQ assessment that helped me evaluate my proficiency on the tool. I also wrote a lot of Terraform configuration (instead of copying) as I was learning. I would change variable names; I would break the Terraform configuration, review the error message, and try to debug on my own. I think there is absolutely no alternative to hands-on. By this time, I was in love with Terraform and curious to know more and more about it.
After having dabbled with Terraform code for over a couple of months and becoming familiar with concepts like -state, workspaces, module, function, plugin, providers, template, lifecycle, import, and remote state, I was ready for the certification test. I then studied the Study Guide and Exam Review for Terraform Associate Certification. A few concepts that I had not explored were Terraform Cloud and Terraform Enterprise. Realizing the gap, I studied those using the references in the guide and exam review document.
From there on, I proceeded to schedule a certification test. The link to sign-up is on the sample questions page. I took an online proctored test at home. All the details regarding the same are provided in the handbook while you are scheduling the test. The result was available immediately after taking the test.
There are a few blogs that people have written to share their experience preparing for the certification test. This post is to share my approach.
Terraform is a fantastic solution to the concept of idempotency in infrastructure as code. And I hope you enjoy working with the tool as you prepare for the certification.
References:
Ned Bellavance’s courses in Pluralsight
Yevgeniy Brikman’s blog on gruntwork
My github repo on Terraform
My acclaim badge