Microservices with NKS
Ncloud Kubernetes Service를 이용한 컨테이너 기반의 마이크로서비스 아키텍처
아키텍처 소개
마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로, 애플리케이션을 독립적인 최소 구성 요소로 분할하는 방식입니다. 모든 요소를 하나의 애플리케이션에 구축하는 전통적인 모놀리틱 접근 방식 대신 마이크로서비스에서는 모든 요소가 독립적이며 느슨하게 결합된 상태로 동일한 태스크를 완수합니다. Kubernetes는 컨테이너 관리를 위한 Defactor 표준 플랫폼으로 신속한 개발을 지원하고 기존 애플리케이션을 보다 쉽게 변환하고 최적화할 수 있으며 마이크로서비스를 컨테이너에서 실행할 수 있습니다. 네이버 클라우드 플랫폼에서는 Kubernetes Service를 이용하여 컨테이너 기반의 환경에서 마이크로서비스용 유닛의 이상적인 배포 및 독립적인 실행 환경을 제공합니다. 클라우드의 자유로운 확장성과 콘솔을 통한 쉬운 조작기능을 제공할 뿐만 아니라 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션할 수 있습니다.
아키텍처
연동 부가 서비스
솔루션 적용 및 비즈니스 효과
- 쉽고 간단하게 Kubernetes 배포 및 관리
- 작업자 노드와 관리형 제어 영역 간에 안전한 통신을 제공하고, 작업자 노드를 빠르게 프로비저닝하여 애플리케이션 확장이 가능합니다. 온디맨드(On-demand) 업그레이드 및 패치를 제공합니다.
- 표준 kubernetes 환경의 호환성
- 표준 kubernetes준수 서비스이므로, 네이버 클라우드플랫폼에서 관리하는 애플리케이션은 표준kuberntes 환경에서 관리하는 애플리케이션과 호환됩니다.
- 배포 용이성
- 컨테이너 기반 하에 DevOps 파이프라인을 구축하여 CI/CD 환경 확보가 가능합니다.
- 편리한 컨테이너 관리기능
- 컨테이너의 Runtime, Orchestration, Job Scheduling, Resource, CI/CD pipeline을 위한 브로커, 보안, 상태 모니터링 등의 기능 제공하므로, 고객은 작업노드(worker node)와 서비스만 관리하여 실질적인 서비스에 집중할 수 있습니다.
- 고가용성 및 자가 복구
- Kubernetes Service를 이용하여 cluster 생성시 다중 인프라 구성으로 서비스 중단 최소화 및 컨테이너 문제 발생시 이를 감지하여 자동으로 컨테이너가 복제되어 재시작 되므로 고가용성의 서비스를 구축할 수 있습니다.
- 클라우드 상품과 연동
- 컨테이너 기반의 서비스를 쉽게 확장할 수 있도록 클라우드의 상품들과 쉽게 연동할 수 있습니다. 외부에 서비스 오픈, 스토리지 로깅을 위해 LoadBalancer와 NAS , Cloud Log Analitics 상품을 쉽게 연동할 수 있습니다.