클라우드 네이티브 컴퓨팅은 클라우드 환경의 특성을 최대한 활용하도록 설계·구축·운영되는 소프트웨어와 시스템을 통틀어 일컫는 용어이다. 이 접근 방식은 탄력성(resilience), 확장성(scalability), 이식성(portability), 자동화(automation) 등을 핵심 원칙으로 하며, 전통적인 온프레미스(온사이트) 방식보다 빠른 배포와 운영 효율성을 제공한다.
주요 특징
- 마이크로서비스 아키텍처
- 기능을 독립적인 서비스 단위로 분리하여 각각을 별도로 배포·스케일링한다.
- 컨테이너화
- Docker와 같은 컨테이너 기술을 사용해 실행 환경을 표준화하고, 일관된 배포가 가능하도록 한다.
- 오케스트레이션
- Kubernetes 등과 같은 플랫폼을 통해 컨테이너의 자동 배치, 스케일링, 복구 등을 관리한다.
- CI/CD 파이프라인
- 지속적 통합(Continuous Integration)·지속적 배포(Continuous Delivery) 프로세스를 구축해 코드 변경을 신속히 프로덕션에 반영한다.
- 불변 인프라(Infrastructure as Code, IaC)
- Terraform, Ansible 등으로 인프라를 선언형 코드로 관리하여 재현성을 확보한다.
- 관측성(Observability)
- 로그, 메트릭, 트레이스 등을 수집·분석해 시스템 상태를 실시간으로 파악한다.
역사적 배경
- 2015년: 클라우드 네이티브 컴퓨팅 재단(Cloud Native Computing Foundation, CNCF)이 설립되면서 ‘클라우드 네이티브’라는 용어가 본격적으로 정립되었다.
- CNCF는 Kubernetes, Prometheus, Envoy, gRPC 등 클라우드 네이티브 생태계 핵심 프로젝트를 호스팅하며 표준화와 공동 개발을 촉진한다.
- 이후 기업들은 기존 레거시 시스템을 클라우드 네이티브 방식으로 전환하면서, 대규모 서비스 운영에 필요한 자동화와 탄력성을 확보하였다.
적용 분야
- 웹·모바일 애플리케이션 백엔드
- 데이터 처리 파이프라인(예: 스트리밍, 배치 처리)
- IoT 플랫폼
- 금융·헬스케어 등 높은 가용성을 요구하는 산업 분야
관련 용어
- 클라우드 네이티브 애플리케이션: 클라우드 네이티브 원칙에 따라 개발된 소프트웨어.
- 클라우드 네이티브 인프라: 컨테이너, 서버리스, 서비스 메쉬 등 클라우드 네이티브 기술을 기반으로 구축된 인프라.
- DevOps: 개발(Development)과 운영(Operations)의 협업을 강조하는 문화·프로세스·도구 체계로, 클라우드 네이티브 구현에 필수적이다.
참고 문헌
- Cloud Native Computing Foundation, “CNCF Landscape”, 2024.
- “Kubernetes: Up and Running”, Kelsey Hightower 외, O’Reilly Media, 2017.
- “Designing Distributed Systems”, Brendan Burns, O'Reilly Media, 2022.
위 내용은 2024년까지 공개된 공신력 있는 자료를 기반으로 작성되었으며, 최신 동향에 따라 추가·수정될 수 있다.