Contents

쿠버네티스와 클라우드 네이티브

클라우드 네이티브

클라우드 네이티브란 클라우드의 장점을 최대한 활용하여 정보 시스템을 구축 및 실행하는 환경이다.

클라우드 네이티브 기술은 조직이 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적이고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변(Immutable) 인프라, 그리고 선언형(Declarative) API가 이러한 접근 방식의 예시들이다.

이 기술은 회복성, 관리 편의성, 가시성을 갖춘 느슨하게 결합된 시스템을 가능하게 한다. 견고한 자동화 기능을 함께 사용하면 엔지니어는 영향이 큰 변경을 최소한의 노력으로 예측 가능하게 수행할 수 있다.

쿠버네티스는 클라우드 네이티브 구성요소를 완전히 수행할 수 있는 최고의 플랫폼이다.

클라우드 네이티브 애플리케이션의 특징

기존 애플리케이션은 장기간에 걸쳐 긴밀하게 결합된 모놀리식 기반 위에서 동작한다. 반면에 클라우드 네이티브 애플리케이션은 소규모 서비스 단위의 마이크로서비스로 구성되며 가상 컨테이너 환경에서 동작되도록 설계되고 구현된다.

구분 기존 애플리케이션 클라우드 네이티브 애플리케이션
애플리케이션 구조 모놀리식 구조 마이크로서비스
결합 조밀한 결합 느슨한 결합
실행환경 물리서버 중심 가상 컨테이너 중심
확장 수직 확장(Scal-Up) 수평 확장(Scale-Out)
인프라 의존성 인프라 의존 인프라 독립, 이식성 보장
개발방법 폭포수 애자일
빌드/배포 수작업, 긴 시간 CI/CD 자동화, 짧은 시간
조직구조 단절된 개발 데브옵스 협업

클라우드 네이티브 구성 요소

  • 마이크로 서비스 : 서비스를 각각 고유한 논리 상태 및 데이터가 있는 독립적인 서비스로 기능을 분리
  • 컨테이너 : 코드, 의존성 및 런타임은 컨테이너 이미지라는 이진 파일로 패키지
  • 서비스 지원 : 데이터 저장소, 메시지 브로커, 모니터링 및 idcert 서비스와 같은 다양한 보조 리소스 구성
  • 자동화 : 스크립트를 활용한 인프라 CI/CD 자동화

참고

https://www.inflearn.com/course/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EB%A7%88%EC%8A%A4%ED%84%B0