Terraform is an open-source tool used to securely and efficiently preview, configure, and manage cloud infrastructure and resources.
Overview
HashiCorp Terraform is an automatic IT infrastructure orchestration tool that can use code to manage and maintain IT resources. The easy-to-use Command Line Interface (CLI) of Terraform allows you to deploy configuration files on Alibaba Cloud or any other supported cloud and control the versions of the configuration files. The CLI provides code for infrastructure resources such as VMs, storage accounts, and network interfaces defined in the configuration files that describe the cloud resource topology.
Terraform is a highly scalable tool that supports new infrastructure through providers. Terraform allows you to use a simple template language to easily define, preview, and deploy cloud infrastructure on Alibaba Cloud. You can use Terraform to create, modify, and delete cloud resources, such as ECS instances, VPCs, ApsaraDB for RDS instances, and SLB instances.
As the first cloud service provider in China to integrate with Terraform, Alibaba Cloud has already provided more than 163 resources and 113 data sources. The Alibaba Cloud provider can be used to provision more than 35 Alibaba Cloud products in such categories as compute, storage, networking, load balancing, CDN, Container Service, middleware, access control, and database service. The provider meets the requirements of most major customers for automated migration to the cloud.
Starting from Terraform 0.12.2, Alibaba Cloud OSS becomes available as a standard remote state backend that can store state remotely, improving state security and collaboration efficiency.
To provide developers with an out-of-the-box experience, Alibaba Cloud provides a variety of modules and examples for products in such categories as compute, storage, network, middleware, and database service. Feel free to contribute your own modules.
Benefits
- Multi-cloud infrastructure deployment
Terraform is a popular tool of choice for multi-cloud scenarios, where similar infrastructure is deployed to Alibaba Cloud, additional cloud providers, or on-premises data centers. It allows developers to use identical tools and configuration files to manage infrastructure resources for different cloud providers.
- Automated infrastructure management
Terraform can create configuration file templates to define, provision, and configure ECS resources in a repeatable and predictable manner, reducing human errors during deployment and management operations. In addition, Terraform can deploy the same template multiple times to create identical development, testing, and production environments.
- Infrastructure as code
With Terraform, you can use code to manage and maintain resources. Terraform stores its own copy of the current state of your infrastructure, so that you can track changes made to different components in the system and share these configurations with other users.
- Reduced development costs
You can reduce costs by creating development and deployment environments on demand. In addition, you can evaluate such environments before making system changes.