Terraform - Interview Question Series
Tags: aws, terraform, interview, devops
Published: 2023-11-14 13:22:22

**

## Please find the list of interview question on Terraform
**

**Question-1: What is Terraform and what is it used for?**

Answer: Terraform is an open-source infrastructure as code (IAC) software tool used for provisioning and managing cloud infrastructure, on-premises infrastructure, and other infrastructure resources in a consistent and efficient manner.


**Question-2: What are the key features of Terraform?**

Answer: Declarative Configuration: Terraform uses a declarative syntax to describe infrastructure resources, making it easier to manage complex infrastructure and ensuring consistency.

Resource Management: Terraform provides a unified way to manage multiple resources, such as virtual machines, DNS entries, databases, and more.

Versioning and History: Terraform maintains a history of changes and versions, making it easier to collaborate and roll back changes if necessary.

Multi-Cloud Support: Terraform supports multiple cloud providers, including Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure, and more.

Modular Design: Terraform allows users to define reusable components, making it easier to manage complex infrastructure and promoting consistency and organization.

**...**   [Visit my blog on Interview Question Series](https://devdivetech.blogspot.com/search/label/Terraform-Interview) **...** 

**Question-59: What is the difference between Terraform and other infrastructure as code tools such as Ansible and Chef?**

Answer: Terraform, Ansible, and Chef are all popular tools for infrastructure as code, but they have different focuses and use cases.

Terraform focuses on provisioning and managing infrastructure, providing a high-level description of the desired state of your infrastructure, and automating the process of creating and updating infrastructure to match that desired state. Terraform is best suited for tasks such as creating and managing cloud infrastructure, networking, and storage.

Ansible, on the other hand, is focused on configuration management and deployment, providing a way to automate the deployment and configuration of software and applications. Ansible is best suited for tasks such as deploying and configuring applications and services, and managing the configuration of servers and other infrastructure components.

Chef is another popular tool for infrastructure as code and configuration management, providing a way to automate the deployment and configuration of software and applications. Chef provides a more extensive and flexible automation framework, but requires a more significant learning curve and investment in terms of time and resources to use effectively.

In short, Terraform, Ansible, and Chef are all valuable tools for infrastructure as code, but have different focuses and use cases, and can be used together in a complementary fashion to manage infrastructure and applications more effectively.


**Question-60: How does Terraform handle rollbacks in case of failures during infrastructure changes?**

Answer: Terraform provides a "plan and apply" approach, which makes it easy to preview and control changes to your infrastructure before they are actually made. This helps to reduce the risk of failures during infrastructure changes.

In the event of a failure during an infrastructure change, Terraform provides several mechanisms for rolling back changes:

Terraform state: The Terraform state file keeps track of the current state of your infrastructure, and can be used to revert changes in the event of a failure.

Terraform destroy: The Terraform destroy command can be used to revert changes made by a Terraform apply, removing the resources that were created.

Terraform taint: The Terraform taint command can be used to mark a specific resource as "tainted", which indicates to Terraform that the resource should be destroyed and recreated the next time Terraform apply is run.

In addition, Terraform provides state management features, such as state backup and state import, which make it easier to manage and maintain the state file over time, and to revert changes in the event of a failure.

In short, Terraform provides a flexible and comprehensive mechanism for handling rollbacks in case of failures during infrastructure changes, making it easier to ensure the stability and reliability of your infrastructure over time.

**...**   [Visit my blog on Interview Question Series](https://devdivetech.blogspot.com/search/label/Terraform-Interview) **...**