048. IaC — 인프라를 코드로 관리하기
IaC(Infrastructure as Code)는 서버, 네트워크, DB 같은 인프라를 코드로 정의하고 버전 관리하는 방식이다. 콘솔에서 클릭해서 만들던 것을 코드로 선언하면 재현 가능하고 리뷰 가능하고 자동화할 수 있다. 선언형 vs 명령형의 차이, Terraform과 Pulumi의 철학 차이, 그리고 state 파일 문제를 설명한다.
IaC(Infrastructure as Code)는 서버, 네트워크, DB 같은 인프라를 코드로 정의하고 버전 관리하는 방식이다. 콘솔에서 클릭해서 만들던 것을 코드로 선언하면 재현 가능하고 리뷰 가능하고 자동화할 수 있다. 선언형 vs 명령형의 차이, Terraform과 Pulumi의 철학 차이, 그리고 state 파일 문제를 설명한다.
Crossplane은 k8s CRD를 이용해 AWS, GCP 같은 클라우드 인프라를 선언적으로 관리하는 오픈소스다. VPC, RDS, S3 같은 클라우드 리소스를 k8s 오브젝트처럼 선언하면 컨트롤러가 실제 인프라를 프로비저닝한다. Terraform과 철학적으로 무엇이 다른지, Provider 구조, Managed Resource 개념을 설명한다.