Learning Materials
I used couple of courses by Hashicorp Ambassadors (Bryan and Gabe) on Udemy to learn about Terraform and prepare for the exam.
Course –> https://www.udemy.com/course/terraform-hands-on-labs/ – 15+ hours with hands-on
Practice Tests –> https://www.udemy.com/course/terraform-associate-practice-exam – 6 mock exams
The course was very engaging and the hands-on labs were easy (and not time consuming) to do along. I used my personal AWS login for the hands-on. The 15+ hours are due to lab demonstrations and in few places, the topics were repeated – It is good for reinforcing the core concepts – state management & configurations. VS Code is great for terraform and just remember to automate “terraform fmt” on save.
The course focussed on using Terraform in AWS. If you already have AWS (or any public cloud providers) experience (creating ec2, security groups, ebs, s3 etc), then you can appreciate what Terraform does from Day 1 of your learning. The exam does not ask questions specific to AWS/Cloud Providers and will be focussed fully on Terraform, Benefits of IAC, Terraform Cloud capabilities and core concepts – variables, modules, state management, drift detection etc.
Exam Experience:
When compared to AWS Practitioner exam, this exam topics are less. However, the exam is available only ONLINE and no Pearson Vue option available. I had little challenge in getting my ID verified. I would recommend to have a good webcam with Auto Focus and a room with good lighting. The exam questions and options are straight forward and could be completed within 45 minutes. The result will not have a score and will be sent via email within 24 hours or less. Credly badge will get added as well.
Few questions will be on the cli commands themselves and the commands are easy to remember as well – init, plan, apply . I created this notes for my preparation
IaC Challenges:
Terraform or any IaC could become challenging when more teams are working on the same repository/infrastructure. Maintaining multiple environments with similar resources needs careful planning and collaboration. Terraform workspace and enterprise capabilities could help. Terraform states have to be manged/stored in a reliable storage like S3 with appropriate authorization/permissions and secret management. Modules can help in reducing duplication and promote reuse. The exam covers these topics and pay more attention to hands-on in these topics if you are already working on or planning to use Terraform in your projects.
Terraform Vs Other IaC
I learnt about CloudFormation on AWS first and was thinking why would anyone prefer Terraform over AWS CloudFormation or Azure ARM. I was seeing CloudFormation as native Android approach and Terraform as hybrid-mobile development approach. However on the infrastructure world, hybrid and multi-cloud are so common and Terraform/OpenTofu stand tall with great offerings. I was also shocked to see the number of providers/plugins available for Terraform. Like DockerHub, Terraform has a registry where you can download providers, modules and can even contribute. AWS, Google, Azure and Oracle are active contributors. You can see the entire list here.
IaC is not the destination. It’s just a right step in the GitOps journey.