Docker コンテナのデプロイ環境について

2021年11月16日


Docker コンテナのデプロイ環境について

Docker コンテナの管理システムサービスの種類

  • 運用を自前で行うオンプレミス型

    • Docker Swarm

      • Docker 社が開発している OSS のコンテナ管理システム
        学習コストが低いが本番環境で必要になってくるサービスディスカバリや
        ゼロダウンタイムなどの仕組みが標準で提供されない。
    • Kubernetes ( クーべネティス )

      • Google が中心となって開発してきた OSS のコンテナ管理システム
        10 年に渡る Google の運用経験をベースにして作られており Docker Swarm
        で標準提供されていない本番環境で必要となってくる仕組みが提供されおり
        様々なコンテナ運用ケースをカバーできるが学習コストは高い面がある。
    • Docker UCP

      • Docker 社が提供する商用のコンテナ管理システム
        クーベネティス程高機能ではないが UI が付属しており GUI ベース
        で管理ができるので非常に分かりやすくなっている。
    • Deis

      • Docker をベースにした PaaS 型のコンテナ管理システム
        よりアプリケーション開発フローに特化したシステムになっており
        アプリケーション開発者に最小限の学習コストで管理が可能になっている。
  • 運用を外部サービスが行ってくれるクラウド型

    • Docker Cloud

      • コンテナホストは自前で用意する必要はあるが Docker 社が提供
        しているためシンプルで分かりやすくなっているのが特徴。
    • Amazon EC2 Container Service ( ECS )

      • 他の AWS との密に連携するシステムであることが特徴的で
        コンテナ管理システム自体には課金されず EC2 インスタンス文課金される方式。
    • Google Container Engine ( GKE )

      • 基本的な使い方はクーベネティスと大差ないがクーベネティス自体の運用を
        任せられるため学習コストは低くなるメリットがある。
      どれもサービスの利用に料金が掛かりこういったホスティングや
      管理を行うサービスの事を CaaS ( Container as a Service )  
      またはコンテナオーケストレーションと呼んでいる。