설정 파일로 표현하는 자원
컴퓨팅과 저장소 및 네트워크 자원뿐 아니라 DNS 항목과 서비스의 설정도 관리할 수 있다. 설정은 목표 상태를 나타내며 버전 관리하고 공유 및 재사용할 수 있다. 공급자가 각 플랫폼의 API와 Terraform 사이를 연결한다.
계획과 적용의 분리
현재 인프라와 설정을 비교해 생성과 변경 및 삭제할 자원의 실행 계획을 만든다. 계획을 적용할 때는 자원 사이의 의존 관계를 고려해 작업 순서를 정한다. 실제 변경에 앞서 어떤 작업이 필요한지 검토할 수 있는 구조다.
상태와 재사용 단위
상태 파일은 관리 중인 실제 자원을 추적하는 데 쓰이며 다음 변경을 판단하는 기준이 된다. 모듈은 관련된 자원 설정을 재사용 가능한 묶음으로 정의한다. 자원 상태와 설정 및 의존 관계를 함께 이용해 인프라 수명 주기를 다룬다.