클라우드 네이티브 컴퓨팅

클라우드 네이티브 컴퓨팅(Cloud-native computing)은 클라우드 컴퓨팅을 활용하여 "퍼블릭, 프라이빗, 하이브리드와 같은 현대적이고 역동적인 환경에서 확장 가능한 애플리케이션을 구축하고 실행"하는 소프트웨어 개발 접근 방식이다. 선언적 코드를 통해 배포되는 컨테이너, 마이크로서비스, 서버리스 기능, 클라우드 네이티브 프로세서, 불변(immutable) 인프라와 같은 기술은 이 아키텍처 스타일의 공통 요소이다. 클라우드 네이티브 기술은 사용자의 운영 부담을 최소화하는 데 중점을 둔다.

이러한 기술을 사용하면 탄력적이고 관리 가능하며 관찰 가능한 느슨하게 결합된 시스템이 가능해진다. 강력한 자동화와 결합되어 엔지니어는 최소한의 노력으로 큰 영향을 미치는 변경을 자주 그리고 예측 가능하게 수행할 수 있다.

클라우드 네이티브 애플리케이션은 Containerd와 같은 오픈 컨테이너 이니셔티브(Open Container Initiative) 호환 컨테이너에서 실행되는 마이크로서비스 세트로 구축되는 경우가 많으며 쿠버네티스에서 조정되고 데브옵스Git CI 워크플로를 사용하여 관리 및 배포될 수 있다. 컨테이너 사용의 장점은 실행에 필요한 모든 소프트웨어를 하나의 실행 가능 패키지로 패키징할 수 있다는 것이다. 컨테이너는 가상화된 환경에서 실행되며, 이는 포함된 애플리케이션을 해당 환경에서 격리한다.