본문 바로가기
Infra2026년 5월 31일3분 읽기

Crossplane 2.0 vs Terraform — 인프라 코드 GitOps 1년 비교

YS
김영삼
조회 1068
Crossplane 2.0 vs Terraform — 인프라 코드 GitOps 1년 비교

핵심 요약

Crossplane 2.0 1년 production. Terraform과 동시 운영, AWS·GCP·Cloudflare 리소스 ~420개 관리. 드리프트 자동 감지·복구, GitOps native, Argo CD 통합이 결정적. 단 Composition 학습 곡선 가파름.

1. 핵심 차이 — 선언 vs 명령

항목TerraformCrossplane
실행 모델CLI 명령(plan/apply)K8s controller 지속 reconcile
State 저장S3/CloudK8s etcd
드리프트 감지plan 시점자동, 즉시
멀티 환경workspacenamespace

2. Composition 패턴 — 추상화

Crossplane의 Composition으로 "회사 표준 EKS 클러스터" 같은 추상 객체 정의. 개발자는 한 줄로 사용 — 보안·tagging·monitoring 자동.

# 개발자가 작성
apiVersion: company.example.com/v1
kind: WebApp
metadata:
  name: my-app
spec:
  environment: prod
  region: ap-northeast-2
# Composition이 내부적으로 EKS + RDS + ALB + IAM 생성

3. 운영 데이터

지표TerraformCrossplane
배포 빈도주 3회주 22회
드리프트 발견 시간다음 plan(수일)5분 이내
개발자 학습 시간2주4주(Composition)

4. 채택 기준

  • K8s 깊이 사용 + GitOps 정착 — Crossplane
  • Multi-cloud + ad-hoc 변경 잦음 — Terraform
  • Self-service 추상화 필요 — Crossplane Composition 압승
  • state 외부 의존 무서움 — Crossplane(K8s native)

5. 함정

  • Provider 성숙도 — AWS provider 안정적이나 GCP·Azure는 가끔 누락 기능
  • Composition versioning — 변경 시 기존 인스턴스 영향, semver 정책 필수
  • K8s overhead — etcd 부담, 대규모 리소스(~10K) 시 namespace 분리
  • Cost preview 부재 — Terraform plan 같은 사전 비용 추정 부족, Infracost 통합 권장

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록