Overall Satisfaction with Terraform
Terraform is used to automate resource deployment in AWS using scripts. It is used by entire IT to deploy systems in AWS. The automation has saved hundreds of thousands of dollars in time and money. Since there is no manual deployment, there are no errors during deployments and developers can deploy in production since everything is defined in scripts.
- Terraform is a premier IAAS tool.
- It provides modularization and planning features.
- It is platform and language agnostic.
- It is open source and thus has strong community support.
- Terraform is vulnerable when it comes to error handling.
- Often when a terraform job is terminated midway, it leads to an inconsistent state of the deployed resources which needs manual cleanup.
- Terraform is an open source tool and has a related learning curve.
- Deployment to cloud has been made easier.
- Developers do not need to know much, they can just do minor tweaks by changing variables and parameters here and there and manage to deploy to AWS.
- This has resulted in dollar benefits because deployment through the script is error-free compared to manual deployment.
Terraform is open source and has strong community support. It is cloud-agnostic versus competing products like AWS cloud formation, hence has a distinct advantage. The scripts once set up are easy for developers to administer during development, hence during production releases, solution developers can manage the entire process without the need for admins.
Terraform's performance is quite amazing when it comes to deployment of resources in AWS. Of course, the deployment times depend on various parameters like the number of resources to deploy and different regions to deploy. Terraform cannot control that. The only minor drawback probably shows up when a terraform job is terminated mid way. Then in many cases, time-consuming manual cleanup is required.
Terraform is easy to integrate with AWS. We can import existing infrastructure scripts using terraform as well as migrate existing cloud infrastructure. It is extremely easy to integrate terraform scripts with AWS infrastructure. Terraform scripts provides modularity which in itself helps in the reuse of code. Terraform can be integrated other cloud ecosystems as well as different languages.
Terraform is more versatile when compared to cloud formation. It is cloud-agnostic, so unlike cloud formation, it is able to deploy resources in cloud ecosystems other than AWS. The code can be modularized, hence there is ample scope of reuse. It can also be used to deploy apps written in various languages. In short, it makes deployment to cloud a breeze.