클라우드 네이티브 컴퓨팅(Cloud-native computing)은 클라우드 컴퓨팅을 활용하여 "퍼블릭, 프라이빗, 하이브리드와 같은 현대적이고 역동적인 환경에서 확장 가능한 애플리케이션을 구축하고 실행"하는 소프트웨어 개발 접근 방식이다.[1][2] 선언적 코드를 통해 배포되는 컨테이너, 마이크로서비스, 서버리스 기능, 클라우드 네이티브 프로세서, 불변(immutable) 인프라와 같은 기술은 이 아키텍처 스타일의 공통 요소이다.[3][4] 클라우드 네이티브 기술은 사용자의 운영 부담을 최소화하는 데 중점을 둔다.[5][6]
이러한 기술을 사용하면 탄력적이고 관리 가능하며 관찰 가능한 느슨하게 결합된 시스템이 가능해진다. 강력한 자동화와 결합되어 엔지니어는 최소한의 노력으로 큰 영향을 미치는 변경을 자주 그리고 예측 가능하게 수행할 수 있다.[7]
클라우드 네이티브 애플리케이션은 Containerd와 같은 오픈 컨테이너 이니셔티브(Open Container Initiative) 호환 컨테이너에서 실행되는 마이크로서비스 세트로 구축되는 경우가 많으며 쿠버네티스에서 조정되고 데브옵스 및 Git CI 워크플로를 사용하여 관리 및 배포될 수 있다.[8] 컨테이너 사용의 장점은 실행에 필요한 모든 소프트웨어를 하나의 실행 가능 패키지로 패키징할 수 있다는 것이다. 컨테이너는 가상화된 환경에서 실행되며, 이는 포함된 애플리케이션을 해당 환경에서 격리한다.[3]
같이 보기
각주