아키텍처 의사결정 기록: Kubernetes 컨테이너 오케스트레이션
문제 기술
우리는 성장하는 클라우드 네이티브 애플리케이션 포트폴리오를 위한 컨테이너 오케스트레이션 플랫폼을 선택해야 합니다. 현재의 레거시 플랫폼 배포는 너무 느리고 늘어나는 요구를 따라갈 만큼 민첩하지 않습니다. 우리는 민첩성이나 사용 편의성을 해치지 않으면서 서비스를 가장 효율적인 방식으로 확장할 수 있는 시스템을 찾고 있습니다.
검토한 대안
Docker Swarm
Kubernetes
Apache Mesos
내려진 결정
각 컨테이너 오케스트레이션 플랫폼을 철저히 분석한 후, 우리는 기업의 요구에 가장 좋은 선택지로 Kubernetes를 도입하기로 결정했습니다. Kubernetes를 선택한 이유는 다음과 같습니다:
확장성: Kubernetes의 독특한 설계는 애플리케이션을 확장하는 데 완벽하며, 시간이 지나 확장성 요구사항이 변해도 Kubernetes는 이러한 변화를 아무 문제 없이 충족하는 기본 기능을 갖추고 있습니다.
분산형 아키텍처: Kubernetes의 마스터-워커 토폴로지는 단일 장애 지점이 없는 분산형 아키텍처를 보장합니다.
커뮤니티 지원: Kubernetes는 가장 크고 활발한 오픈 소스 커뮤니티를 가지고 있어 기여자, 개발자, 벤더가 많으므로 도움을 받고 자료를 찾기가 더 쉽습니다.
생태계 지원: Kubernetes는 다양한 서드파티 도구, 컨테이너 레지스트리와의 통합, CI/CD 파이프라인, 데이터 스토리지 등이 있는 성장하는 생태계를 가지고 있습니다.
따라서 우리는 현재와 가까운 미래를 위한 컨테이너 오케스트레이션 플랫폼으로 Kubernetes를 도입하기로 결정했습니다.