アーキテクチャ決定記録: Kubernetes コンテナオーケストレーション
問題の記述
成長を続けるクラウドネイティブアプリケーションポートフォリオのために、コンテナオーケストレーションプラットフォームを選択する必要があります。現在のレガシープラットフォームのデプロイメントは遅すぎ、増大するニーズに対応できるほど俊敏ではありません。アジリティや使いやすさを損なうことなく、最も効率的な方法でサービスをスケールできるシステムを探しています。
検討した代替案
Docker Swarm
Kubernetes
Apache Mesos
行われた決定
各コンテナオーケストレーションプラットフォームを徹底的に分析した結果、エンタープライズのニーズに最適な選択肢として Kubernetes を採用することを決定しました。Kubernetes を選択した理由は次のとおりです:
スケーラビリティ: Kubernetes 独自の設計はアプリケーションのスケーリングに最適であり、スケーラビリティの要件が時間とともに変化しても、Kubernetes にはこれらの変化に問題なく対応できる組み込みの能力があります。
分散型アーキテクチャ: Kubernetes のマスター・ワーカートポロジーは、単一障害点がないことを保証する分散型アーキテクチャを実現します。
コミュニティサポート: Kubernetes には最大かつ最も活発なオープンソースコミュニティがあり、多数の貢献者、開発者、ベンダーがいるため、助けを得たりリソースを見つけたりしやすくなります。
エコシステムのサポート: Kubernetes には、さまざまなサードパーティツール、コンテナレジストリとの統合、CI/CD パイプライン、データストレージなどを備えた、成長を続けるエコシステムがあります。
したがって、現在と近い将来のコンテナオーケストレーションプラットフォームとして Kubernetes を採用することを決定しました。