Terraform Certification – How I passed

In this blog, I want to take the time to help anyone interested in getting the Terraform Associate Certification from Hashicorp. The test runs abbout 60 mins, has 57/58 questions, and although there is no definite answer to what a passing grade is, I’m betting it is around 70%. The certification itself is pretty young at only about 3 weeks (maybe 4) at the time of writing, so there isn’t a ton of information out there to help you get through the demo. Also, there are a couple pitfalls to keep in mind when you take it. I’m hoping to cover some of these in this blog.

My History

So let’s set one thing straight. I’ve used Terraform for the past year. So right off the bat, understand that I have some concept on how Terraform works. The providers I have focused on are for Azure, vSphere, and AWS. That being said, the exam goes over far more than just open source Terraform; Terraform Enterprise and Cloud are both covered in the exam. I’m hoping that if you’re reading this, you’re not like me and have not used up your 30 day trial. I also went into this exam thinking it would be easy, and 30 questions into the exam I knew I failed, then the next 20 questions I knew cold. So there are different levels to the questions.

Try Everything

Ever store state in another location? You should do that. Ever import brownfield resources into a terraform file? You should do that. Doing the basic fleet deployment and management is great for getting your hands dirty, but you need to go even deeper than that. One thing to keep in mind as with every certification out there, it’s not about what you have done in a starter area, but about knowing further what you can do with the product. For instance, I worked with Azure, AWS, and vSphere. Guess how many questions I got about Google Cloud? A LOT. All that to say, if you haven’t tried something with Terraform, TRY THAT. Knowing your plan/apply/destroy is great, but it’s time to take the kid gloves off and dive deep.

Resources

Here is a path that may help you go from zero to certified. I learn best by doing the actions, not just the book, so that is the perspective through this blog. If you learn differently, then follow yourself. This will still help, but I put a lot of weight on the “doing”.

Ok, let’s talk about the resources I used, as well as what I believe would be a “guide” to help you pass.

Starting out

The guide at Terraform website is broad reaching on the subject to make sure you know the different concepts. Go to terraform.io and do the beginning courses. It will help you get from not having Terraform installed, to plan/apply/destroy resources with any provider. Get a developer account for every cloud that you can, and do the initial steps for the providers. Azure provider takes a lot more resources to deploy a machine than AWS, and vSphere is much different than all public cloud. Get used to those differences, because a question regarding a different provider may mess you up. Now I’ll admit, I’m get caught on the minutia of the questions far too easily. The “Gotcha” questions are my downfall. So that’s why I’m saying to not just book learn it, but do it.

Intermediate

I used Pluralsight for a good amount of my next training. Ned Bellavance @Ned1313 has a great starter course there that really helps you learn how delve a bit deeper from the terraform beginner courses. Ned will start moving you from the basic plan/apply/destroy steps into a deeper level consuming multiple resources, and starting to discuss adjusting and managing state. These are all VERY key for the test, so, the best thing you can do here is to perform the steps that he does. Learn what fails, how to troubleshoot and adjust as necessary. Also, Ned has a guide for the certification here which may help you as well.

Advanced – Deep Dive

I’m not sure if there needs to be additional steps in order to pass. If you want to make sure that you will pass, I highly suggest you take a look at Neds Terraform Deep Dive in Pluralsight. This will take things even one step further and start adjusting additional resources, bringing in brownfield resources, and using the import command. The course is about 3 hours, but it will help you grow and you can perform the steps that he does (Ned has a Git repo with the needed config files to help you do just that). At this point, you can start taking some practice tests. Udemy has some practice questions by Bryan Krausen (@btkrausen) that will give you a better understanding on the type of questions you may deal with. Keep in mind that the types of questions on the test include multiple choice, multiple answer, and short answer (type in the proper code), so know that these just help you gauge where you are and what you should review. It is NOT a goalpost to say you are ready to take the test if you pass the practice tests. As Bryan states in the course, “It’s to help you gauge where you are. If you know the concepts behind the questions you’re good for the course.” Basically, if you answer the question wrong about Terraform “state” then you should go back, and play around with state some more. Knowing how to answer the question in the practice test WILL NOT help you pass. It will only notify you that you should put in more time reviewing on that topic.

Take the test

At this point I would say you could take the test. Of course take a peek over Terraforms Guides on the certification and make sure you know each thing. On the day of the test, make sure to sign in 15 minutes before your scheduled test, because you may have some issues getting a proctor, or have some browser issues. I normally use Firefox and ran into a nightmare. My test was scheduled for 5, and I logged in at 4:45, but I ended up taking the test around 5:50. So, I would say to make sure your requirements are met before, and also, don’t use Firefox. Chrome, seemed to work best.

Good Luck! If you pass please let me know!