Terraform 기초 실습 스터디를 진행하고 있으며, 커리큘럼 1주차에 해당하는 내용입니다.
* [테라폼으로 시작하는 IaC] 도서 참조
Infrastructure as Code(IaC) 란 영문 그대로 '코드로서의 인프라'이다.
인프라 자동화를 이야기할 때 필수로 언급되는 코드형 인프라(IaC) 도입의 긍정적인 측면, 그 반대의 측면은 다음과 같다.
IaC 도입의 긍정적인 측면
1. 속도와 효율성
2. 버전 관리
3. 협업
4. 재사용성
5. 기술의 자산화
IaC 도입의 우려되는 측면
1. 코드 문법 학습
2. 파이프라인 통합
3. 대상 인프라에 대한 이해 필요
IaC 도구 중 가장 있기있는 프로비저닝 도구인 테라폼에 대해 알아보자.테라폼은 하시코프사(HashiCorp) 에서 공개한 IaC 도구이다. 2014년에 테라폼이 처음 출시되었고, 2021년에 1.0 버전의 테라폼이 출시되었다. 테라폼 코드는 프로바이더를 통해 각 인프라 고유의 API 를 호출하여 동작한다. 따라서 다양한 프로바이더와 조합하여 다중 클라우드와 하이브리드 인프라를 지원하고 있다.
* 테라폼은 특정 클라우드나 인프라에 종속적이지 않고, 동일한 워크로드를 설계할 수 있다는 장점이 있다.
테라폼 제공 유형
1. On-premise: Terraform 이라고 불리는 형태. 사용자의 컴퓨팅 환경에 오픈소스 바이너리툴인 테라폼이 구성되며 가장 널리 이용.
2. Hosted SaaS: Terraform Cloud 로 불리는 SaaS 로 제공되는 구성환경으로 하시코프가 관리하는 서버 환경이 제공.
3. Private Install: Terraform Enterprise 로 불리는 서버 설치형 구성환경. 기업의 사내 정책에 따라 프로비저닝 관리가 외부 네트워크와 격리.
테라폼 사용, 누가 하는가?
테라폼은 인프라를 알고, 새로운 프로젝트가 생겼을 때 설계와 구축을 담당하는 사람에게 유용하다. 하지만 이후에 운영이나 유지 보수를 하려면, 운영을 담당하는 작업자도 테라폼과 관련한 지식을 갖춰야 한다.
테라폼을 처음 설계하고 구성한 작업자가 이후에 다른 사람에게 인수인계 해야하는 경우도 있다. 이때 운영 담당자는 테라폼의 구성을 이해하고 변경 요청에 대응할 만한 테라폼 지식을 갖춰야 한다.
→ 위 내용의 운영 담당자 의 역할을 수행하는 입장으로서, 테라폼에 대한 학습의 필요성을 느꼈고 스터디를 시작하고자 한다.
IaC 도구인 테라폼에 대한 개념적인 부분에 대해 알아보았다.
다음 포스팅은 실습 환경 구성에 대해 살펴보겠다.