후니의 IT인프라 사전
[T101 스터디] Terraform 개요 본문
도입
Terraform은 HashiCorp 사에서 발표한 대표적인 IaC(Infrastructure as Code) 도구로 코드를 통한 인프라 관리를 자동화시켜주는 툴이다. 기존 인프라 뿐 아니라 대부분의 클라우드 벤더사도 테라폼이 지원하게 되면서 정말 대중화되어 폭넓게 사용되는 툴이다.
장점
IaC의 Code를 활용하고 있기 때문에 대부분 Code형 시스템에서 갖추는 장점을 모두 활용할 수 있다.
- 인프라를 코드 형태로 서술하여 실행시키지 않아도 코드로 인프라 구조를 파악할 수 있다.
- 팀원들 간에 리뷰가 가능하다.
- 작성된 코드를 승인 후 작동시킬 수 있도록 업무 프로세스를 만들 수 있다.
- 인프라 공유가 용이하다.
- git을 통한 버전관리를 할 수 있다.
- 동일한 인프라 환경을 매우 쉽게 clone 하여 생성할 수 있다.
단점
가장 큰 단점은 아무래도 기존 인프라를 테라폼 외의 형태로 다루게 되면 반드시 코드에 수정된 내용을 반영해야 한다는 점이다. 예를들어 테라폼으로 네이버 클라우드 상의 인프라를 배포하고 네이버 클라우드 콘솔에 접속하여 해당 인프라를 수정할 경우 만드시 코드 상에 해당 작업 내용을 반영하지 않으면 문제가 생길 수 있다.
또 다른 단점은 테라폼으로 배포하는 인프라가 커질 수록 제대로 이력관리가 되지 않으면 점점 유지보수에 어려움을 겪게 된다. 예를 들어 테라폼 파일을 모듈화 등으로 많이 쪼개놓고 무수히 많은 변수가 있다면 추후 다른 사람이 작업하게 될 경우 해당 파일간의 관계 파악이 상당히 까다로워 진다는 문제가 생길 수 있다.
'프로젝트&&스터디 > Terraform 스터디 [T101]' 카테고리의 다른 글
[Terraform 101] 테라폼 백엔드 (0) | 2022.12.12 |
---|---|
[T101 스터디] 네이버 클라우드 NKS 클러스터 구성하기 (0) | 2022.12.11 |
[T101 스터디] 네이버 클라우드 - Auto Scaling 및 LB 배포 (0) | 2022.11.12 |
[T101 스터디] 네이버 클라우드 - VPC 환경의 단일 WebServer 배포 (0) | 2022.11.12 |
[T101 스터디] Terraform 활용해서 네이버 클라우드 다루기 - 준비 (0) | 2022.11.12 |