All Products
Search
Document Center

:Provider

Last Updated:Oct 17, 2025

Having grasped the fundamentals of Infrastructure as Code (IaC), let's now turn our attention to Terraform.

What is Terraform?

Terraform, developed by HashiCorp, is a leading open-source IaC solution designed to help you provision and manage Alibaba Cloud resources through declarative configuration files.

With Terraform, you can efficiently manage core infrastructure components—such as virtual machines, containers, storage, and networks—as well as higher-level configurations like security group rules, DNS records, access controls, and select SaaS offerings.

What sets Terraform apart is its use of HashiCorp Configuration Language (HCL), a human-readable, domain-specific language for defining cloud resources and services. When you run Terraform, it parses these configuration files to generate an execution plan, outlining the proposed changes to your infrastructure. This plan can be reviewed, modified if necessary, and executed to ensure consistent, predictable resource management.

For Alibaba Cloud, a dedicated Terraform Provider is available, enabling O&M engineers to describe, automate, and orchestrate cloud resources seamlessly. This provider allows you to version control your infrastructure, streamline deployment workflows, and improve overall governance across your cloud environment.

Features of Terraform

Terraform offers a robust suite of features designed to streamline cloud resource management:

  • Multicloud and multi-API support: Terraform integrates with all major cloud providers—including Alibaba Cloud—as well as other platforms via their APIs, such as GitHub and Kubernetes.

  • Open core architecture: Available in three editions, Terraform ranges from self-hosted deployments to fully managed offerings, each with options for enterprise-grade support.

  • Extensive community: A vibrant ecosystem, complemented by a public registry, allows users to discover and share providers and modules—including those tailored for Alibaba Cloud.

  • Infrastructure lifecycle management: Terraform enables you to provision, modify, delete, and inspect infrastructure resources. However, it does not handle operational tasks at the system level, such as starting services, installing software, or managing system updates.

When working with Alibaba Cloud, Terraform delivers additional capabilities:

  • Flexible resource configuration: Define and manage Alibaba Cloud resources—including compute instances, networks, storage, and firewalls—using resource blocks in your configuration files.

  • Explicit resource dependencies: Establish inter-resource relationships to guarantee proper creation order and orchestration.

  • Reusable standardized modules: Streamline deployments by leveraging reusable modules. Alibaba Cloud also provides prebuilt modules that can be directly referenced for faster implementation.

IaC workflow

A typical IaC workflow with Terraform follows a structured sequence of steps:

image

  • Scope

    Before starting, clearly define the resources your application or project architecture requires. For instance, a common two-tier deployment might need a set of web servers and a database. During this phase, identify the necessary Alibaba Cloud resources and determine their relationships.

  • Template authoring

    Next, translate your infrastructure requirements into code by authoring configuration files—such as main.tfvariables.tf, and .tfvars—that specify resource definitions and parameters..

  • Initialize

    Run terraform init to set up your working directory. This command installs essential components, including the Alibaba Cloud provider and any referenced modules, ensuring your environment is ready for deployment.

  • Preview

    Use terraform plan to generate an execution plan detailing proposed changes—additions, modifications, or deletions of resources—based on your configuration files. Carefully review the plan to verify expected outcomes before proceeding.

  • Apply

    After validating the plan, execute terraform apply to provision, update, or remove resources as needed. Terraform then creates or updates the state file, maintaining an accurate record of your infrastructure.

You'll learn more about each step in the Terraform workflow as you progress through this tutorial.

Use cases

Terraform empowers teams to manage cloud infrastructure efficiently and reliably. Its core use cases include:

image

  • Manage infrastructure

    With an immutable approach, Terraform minimizes the complexity of upgrades and modifications. Each change is applied as a new configuration, reducing potential errors and ensuring consistent infrastructure deployments.

  • Track changes

    Terraform automatically records all infrastructure updates in a state file, reflecting the current environment. Before changes take effect, you can review and approve the proposed modifications, which helps maintain control and transparency.

  • Automate changes

    Using declarative configuration, Terraform enables seamless automation. You only need to specify the desired final state; Terraform handles all underlying steps—creating, updating, or deleting resources—while managing dependencies for you.

  • Standardize configuration templates

    Terraform supports reusable modules, whether custom-built or sourced from the public registry. Modules drive consistency, increase development speed, and make it easy to adopt best practices. Policy enforcement features further ensure resources adhere to organizational standards.