오늘날 많은 팀이 인프라를 코드로 관리하기 위해 Infrastructure as Code(IaC) 도구를 사용합니다. 이 가운데 Terraform과 AWS CloudFormation 같은 도구는 강력하고 유용한 기능을 제공하죠. 그러나 특정 도구의 전용 언어로 인프라를 구성하는 과정은 번거로울 때가 많은데요. 최근 나온 ‘Pulumi’라는 IaC 도구는 인프라를 편리하게 구성하고 관리하는 데 도움이 되는 기능을 다수 지원합니다. 이 글에서는 Pulumi의 특징을 알아보고, 이 도구로 AWS의 스토리지 서비스인 ‘S3’를 생성하는 방법을 살펴보겠습니다.
Pulumi의 세가지 특징

Pulumi는 IaC 도구로, 클라우드 인프라를 프로그래밍 언어로 정의하고 관리하는 데 사용할 수 있습니다. 특히 Pulumi는 다양한 클라우드 플랫폼과 서비스를 지원하는데요. 이로써 개발자와 운영팀이 ‘어느 클라우드 플랫폼과 서비스를 사용하는지’와 관계없이 Pulumi로 인프라를 자유롭고 편리하게 관리하도록 돕습니다. Pulumi의 서비스 특징은 다음과 같습니다.
다양한 클라우드 플랫폼과 서비스 지원
Pulumi는 AWS, Azure, Google Cloud, Kubernetes 등 여러 클라우드 플랫폼을 지원합니다. 이로써 사용자가 멀티 클라우드 환경에서 다양한 플랫폼을 넘나들며 효율적으로 작업할 수 있죠. 우리가 IaC 도구를 선택할 때 고려해야 할 요소가 바로 여러 클라우드 플랫폼 지원 여부와 확장성인데요. Pulumi는 이 요건을 충족합니다.
일반적인 프로그래밍 언어로 작성하는 인프라
Pulumi는 일반적인 프로그래밍 언어를 사용해 인프라를 구성하는 IaC 도구입니다. Terraform과 달리 Pulumi에서는 특정 전용 언어가 아닌 Go, Python, TypeScript, JavaScript, C#, Java, YAML 등 다양한 프로그래밍 언어를 사용해 인프라를 정의하고 관리할 수 있죠. 이로써 개발자는 자신에게 가장 편한 언어로 인프라를 구성하고 관리할 수 있습니다.