Kubernetes를 사용하는 경우

완료됨

Kubernetes와 같은 컨테이너 오케스트레이션 플랫폼을 사용하기로 결정하는 것은 비즈니스 및 개발 요구 사항에 따라 다릅니다. 다음은 드론 추적 솔루션의 개략적인 아키텍처를 검토한 것입니다.

이 솔루션은 느슨하게 연결된 공동 작업 서비스로 디자인된 마이크로 서비스로 빌드됩니다. 솔루션 디자인과 유지 관리를 간소화하려면 서비스를 각각 별도로 배포합니다. 다음은 솔루션의 현재 구성입니다.

Diagram of the high-level architecture that describes the drone tracking solution.

  • 웹 프런트 엔드: 추적된 드론에 대한 지도 및 정보를 표시합니다.
  • 캐시 서비스: 웹사이트에 나타나는 자주 요청되는 정보를 저장합니다.
  • RESTful API: GPS 위치 및 배터리 충전 수준과 같은 상태에 대한 데이터를 전송하기 위해 추적 드론에서 사용됩니다.
  • : RESTful API에서 수집한 처리되지 않은 데이터를 보관합니다.
  • 데이터 처리 서비스: 큐에서 데이터를 가져와서 처리합니다.
  • NoSQL 데이터베이스: 웹사이트 및 데이터 처리 서비스에서 캡처한 처리된 추적 데이터 및 사용자 정보를 저장합니다.

회사의 개별 팀에서 해당 서비스를 개발하고 소유합니다. 각 팀은 컨테이너를 사용하여 해당 서비스를 빌드하고 배포합니다. 개발자 팀은 이 새로운 전략을 통해 자동화, 테스트, 전반적인 안정성 및 품질을 위한 최신 소프트웨어 개발 요구 사항을 충족할 수 있습니다.

개발자 요구 사항의 변경으로 인해 회사는 여러 가지 프로세스 및 비즈니스 이점을 얻었습니다. 예를 들어 출시 기간을 개선하고 고객의 접근을 개선한 새로운 기능인 호스트된 컴퓨팅 리소스의 더 효율적인 사용이 있습니다.

그러나 컨테이너 관리와 관련된 몇 가지 문제로 인해 귀사는 컨테이너 오케스트레이션 솔루션을 조사하게 되었습니다. 팀은 추적 애플리케이션을 몇몇 배포로 스케일링하기는 비교적 쉽지만 많은 인스턴스를 스케일링하고 관리하는 것은 어렵다는 사실을 알게 되었습니다.

고려해야 할 여러 가지 다른 측면이 있습니다. 예를 들어 실패한 컨테이너 처리, 스토리지 할당, 네트워크 구성 및 앱 비밀 관리가 포함됩니다.

앞에서 배운 것처럼 Kubernetes는 오케스트레이션 플랫폼으로서 이러한 모든 문제에 대한 지원을 제공합니다.

다음의 경우 회사에서 Kubernetes를 사용하는 것이 좋습니다.

  • 마이크로 서비스로 앱을 개발합니다.
  • 클라우드 네이티브 애플리케이션으로 앱을 개발합니다.
  • 컨테이너를 사용하여 마이크로 서비스 개발
  • 대규모로 컨테이너 업데이트
  • 중앙 집중형 컨테이너 네트워킹 및 스토리지 관리 필요

Kubernetes를 사용하지 않는 경우

모든 애플리케이션을 Kubernetes에서 실행해야 하는 것은 아닙니다. 따라서 회사에 Kubernetes가 적합하지 않을 수 있습니다.

예를 들어 모놀리식 앱을 컨테이너화하고 배포하려는 경우 Kubernetes에서 앱을 실행할 때의 이점을 넘어서 더 많은 노력이 필요할 수 있습니다. 모놀리식 아키텍처는 개별 구성 요소 조정 또는 업데이트와 같은 기능을 쉽게 사용할 수 없습니다.

Kubernetes는 소프트웨어 개발, 배포, 관리 및 프로세스 간소화를 위해 많은 비즈니스 이점을 제공할 수 있습니다. 그러나 Kubernetes는 빠른 학습 능력을 지니고 있습니다. Kubernetes의 모듈식 디자인은 회사 전체의 팀에 영향을 미칠 수 있는 새로운 개념을 도입합니다.

개발 팀은 앱을 개발하고 디자인할 때 최신 디자인 개념을 수용해야 합니다. 이러한 개념에는 마이크로서비스 사용 및 이러한 서비스 컨테이너화가 포함됩니다. 또한 팀은 컨테이너 및 오케스트레이션 환경을 실험하여 사용 가능한 모든 옵션을 최대한 활용해야 합니다.

해당 변경 내용을 채택할 준비가 되지 않은 회사에는 Kubernetes가 적합하지 않을 수 있습니다.