ECSと他のDocker 管理サービスの比較

ECSと他のDocker 管理サービスの比較

2015/07/27 JAWS-UGコンテナ支部 #1

Ecd0c945f6911dbf75358a8addee15f7?s=128

takipone

July 27, 2015
Tweet

Transcript

  1. ECSと他のDocker 管理理サービスの⽐比較  JAWS-‐‑‒UGコンテナ⽀支部  #1 classmethod.jp 1 2015/7/27 クラスメソッド株式会社 ⼤大瀧隆太

  2. classmethod.jp 2 •  Ryuta  Otaki        @takipone • 

    Job  title  :      AWS  Consulting  Div.    Pre-‐‑‒sales/Engineer •  Interest  :      Network  /      Deployment  Tools •  Favorite  AWS  Service      Amazon  Route  53 classmethod.jp 2 About  me
  3. classmethod.jp 3 Works ↑@ITさんのWeb連載 全4回、2014年年5〜~8⽉月 ↑先⽉月出たばかりのムック 本です。1部スピーカーの @zembutsuさんと共著。

  4. classmethod.jp 4 会社の紹介 クラスメソッドは AWSとモバイルアプリ開発の ブログを社員総出でやってます。 http://dev.classmethod.jp/

  5. classmethod.jp 5 ブログでは... •  ECSの記事が20本! http://dev.classmethod.jp/referencecat/aws-‐‑‒ecs/ •  Dockerの記事が43本(多分もっとある) http://dev.classmethod.jp/referencecat/docker/ • 

    ちなみにAWSだと1,648本あります(キモい
  6. Agenda •  Dockerクラスタとは •  ⽐比較 •  Docker管理理ソフトウェア/サービス •  ECSの使いどころ • 

    ECSの真のライバル classmethod.jp 6
  7. Dockerクラスタとは •  Dockerコンテナを実⾏行行する複数のホストをグ ループとして扱う classmethod.jp 7 EC2 EC2 EC2 EC2

    EC2 EC2 EC2 EC2 Dockerクラスタ
  8. Dockerクラスタに求められる機能 1.  スケジューラ 2.  オーバーレイネットワーク 3.  サービスディスカバリ classmethod.jp 8

  9. スケジューラ •  どのホストでどのコンテナを実⾏行行するのかを 決定する – 例例:  追加するコンテナはリソースに余裕のある       ホストで実⾏行行 – 例例:

     コンテナAとコンテナBは同じホストに配置 classmethod.jp 9 EC2 EC2 EC2 EC2 Dockerクラスタ ?
  10. オーバーレイネットワーク •  クラスタ内で⼀一意なコンテナのIPアドレス •  他のホストのコンテナとの相互接続 classmethod.jp 10 EC2 EC2 EC2

    EC2 Dockerクラスタ
  11. サービスディスカバリ •  コンテナで実⾏行行するサービスのエンドポイン トの提供 •  複数コンテナの場合は負荷分散も classmethod.jp 11 EC2 EC2

    EC2 EC2 Dockerクラスタ web.local mysql.local
  12. Docker管理理ソフトウェア/サービス classmethod.jp 12 Amazon  ECS Kubernetes Docker  Swarm ほかにもあるよ!

  13. Kubernetes(略略称:  k8s) •  Googleが主に開発してきたOSSのDocker クラスタ管理理ソフトウェア •  AWS含め様々なプラットフォームをサポート •  最近バージョン1.0をリリース • 

    同時にプロダクトオーナーを ⾮非営利利組織のLinux  Foundation 配下のCloud  Native  Computing Foundationに移管予定と発表 classmethod.jp 13
  14. Kubernetes勢 •  Tectonic:  CoreOS  +  Kubernetes •  OpenShift:  Red  HatのPaaS

    •  GKE:  GoogleのKubernetes  as  a  Service •  多数決的には、Kubernetesがデファクトにな りそうな⾒見見通し。 classmethod.jp 14
  15. Kubernetes  as  a  Service •  GKE(Google  Container  Engine) •  現在はベータ

    •  GCE/GCP上でKubernetesクラスタを簡単に 構築しマネージドマスターを提供 •  現時点ではGKE独⾃自の拡張機能はない •  GCPにはGCR(Google  Container  Registry) というDocker  Registry  as  a  Serviceがあっ て便便利利 (ただしストレージ領領域はGCP版S3のGCS) classmethod.jp 15
  16. Docker  Swarm •  Docker社が開発するOSSのDockerクラスタ 管理理ソフトウェア •  現在はベータ(バージョン0.3) •  オペレーションがdockerコマンド(Docker  

    RESTful  API)に統合されている •  ECSがサポート予定と AWSがDockerCon  15 で発⾔言 classmethod.jp 16
  17. その他 •  古参 – CoreOS  Fleet •  新進気鋭 – Rancher •  クラスタ勢

    – Apache  Mesos  /  Mesosphere  DCOS •  PaaS勢 – Heroku – Deis – Flynn classmethod.jp 17
  18. ⽐比較 classmethod.jp 18 項⽬目 ECS Kubernetes Swarm スケジューラ △ 簡易易な実装

    +他のスケジューラ △ 簡易易な実装 +他のスケジューラ ◦ Strategies/Filtersに よる多彩な設定 オーバーレイ ネットワーク × なし ◦ L2レベルはオプション × なし、今後追加予定 サービス ディスカバリ ◦ ELB連携 ◦ *LB+kube-‐‑‒proxy △ EtcdによるKVSのみ マネージド マスター ◦ ◦ (ただしVMインスタン ス実⾏行行料料⾦金金がかかる) マネージドサービス なし
  19. ECSの使いどころ •  AWS各コンポーネントとの連携 •  薄いエージェントに徹している印象、他の Docker関連プロダクトを追加しやすい –  参考:  https://github.com/aws/amazon-‐‑‒ecs-‐‑‒agent/issues/127 • 

    マネージドマスターに安⼼心感あり •  オーバーレイネットワークは、Dockerで ライブマイグレーションがサポートされたら 必要かも classmethod.jp 19
  20. ECSの真のライバル •  Micro  Servicesを実現する新パターンは AWS  Lambda+Amazon  API  Gateway!! •  Lambdaはミリ秒単位で課⾦金金されるNode.js

     /   JavaのContainer  as  a  Service •  API  Gatewayは、Lambdaへのリクエストを 待ち受けるAWSのinetd的なサービス •  ECS  Service(≒ELB)の⼿手前にAPI  Gateway を置くのもあり classmethod.jp 20 Client API  Gateway Lambda
  21. ECSの真のライバル •  ECS  Service(≒ELB)の⼿手前にAPI  Gateway を置くのもあり •  API  Gatewayはなかなか曲者なので、皆さん がしがし触ってナレッジ共有しましょう!

    classmethod.jp 21 Client API  Gateway ECS  Service
  22. まとめ •  デファクトスタンダードになりつつある Kubernetesの動きは注視するべき •  Lambda+API  Gatewayの動向にも注意 •  AWSの他サービス(IAMとか)との連携に期待 • 

    シンプルなECSは、不不⾜足している点を他のプ ロダクトと組み合わせて解決できるかも classmethod.jp 22