CNCF (Cloud Native Computing Foundation)
2015 년 7 월에 발표된 2016 년 1 월에 정식 출범 한 Cloud Native Computing Foundation (이하 CNCF)는 혼돈스러운 컨테이너와 관련된 다양한 기술적인 문제들을 오픈소스로 해결하는 하는 것을 목표로하고 있다.
CNCF에서 진행되는 다양한 프로젝트들은 여기서 확인할 수 있다.
https://landscape.cncf.io/
CNCF Landscape
landscape.cncf.io
1) Cloud Native 란?
클라우드 네이티브는 클라우드 컴퓨팅 환경에서 현대적 애플리케이션을 구축, 배포 및 관리할 때의 소프트웨어 접근 방식이다.
2) Cloud Native 이점
- 효율성 증가 : 클라우드 네이티브 개발은 DevOps 및 지속적 전달(CD)과 같은 애자일 방식을 지원한다. 개발자는 자동화된 도구, 클라우드 서비스 및 현대적 설계 문화를 활용하여 확장 가능한 애플리케이션을 신속하게 구축한다.
- 비용 절감 : 클라우드 네이티브 접근 방식을 도입하면, 비용이 많이 드는 물리적 인프라를 조달하고 유지 관리하는 데 투자할 필요가 없어 운영 비용을 장기적으로 절감할 수 있다.
- 가용성 보장 : 복원력이 뛰어나고 가용성이 높은 애플리케이션을 구축할 수 있다. 기능 업데이트로 인한 가동 중지 시간이 발생하지 않으며, 사용량이 급증하는 기간 동안 앱 리소스를 확장할 수 있다.
3) Cloud Native 의 4가지 요소
- Microservice Architecture
- DevOps
- CI/CD
- Container
4) Cloud Native Application Architecture
확장 가능한 클라우드 네이티브 애플리케이션을 구축하고 실행하는 데 사용하는 다양한 소프트웨어 구성 요소를 결합한다. CNCF는 변경 불가능한 인프라, 마이크로서비스, 선언형 API, 컨테이너 및 서비스 메시를 클라우드 네이티브 아키텍처의 기술 블록으로 나열하고 있다.
- Immutable Infra (변경불가능한 인프라)
서버를 일회용으로 취급하는 개념. 서버의 변경이 필요하게 되면 모든 서버의 이미지를 새로 만들기 때문에 모든 서버가 동일한 상태임을 보장한다.(멱등성 보장) Configuration Drift 현상 없이 서버를 깨끗하게 유지할 수 있다. - Microservice
모놀리식 아키텍처와 달리 비즈니스 기능에 맞춰 여러 개의 작은 단위의 서비스를 분할한 후 연결하여 큰 소프트웨어 기능을 구현하는 것. 신속한 개발, 실행 및 잦은 업그레이드, 뛰어난 가용성 및 확장성을 실현할 수 있다. - API
둘 이상의 소프트웨어 프로그램이 서로 정보를 교환하는 데 사용하는 방식. 클라우드 네이티브 시스템은 느슨하게 결합된 여러 마이크로서비스를 API를 사용하여 통합한다. - Service Mesh
여러 마이크로서비스 간의 통신을 관리하는 클라우드 인프라의 소프트웨어 계층이다. - Container
컨테이너는 클라우드 네이티브 애플리케이션에서 가장 작은 컴퓨팅 단위이다. 마이크로서비스 코드 및 기타 필수 파일을 패키징하는 소프트웨어 구성 요소로 마이크로서비스를 컨테이너화함으로써, 기반 운영 체제 및 하드웨어와 독립적으로 실행된다.
'Kubernetes' 카테고리의 다른 글
[ DEVOCEAN OpenLab ] Kubernetes API 와 kubebuilder (0) | 2024.06.29 |
---|---|
[ DEVOCEAN OpenLab ] Kubernetes Architecture 구성요소 (k8s VS k3s) (0) | 2024.05.03 |
[ DEVOCEAN OpenLab ] k3s 설치 with Multipass (mac M2) (0) | 2024.05.02 |
[ DEVOCEAN OpenLab ] 쿠버네티스 등장배경 (0) | 2024.05.01 |
[ K8S ] CNI Cilium 메모리 누수 문제 해결- kakao 실무진 특강 (4) (0) | 2024.03.05 |