How Terraform uses providers to manage multiple cloud, SaaS, and on-premises platforms through one declarative workflow.
Terraform can manage resources across cloud providers, SaaS products, and on-premises systems because providers implement Terraform’s interface for each remote API. The Terraform language, plan, and apply workflow remain consistent, but provider capabilities and operational constraints do not become identical. HashiCorp’s Terraform introduction explains the provider model.
1provider "aws" {
2 region = "ca-central-1"
3}
4
5provider "github" {}
6
7resource "github_repository" "infrastructure" {
8 name = "infrastructure"
9}
This configuration can manage both a GitHub repository and AWS resources, provided the required providers, authentication, and resource declarations are present. It does not mean one provider controls the other platform or that a multi-provider deployment has no boundaries.
Use one configuration only when its resources share ownership, lifecycle, and change cadence. Separate configurations and state are often clearer when teams, access controls, or deployment lifecycles differ. A shared workflow should not obscure blast radius or make unrelated systems depend on the same apply.