Introduction
I started using Terraform somewhere in 2018, but very limited usage as I thought it is just another tool for provisioning infrastructure and other services – or a variant of Vagrant; and I never expected that Terraform will grow in such way that, most of the organizations prefer to use it, especially when they have multi-cloud architecture.
So, I have decided to explore more by converting our Ansible and Vagrant based projects to Terraform configurations; yes still using Ansible inside as provisioner. And later I decided to sit for HashiCorp Certified Terraform Associate exam, which is the official Certification program conducting by HashiCorp. So, this is another review or preparation kind of stuff for Terraform Certification Exam as I received few queries on the same and thought to add a note here.
Where to Start ?
Good question… if you are very new to Terraform, it is highly recommend to go through the Get Started documents and Introduction to Infrastructure as Code with Terraform. This will give you the basic idea about Terraform and the use cases. Terraform associate exam is a foundation level certification and it will evaluates your knowledge in core concepts in Terraform OSS as well as Terraform Cloud/Enterprise.
I am not promising, but I will try my best to publish a video on this later. You may consider subscribing to this YouTube channel.
Details of Exam
Item | Description |
---|---|
Method | Multiple Choice Questions Multiple Answer Questions True or false, etc |
Format | Online Proctored |
Duration | 60 minutes |
Cost | $70.50 USD (plus locally applicable taxes and fees) |
Language | English |
Expiration | 2 Years |
Preparing for Exam
Okay, since you are here to see what is the best course to attend before attending HashiCorp Certified Terraform Associate exam, I will say you must have a look at Exam Review by HashiCorp. They have clearly mentioned the topics to cover and the reference documentation & guide to follow. Below are the main topics; make sure you cover all items under the topics.
- Understand Infrastructure as Code (IaC) concepts
- Understand Terraform’s purpose (vs other IaC)
- Understand Terraform basics
- Use the Terraform CLI (outside of core workflow)
- Interact with Terraform modules
- Navigate Terraform workflow
- Implement and maintain state
- Read, generate, and modify configuration
- Understand Terraform Cloud and Enterprise capabilities
Once you finished, its highly recommended to go through the Study Guide for Terraform Associate Certification, by which you will start from easy lessons to difficult one.
Recommended Courses
I realized that, referring official documentation is enough to prepare for Terraform Associate Certification exam, if you have the knowledge and basic hands-on. But if you are really struggling to understand the concepts, then I suggest to follow any courses in online platforms Like Udemy. From my experience, I would recommend the following courses.
- Terraform Associate Certification: HashiCorp Certified by Kodekloud
- Zeal Vora’s HashiCorp Certified: Terraform Associate course in Udemy, which will give a clear picture of Terraform and will help you to prepare for Terraform Associate Exam. Hey, do you know Zeal Vora always publishes coupons for his course in Udemy and you may find it here – Coupon Codes for KPLABS courses.
Looking for Exam Question Samples ?
You have official reference to understand the types of questions coming for Associte Exam; refer Sample Questions – Terraform Associate Certification. Yes, if you search online, you will get a lot of sample questions and links; you may give a try on those to get more comfort and understanding of exam pattern. I do not have any such links to recommend right now.
Registering for Terraform Associate Certification Exam
You can register exam from HashiCorp website and it will redirect to the to questionmark.com, where you login with your GitHub auth and purchase exam.
Once you purchased exam, you can schedule it for anytime as you need; depends on available slots. Let’s say you scheduled an exam but you are not confident to attend or need more time to prepare; no worries, you can cancel the exam and reschedule it anytime from the portal.
Note: Make sure you update your profile properly with your timezone and book exam slot accordingly.
IMPORTANT NOTICE : HashiCorp is moving to a new exam platform partner in October 2020. Exams purchased today must be scheduled and taken by September 30th, 2020. If you cannot take the exam by September 30th, please do not purchase an exam or redeem a voucher. Instead, go to hashicorp.com/certification and sign up to be notified when and how you can access the new system. If you have already purchased your exam, please see this FAQ for how this change will impact you.
(Source : HashiCorp)
Exam retake policy
HashiCorp is not offering FREE Retake for exam but you can buy and attend the exam again; but recommended that you wait at least 2 weeks before retaking.
Rules to follow during Exam
If you have attended any online/remote exams earlier, rules are almost same.
- Make sure you are alone in the room while attending the exam
- Follow clean desk policy and remove any unwanted items
- Make sure you connected your laptop/desktop to power. (No tablets are allowed as per my understanding)
- Keep you mobile phones away (and make them silent)
- No external monitors allowed (Not needed anyway)
- Webcam, speakers, and microphone must remain on throughout the test.
What should I prepare for the exam day ?
- Download and Install latest Zoom client
- A web browser (any compatible; refer your exam email if any clarification needed)
- A government issued photo ID such as driver’s license or Passport.
Terraform Associate Certification Exam Tips
Yeeeeeay, at last you reached a position where you will read this article very carefully. To be honest, tips are just tips and still its your responsibility to prepare well as per the guidelines. As wise men says, No short cut to victory.
#1. Do hands on as much as possible
Hey wait… I heard it is a multi-choice/answer type exam and no hands-on involved ? Yes, no hands-on or performance measurement involved in the exam. But, some of the questions are really tricky and you will understand the difference of syntax and options only when you do hands-on; at least once. There might be answers very similar in look but with small changes; beware of them.
So install Terraform and start practicing Terraform CLI from your machine.
#2. Understand the syntax difference in Terraform versions
There are some difference in syntax from version 0.11 to 0.12+; so read Terraform v0.12 upgrade documents for details.
For Examle,
# Example for older versions of Terraform; not valid for v0.12
example = ["${var.any_list}"]
# The upgrade tool is able to recognize most simple usage of this pattern and rewrite automatically to just refer to the list directly:
example = var.any_list
#3. Understand Terraform OSS vs Terraform Cloud vs Terraform Enterprise
Read and understand all features and differences between different variants of Terraform offerings. If you ask me, it is not a good idea to memorize it, instead try to understand and apply some logic, as we all know what are the requirements in enterprise versions of a software etc. Read more at Compare Offerings.
#4. Read and Understood Provisioners and Types
There are multiple types of provisioners – local provisioner and remote provisioners. Also understand Creation-Time Provisioners and Destroy-Time Provisioners.
#5. Understand Input Variables and Precedence
As you know, you can pass variable and values to Terraform config in multiple ways, remember the Variable Definition Precedence and options. Terraform loads variables in the following order, with later sources taking precedence over earlier ones:
- Environment variables
- The terraform.tfvars file, if present.
- The terraform.tfvars.json file, if present.
- Any *.auto.tfvars or *.auto.tfvars.json files, processed in lexical order of their filenames.
- Any -var and -var-file options on the command line, in the order they are provided. (This includes variables set by a Terraform Cloud workspace.)
#6. Understand Reserved Variable Names
There are some situations you will find errors with variable names, because Terraform reserved few names and you cannot use that for variables. You may have a look at Reserved Variable Names.
#7. Read and Understand The Core Terraform Workflow
You should understand the core workflow in Terraform – Write, Plan and Apply. And also the difference when you are working as Individual as well as Team.
#8. Plan your time during exam
Don’t get panic during exam, 60 minutes and 57 questions is not a bad combination. There will be simple questions which you can answer withing seconds and use the buffer time for answering complicated or confusing questions. DO NOT stuck on a question; you can mark it for review and proceed with next question. You will get chance to review all questions one by one before ending exam – in 60 minutes.
#9. Understand Immutable Infrastructure Concept
Read and understand about immutable infrastructure and how Terraform is contributing to this topic. Good reads,
References
- An Introduction to Terraform
- Terraform Interactive Hands On Lab
- Terraform Beginners Track – (collabnix – GitHub)
- 250 Practice Questions For Terraform Associate Certification
- Using Ansible to automate app deployment on Terraform-provided infrastructure
- Writing Ansible Playbooks for New Terraform Servers – (victorops.com)
- Terraform Course – Automate your AWS cloud infrastructure (freeCodeCamp.org)