Nervous & Getting Started with Infrastructure as Code (IaC) and Terraform Fundamentals!!
Before Infrastructure as Code, managing infrastructure was a time-consuming process with a lot of manual work which leads to inconsistencies and slow deployment.
IaC brought an innovative and upward shift by automating infrastructure deployment through code. IaC not only helped teams achieve faster result but also reduced the errors.
Amongst all IaC tools present in the market such as terraform, crossplane, pulumi,
Terraform is the most widely used IaC tool, and here’s why:-
1. Cloud flexibility- With the help of Terraform, you can manage infrastucture across AWS, azure, GCP, and even on-premises, all with the same configuration code. This makes it ideal for organizations using multiple cloud providers or planning migrations. It's like a one stop solution for all the infra deployment.
2. Extensive ecosystem- Terraform’s community and HashiCorp have built an extensive library in terms of providers and modules, which covers a wide range of services. This means you can find pre-built modules to reduce the effort and utilize that time for better infrastructure design. This ecosystem offers a documentation which can be used for reference while creating resources.
3. Declarative syntax- Declarative approach means it lets you define what the infrastructure should look like, making code easy to understand and maintain.
4. State management- Terraform state file keeps track of what your infrastructure is creating, allowing it to identify differences between desired and current states, which simplifies updating and ensures infrastructure being consist.
5. First plan then apply- Before applying changes, terraform allows you to preview them with the “plan” cmd. which gives a rough approach about how your infrastructure will look like (like a dry run) , ensuring visibility and minimizing unexpected modifications.
6. Human-readable code- Terraform uses HashiCorp Configuration Language designed for defining infrastructure in a human-friendly way. The code written in terraform has a less complex structure and language which can be understood by various departments involved in the project.
After alot of disorientation on whether to start AWS because it is widely used CSP or staying focused with azure because I started my journey with this and wanted to make sure I focus on one CSP and have a good command on that, finally landed to this decision of working more on azure and have a good command in one rather than having bits and pieces of both, I have started working on my skills with terraform and more project based learning to help me better understand these technologies.
Consistency is hard and posting my daily learnings here will help me being consistent because it keeps me accountable and loosing track will be difficult, keep learning!
Subscribe to my newsletter
Read articles from Divyanshi Singh directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by