Introduction
Terraform has evolved and established itself as the defacto tool for implementing IAC (Infrastructure As Code) across cloud and other service providers. The Google trends graph is a testament to it’s growing popularity.
I have been using it for the last few years for my projects and it’s a great fit in most situations.
I had always read about their certification, but never got around to dig deeper. Until last week. Decided to have a go at it, to validate what I knew about it, and find out, what I didn’t. After about a day’s preparation I was able to pass the exam and earn my badge. 👏
Let’s discuss the exam format first.
What is the exam like?
The exam duration is 60 mins, and you are expected to answer 60-odd questions which are a mix of multiple-choice, true-false, fill-in-the-blanks kinds. The fill-in-the-blank questions were new to me but I quite liked them.
You are expected to login atleast 15 mins prior to your scheduled time and a proctor will inspect your surrounding before setting up the exam. The 60 min window starts from when you launch the exam. So don’t worry if your login process takes a bit longer. Mine lasted for around 20 mins in total.
The result will be shown on the screen as soon as the test ends. You can expect a detailed scorecard in your inbox within the next hour.
What kind of questions to expect?
As per HashiCorp, the exam objectives are as follows -
- Understand infrastructure as code (IaC) concepts
- Understand Terraform’s purpose (vs other IaC tools)
- Understand Terraform basics
- Use the Terraform CLI
- Interact with Terraform modules
- Navigate Terraform workflow
- Implement and maintain state
- Read, generate, and modify configuration
- Understand Terraform Cloud and Enterprise capabilities
How did I prepare?
IF you have been using Terraform regularly, the best place to start is the Exam Review Guide. It lists out all the concepts you need to know along with the documentation and tutorial links that you can go through. I reviewed the documentation and tutorial links to double check my understanding.
Once I was done with the exam guide, I had a look at the Sample Questions.
Next, I followed one of their getting started guides (AWS), to go through the steps and workflow. This helped brush up the knowledge of terraform
cli and associated commands.
I then browsed through the documentation to go over topics I did not feel confident about. In my case, it was workspaces.
I did not buy any courses or prep materials from the usual suspects as I did not feel the need after the above preparation.
Anything else?
- HashiCorp’s YouTube channel is a great resource to understand and get a feel of it if you haven’t worked with it before.
- This is an excellent video from FreeCodeCamp that covers most of the basic stuff.
- Start with the Study Guide if you are new to Terraform.
Tips!
I recommend to prepare these topics really well as a majority of the questions will touch upon these in some form.
Variables - You should know about how to declare them, use in expressions, order of precedence etc. Docs link
Modules - This is one of the most important topics to know. You should know when, how, where to use them, as well as how to refer their outputs/variables/state etc. Docs link
Expressions - This is the other important topic to know. Since
terraform 0.12
a variety of expressions are now available for use likefor_each
,for
,dynamic_blocks
etc. Be sure to read through it and understand the different requirements for each. Docs linkState - You should understand it thoroughly - why is it necessary, how to use it, manipulate it, what commands affect it etc. Docs link
Terraform CLI - All the different commands like
terraform init
,terraform fmt
,terraform taint
,terraform plan
,terraform apply
,terraform show
etc. including their uses and options. Docs linkTerraform Cloud and Enterprise - Mentioning it here as you will get questions about them. You may not be using it or even need it while working with the open-source version, but don’t miss this! Docs link
Conclusion
To sum up, if you have been working with Terraform in some way or form, it would take you about a day’s study to be prepared.
If you are just starting out, I would suggest to get some hands-on experience with Terraform first before attempting the exam.
Good Luck! 👍