인프랩, IaC 여정: Terraform → Terragrunt → Pulumi
by DD
2년 전
조회수 6
AWS CDK에서 Terraform으로 전환했지만, HCL의 한계로 Terragrunt를 사용함
Terragrunt의 단점을 극복하기 위해 Pulumi를 도입, TypeScript 기반 IaC 구축
Pulumi를 통해 IDE 지원, 테스팅 프레임워크 활용, 확장성 확보
Terraform의 한계와 Pulumi 선택
Terraform은 HCL이라는 DSL(Domain Specific Language)을 사용하여 IDE 지원 부족, 가독성 저하 등의 문제점을 야기했다. Terragrunt를 도입하여 중복 코드 제거를 시도했지만, DRY 작업이 오히려 프로젝트 이해를 어렵게 만들었다. 따라서 Pulumi를 통해 범용 프로그래밍 언어 기반의 IaC 구축을 선택했다.
Pulumi의 장점: TypeScript와 IDE 지원
Pulumi는 TypeScript를 사용하여 자동 완성, 타입 힌팅 등 IDE의 강력한 지원을 받을 수 있다. 패키지 관리자, 테스팅 프레임워크를 활용하여 코드 품질을 높이고, 슬랙 메시지 전송, 커스텀 로깅 등 확장성을 확보했다. 결과적으로, 개발 생산성 향상과 유지보수 용이성을 달성했다.
Pulumi IaC 프로젝트 구축 노하우
Pulumi를 사용한 IaC 프로젝트 구축 과정에서 모노레포 관리 도구, 테스팅 프레임워크 등을 활용하는 과정에서 다양한 시행착오를 겪었다. Pulumi Automation API를 활용하여 스택 간 입출력을 관리하고, Jest 기반의 테스트를 구성했다. 따라서, 코드 품질 향상과 지속적인 개선을 위한 기반을 마련했다.
댓글 0
첫 번째 댓글을 남겨보세요!