Learning
토픽 7 / 107·클라우드 컴퓨팅 개요와 서비스 모델

CaaS (Container as a Service)

CaaS (Container as a Service)

컨테이너 기반 애플리케이션의 배포, 확장, 관리를 위한 오케스트레이션 플랫폼을 서비스로 제공하는 클라우드 모델로, 사용자는 컨테이너 이미지만 제공하면 CSP가 클러스터 관리, 스케일링, 네트워킹 등을 처리하여 마이크로서비스 아키텍처 구현에 최적화

책임 분담: 사용자(컨테이너 이미지/배포 설정/앱 데이터), CSP(클러스터/노드/네트워킹/스케일링/보안)

구성요소: 컨테이너 런타임(containerd/CRI-O/Docker), 오케스트레이터(Kubernetes/ECS), 레지스트리(ECR/ACR/GCR/Docker Hub), 네트워킹(CNI), 스토리지(CSI/PV/PVC), 보안(RBAC/Pod Security)

주요 서비스: AWS(EKS/ECS/Fargate/ECR/App Mesh), Azure(AKS/Container Apps/Container Instances/ACR), GCP(GKE/Cloud Run/GCR/Artifact Registry/Anthos Service Mesh)

유형: 관리형 K8s(EKS/AKS/GKE - K8s 표준/이식성), 완전 관리형 K8s(GKE Autopilot - 완전 서버리스), 독자 CaaS(ECS - AWS 통합/간단), 서버리스 컨테이너(Fargate/Cloud Run - 인프라 관리 없음)

장점: 컨테이너 표준으로 이식성, 자동 스케일링, 표준 생태계(OCI/K8s), IaaS와 FaaS 사이 균형

단점: K8s 학습곡선, 클러스터 운영 비용, 복잡한 네트워크 설정, 컨테이너 보안 관리

적합 워크로드: 마이크로서비스, CI/CD 파이프라인, 스케일링 필요 앱, 하이브리드/멀티클라우드, A/B 테스트/카나리 배포

부적합 워크로드: 단순 단일 앱, 레거시 모놀리식(단기), 컨테이너화 불가 앱, K8s 전문성 없는 팀

CaaS 서비스별 가격 비교

CaaS 마이그레이션 전략

  • 마이그레이션 단계: 평가(Assessment) → 컨테이너화(Containerize) → 오케스트레이션 설정 → 데이터 마이그레이션 → 테스트 → 전환(Cutover)
  • Lift & Shift: VM을 그대로 컨테이너로 변환, 빠르지만 최적화 부족
  • Refactor: 마이크로서비스로 분해 후 컨테이너화, 시간 소요되나 효과 극대화
  • Strangler Fig 패턴: 레거시를 점진적으로 컨테이너 서비스로 교체, 리스크 최소화
  • 마이그레이션 도구: AWS App2Container(자동 컨테이너화), Azure Migrate, Google Migrate for Anthos
  • 핵심 고려사항: 상태 관리(Stateful→Stateless 전환), 데이터 영속성(PV/PVC), 네트워크 설계(Service Mesh), 보안(이미지 스캔/RBAC), CI/CD 파이프라인 구축
  • K8s 간 마이그레이션: Velero(백업/복원), Helm Chart 이식, Terraform/Pulumi로 IaC 표준화

비교: CaaS(컨테이너/중간 추상화) vs PaaS(소스코드/높은 추상화) vs FaaS(함수/최고 추상화)

연관: 컨테이너, Docker, Kubernetes, FaaS, 마이크로서비스