티스토리 뷰
Cloud Native는 단순히 “클라우드에서 실행한다”는 뜻이 아니라,
클라우드의 확장성/자동화/복원력/관리형 서비스를 활용하도록
애플리케이션과 운영을 설계하는 접근법
을 의미합니다.
예를 들어 기존 서버 프로그램을 그대로 EC2에 올렸다고 해서 Cloud Native라고 하지는 않습니다. 흔히 이를 Cloud Hosted 또는 Lift & Shift라고 부릅니다.
보통 Cloud Native에 포함되는 특징
- 컨테이너 기반: Docker, Kubernetes, EKS
- 서비스 단위 분리: 마이크로서비스 또는 모듈화된 서비스
- 자동 배포: CI/CD, GitOps, Argo CD
- 탄력적 확장: Auto Scaling, 서버리스
- 장애 복구 고려: Health Check, 재시도, 다중 AZ
- 관측 가능성: 로그, 메트릭, 트레이싱, OpenTelemetry
- Infrastructure as Code: Terraform, CloudFormation
- 관리형 서비스 활용: RDS, DynamoDB, ElastiCache, S3, OpenSearch 등
표현별로 아래처럼 정의할 수 있겠습니다.
| 표현 | 의미 |
| On-premise | 자체 서버와 데이터센터에서 운영 |
| Cloud Hosted | 기존 애플리케이션을 클라우드 VM에 옮김 |
| Cloud Optimized | 클라우드 기능을 일부 활용하도록 개선 |
| Cloud Native | 처음부터 클라우드의 자동화·확장·복원성을 전제로 설계 |
예를 들어 Agent 서버를 EC2 한 대에 설치하고 수동 배포하면 클라우드에서 실행되는 시스템이지만 Cloud Native 성격은 약합니다. 반면 다음과 같다면 Cloud Native에 가깝습니다.
[EKS]
- Agent Orchestrator
- MCP Server
- LLM Server
RDS / ElastiCache / OpenSearch
Argo CD 기반 배포
OpenTelemetry 기반 관측
Multi-AZ 장애 대응
다만 'Cloud Native = 마이크로서비스 + Kubernetes'로 이야기하면 과합니다. 핵심은
자동화 가능하고, 수평 확장 가능하며, 장애를 전제로 복구 가능하게 설계되었는가
댓글