닷넷으로 시작하는 Code as a Infrastructure - Pulumi

최근에 DevOps에서는 인프라 구축 자동화를 위해서 Terraform을 많이 도입하곤 합니다. 그런데 여기서 더 나아가서, 별도의 도메인 언어가 아니라 원래 내가 사용하던 프로그래밍 언어를 이용해서 Code as a Infrastructure를 구현할 수 있다면 더 유용하지 않을까요?

Pulumi는 C#을 포함하여 TypeScript, JavaScript, Python, Go 언어를 이용하여 구축하고자하는 인프라에 대한 사양을 코드로 작성하여, 이것을 Pulumi가 이해하는 상태 파일로 변환하고, 나머지는 클라우드 API와 상호작용하여 실제 배포된 인프라의 상태가 내가 작성한 코드와 동일한 상태가 되도록 맞추어줍니다.

Terraform의 경우에는 이 부분을 HCL (Hashicorp Configuration Language)라는 도메인 언어를 사용했고, 이 언어를 따로 배워야 했지만 이 부담이 Pulumi에는 없습니다.

그리고 상태 파일을 어디에 저장할 것인지도 자유롭게 선택할 수 있는데, Pulumi Cloud를 이용할 수도 있고, 관리하고 있는 클라우드의 BLOB 저장소를 이용할 수도 있으며, 로컬 파일 시스템에 보관할 수도 있습니다.

좀 더 자세한 내용은 Create a New Project | Azure | Pulumi 페이지에서 살펴보실 수 있습니다.