Infrstructure as Code 도구 테라폼
IaC란?
코드형 인프라 (Infrastructure as Code)는 수동 프로세스가 아닌 코드를 이용해 인프라를 관리하고 프로비저닝하는 것이다
테라폼은 코드로서의 인프라스트럭처 Infrastructure as Code를 지향하고 있는 도구로서,
GUI나 웹 콘솔을 사용해 서비스 실행에 필요한 리소스를 관리하는 대신 필요한 리소스들을 선언적인 코드로 작성해 관리할 수 있게 해준다
그냥 코드로 인프라 관리하기

Terraform은 Hashicorp에서 오픈소스로 개발중인 인프라스트럭처 관리 도구이다.
서비스 실행에 필요한 환경을 구축하는 도구라는 점에서 Chef, Ansible 같은 설정 관리 도구와 더불어 프로비저닝 도구이다
왜 쓰지
자동화
- 수동으로 서버를 생성하는게 아니라 코드로 생성 하기 때문에 서버 운영및 관리가 모두 자동화 될 수 있다.
- 예를 들어, AWS에서 새로운 서버를 생성 하기 위해서 AWS 콘솔에 로그인 할 필요도 없이 terraform 코드를 실행시키기만 하면 된다.
속도 와 안전
- 코드로 실행 되기 때문에 사람이 수동으로 작업하는것 보다 훨씬 빠르며 또한 사람이 직접 할 때 생길수 있는 실수 들을 방지할수 있다.
문서화
- 모든 인프라가 코드로 기록 및 관리 되기 때문에 자동으로 문서화가 된다.
- terraform의 경우에는 새로 들어온 개발자 라도 terraform code를 보면 전체적인 구성을 이해할수 있다.
형상관리
- 여느 코드와 마찬가지로 terraform 코드도 git 등등을 이용해 형상관리를 할수 있다.
- 인프라의 변경 기록을 쉽게 볼수 있다.