Cloud Native
Cloud Native
클라우드 환경의 특성을 최대한 활용하도록 설계·구축·운영되는 애플리케이션과 아키텍처 접근 방식으로, 컨테이너, 마이크로서비스, 선언적 API, DevOps, 자동화를 기반으로 탄력성, 확장성, 민첩성을 극대화
목적: 클라우드 이점 극대화, 빠른 배포, 탄력적 확장, 회복탄력성 (Resilience)
특징: 컨테이너 기반, 마이크로서비스, 동적 오케스트레이션, 선언적 API, DevOps/CI/CD
핵심 원칙: Automation Everywhere(IaC/CI/CD), Design for Failure(장애 허용 설계), Immutable Infrastructure(불변 인프라), Stateless Services(상태 외부화), Observability(관찰 가능성)
CNCF 기술 스택: 컨테이너(Docker/containerd), 오케스트레이션(Kubernetes), 서비스 메시(Istio/Linkerd), 모니터링(Prometheus/Grafana), 로깅(Fluentd/Loki), 트레이싱(Jaeger/Zipkin), CI/CD(Argo/Flux), 보안(Falco/OPA)
12 Factor App 원칙: Codebase(버전 관리), Dependencies(명시적 선언), Config(환경 변수), Backing Services(연결된 자원), Build/Release/Run(엄격 분리), Processes(Stateless), Port Binding(포트 바인딩), Concurrency(프로세스 모델), Disposability(빠른 시작/종료), Dev/Prod Parity(환경 일치), Logs(이벤트 스트림), Admin Processes(일회성 관리 작업)
장점: 빠른 배포(CI/CD), 자동 스케일링, 장애 격리/복구, 이식성(멀티클라우드), 리소스 효율
단점: 초기 복잡도, 분산 시스템 난이도, 모니터링/디버깅 어려움, 네트워크 오버헤드, 학습 곡선
적용사례: Netflix(마이크로서비스), Uber(K8s), Spotify(멀티클라우드), 전자상거래(피크 트래픽)
비교: Cloud Native(컨테이너/마이크로서비스/동적) vs Legacy(VM/모놀리식/정적)
연관: Kubernetes, 마이크로서비스, CNCF, DevOps, 컨테이너