이전 블로그 글에서는 컨테이너의 기본 개념과 가상 머신과의 비교에 대해 논의했습니다. Docker 컨테이너 오케스트레이션 플랫폼인 Kubernetes는 컴퓨팅 환경의 필수 구성 요소로 자리 잡았습니다. 컨테이너 오케스트레이터는 컨테이너의 프로비저닝 및 관리 과정을 자동화하는 도구로, 대규모 Docker 환경에서 필수적입니다. Kubernetes가 유일한 컨테이너 오케스트레이터는 아니지만, Swarm 및 Mesos와 같은 대안이 존재합니다. 그러나 Kubernetes는 컨테이너 오케스트레이션 솔루션으로 가장 널리 채택되었습니다.
Kubernetes 환경을 구축할 수 있는 여러 가지 옵션
다양한 방법으로 쿠버네티스 환경을 구축할 수 있습니다. 이는 직접 구축하는 DIY 방법, MSP(관리 서비스 제공자)가 제공하는 관리형 서비스를 사용하는 방법 또는 클라우드 공급업체의 서비스를 활용하는 방법이 있습니다.
DIY 방식의 경우, OKD (Red Hat OpenShift를 구동하는 Kubernetes 커뮤니티 배포판), Rancher (기업용 Kubernetes 관리), 그리고 이러한 버전 모두의 기반이 되는 Kubernetes와 같은 오픈 소스 프로젝트가 있습니다.
MSPs는 Red Hat OpenShift, VMware Tanzu, SUSE Rancher와 같은 Kubernetes 솔루션을 제공합니다. 이는 전 세계적으로 많이 사용되는 주요 배포판 중 일부입니다.
MSPs는 Red Hat OpenShift, VMware Tanzu, SUSE Rancher와 같은 Kubernetes 솔루션을 제공합니다. 이는 전 세계적으로 많이 사용되는 주요 배포판 중 일부입니다. Google Cloud는 Google Kubernetes Engine(GKE) 또는 Anthos를 제공합니다.
기업 배포 모델들
Kubernetes의 최적 배포 모델을 선택하기 위해서는 종합적인 접근이 필요합니다. Kubernetes 플랫폼 뿐만 아니라 컴퓨팅 노드, 스토리지, 네트워킹과 같은 인프라를 고려해야 합니다. 또한 다른 플랫폼으로의 이전 유연성과 비용도 최적의 솔루션을 결정하는 데 영향을 미칩니다.
Kubernetes의 최종 가치는 그것을 사용하는 방법과 비용 및 노력에 따라 결정됩니다. 특정한 규모와 복잡성에서는 자체 구축이 합리적일 수 있지만, 비용과 노력을 최소화하는 것은 다른 솔루션으로 가능합니다. 이러한 관점에서 Kubernetes에 대한 여러 인기있는 전달 및 배포 모델이 있습니다.
Doing It by Yourself
DIY 접근 방식은 조직이 자체적으로 전체 기업용 컨테이너 플랫폼을 구축하고 관리하는 것을 의미합니다. 이 옵션은 가장 큰 유연성을 제공하지만, 운영 부담과 복잡성이 가장 높으며, 플랫폼을 유지보수하는 책임도 있습니다.
DIY 접근 방식의 주요 도전은 플랫폼 내의 모든 도구 간 통합 유지보수에 있습니다. 이는 다운타임을 발생시키고 워크플로를 방해할 수 있습니다. 이 도전은 배포, 업그레이드 및 유지보수를 위해 고가의 전문가에 투자해야 하며, 이로 인해 규모의 경제를 활용할 수 없어 높은 비용이 발생합니다.
비록 DIY 접근 방식이 초기에는 라이선스 비용을 절약할 수 있지만, 플랫폼 팀이 내부 고객 하나만을 가지고 있기 때문에 장기적으로는 비용이 적절하게 확장되지 않을 수 있습니다.
관리 서비스 사용
관리 서비스 접근 방식은 Kubernetes 또는 기업용 컨테이너 플랫폼을 운영하는 전문 서비스 제공업체를 활용하는 것을 의미합니다. 이는 시작하기 가장 쉽고 빠른 방법으로, 온보딩이 주요 장점입니다. 관리 서비스는 일반적으로 많은 고객을 보유하고 있어 기능의 양, 품질 및 서비스 품질에 더 많은 투자가 이루어집니다. 이는 더 나은 사용자 경험, 더 많은 기능 및 낮은 비용으로 이어집니다. 또한, 운영 작업은 고객의 어깨에서 제거되어 그들의 인지 부담을 줄이고 인프라 대신 비즈니스 관련 프로젝트에 집중할 수 있도록 합니다.
그러나 이는 요구 사항과 사용 사례에 맞지 않을 수 있는 표준화에 크게 의존하기 때문에 가장 융통성이 없는 옵션입니다. 라이프사이클 관리 제어가 서비스 제공업체로 이동되며, 유지보수 또는 업데이트를 위한 예정된 다운타임이 불편한 시간에 발생할 수 있습니다. 또한, 서비스 제공업체가 제공하는 능력에 대한 신뢰가 부족하면 외부 기술에 의존하는 것이 도전이 될 수 있습니다.
MSP와 클라우드 공급업체 사이 간에 선택
클라우드 서비스를 활용할 때는 서비스 제공업체의 호스팅 인프라도 함께 활용하므로 클러스터 노드, 스토리지 및 네트워킹과 같은 다양한 측면에 대해 그들의 서비스를 사용하는 것에 제한됩니다. 이 옵션은 빠르게 설정할 수 있지만 더 비싸며 사용자 지정 가능성이 적습니다. 공개 클라우드의 가장 큰 장점 중 하나는 포켓몬 모바일 게임 출시나 온라인 스토어 프로모션 이벤트와 같은 급격한 수요 증가를 처리할 수 있는 능력입니다. 그러나 이러한 잠금은 추가 비용과 컴퓨팅, 스토리지, 네트워킹과 같은 다른 서비스에 대한 선택의 자유를 상실할 수 있습니다.
그러나 이는 MSP에게 기회를 제공합니다. 그들은 고객들의 선호하는 인프라와 일치하는 맞춤형 솔루션을 제공함으로써 Kubernetes 설정 및 관리 서비스에 대한 수요를 활용할 수 있습니다. MSP는 융통성, 신속한 배포, 견고한 지원 및 확장성을 제공함으로써 자신을 차별화할 수 있습니다. 이러한 요소들은 이 분야에서 MSP가 활용할 수 있는 주요 경쟁 우위입니다.
MSP가 “Kubernetes as a Service” 인프라를 구축하기 위해 스토리지 솔루션을 고려하는 데 필요한 전제 조건은 CSI(Container Storage Interface) 지원입니다. 이를 통해 Kubernetes 클러스터와 스토리지 솔루션 간의 통합이 개선됩니다. 이전 블로그 글에서 CSI를 소개했습니다. CSI 지원을 통해 MSP는 고객이 스토리지 솔루션을 선택할 때 더 많은 유연성과 선택권을 제공하고 배포 프로세스를 간소화할 수 있습니다.
Kubernetes 배포에 대한 다른 접근 방식
다음 표는 DIY, MSP 또는 클라우드를 비교합니다.
결론
가중치를 고려한 후 Kubernetes를 배포하는 이점과 단점을 고려하면, 기업에는 DIY, MSP 또는 클라우드 기반 솔루션을 포함한 여러 옵션이 있음이 분명합니다. 호스팅된 솔루션에서 제공되는 기능과 같은 신속한 가치 실현은 상업적 성공을 목표로 하는 기업에게 중요합니다. 그러나 잠금 문제가 발생할 수 있어 비용, 기능 또는 성능에 대한 유연성과 최적화가 감소할 수 있습니다. 따라서 적절한 컨테이너 플랫폼과 배포 방법을 선택하는 것이 속도, 융통성, 기능 및 비용 사이의 적절한 균형을 달성하는 데 중요합니다.
중소기업 사용자의 경우, 공개 클라우드에 묶이지 않은 융통성을 유지하는 이상적인 방법은 모든 영역에서 균형을 찾은 MSP를 선택하는 것입니다. MSP가 스토리지를 선택할 때, CSI(Container Storage Interface)를 지원하는지 확인하여 중소기업 사용자에게 우수한 총 소유 비용을 제공해야 합니다.