본문 바로가기
Cloud Side/etc

[Cloud] 컨테이너 오케이스트레이션 툴 Docker Swarm vs Kubernetes

by developerBeluga 2022. 6. 22.
728x90
반응형

 

현재 저희 회사에서는 MSA로 독립적인 배포 가능한 서비스를 준비하고 있습니다.

오케스트레이션 관리를 위해 swarm을 쓸지 kubernetes를 쓸지에 대한 논의가 나와 한 번 정리해 보자는 생각이 들었어요.

 

Container Orchestration 

우선 오케스트레이션이란 무엇일까요?

컨테이너의 배포, 관리, 확장, 네트워킹의 자동화입니다.

회사에서는 수백 또는 수천개의 컨테이너와 호스트가 있을 것이고 배포하고 관리하는 입장에서는 오케스트레이션을 필요한거죠.

컨테이너에 MSA를 구현하면 스토리지, 네트워킹, 보안과 같은 서비스를 간편하게 오케스트레이션 할 수 있습니다.

 

오케스트레이션 = 컨테이너 배포 관리 자동화라고 생각하면 좋을 것 같습니다.

이때, 오케이스레이션 도구로 Docker Swarm과 Kubernetes가 있는 것입니다.

 

 

Docker Swarm vs Kubernetes

출처: https://www.imaginarycloud.com/blog/docker-swarm-vs-kubernetes/

자, Swarm과 Kumbernetes가 오케이스레이션 도구라는 것을 알았습니다.

우선 둘의 설명을 한 뒤 차이점을 알아보도록 하겠습니다.

 

Docker Swarm

여러 개의 Docker 호스트를 함께 클러스터링하여 단일 가상 Docker 호스트를 생성합니다.

간단하게 작동하며 설정이 쉽고 Docker 명령어와 Compose를 그래로 사용합니다.

 

 

Kubernetes

아마 가장 유명한 것은 쿠버네티스라고 생각합니다.

구글에서 개발하였고 가장 기능이 풍부해서 많이 사용되는 오케스트레이션 프레임워크입니다.

다양한 환경에서 작동하도록 설계되어져 있습니다.

 

 

차이점

Swarm의 경우 Docker 호스트 클러스터를 조정하기 가장 쉬운 방법을 제공하고 있습니다.

Kubernetes는 컨테이너 서비스 배포 및 관리에 많은 이점을 가지고 있습니다.

 

Swarm은 자체 인프라를 구축하고 실행하는 경우가 일반적입니다.

실행중인 워크로드가 적거나, 자체 인프라를 관리해야 해도 괜찮은 경우, Kubernetes가 제공하는 특정 기능이 필요하지 않은 경우 Swarm을 선택하는 것이 좋을 수 있습니다.

 

Kubernetes은 처음에는 설정이 복잡하지만 뛰어난 유연성과 기능을 제공합니다.

많은 워크로드를 실행 중이고 클라우드 네이티브 상호 운용성이 필요한 경우, 조직에 많은 팀이 있어 서비스 격리가 더 많이 필요한 경우 Kubernetes을 선택하는 것이 좋을 수 있습니다.

 

 

결론

MSA를 고려한다는 것 자체가 서비스의 규모가 상당히 크다는 생각을 했습니다.

그렇기 때문에 Kubernetes를 사용하는 것이 좋다는 결론이 나왔습니다.

물론 각 회사들마다 추구하는 아키텍쳐가 다르기 때문에 개발자들끼리 논의가 충분히 이루어져야 한다고 생각합니다.

 

 

 

 

 

 

728x90
반응형

'Cloud Side > etc' 카테고리의 다른 글

[Cloud] 클라우드 배포방식 (1) VM  (0) 2022.08.03

댓글