Slide 1

Slide 1 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!が ECSではなくEKSを選んだ理由

Slide 2

Slide 2 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 自己紹介 霧生 隼稀(Junki Kiriu) アソビュー株式会社 (2019年2月〜) SRE / チームリーダー

Slide 3

Slide 3 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!は多くのサービスを運営しています

Slide 4

Slide 4 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. マイクロサービス化 & 事業の拡大

Slide 5

Slide 5 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. その結果アソビュー!はこうなった 17個のAWSアカウント 20個のECSクラスター

Slide 6

Slide 6 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. コンテナクラスタにまつわる問題 ● 管理運用が厳しいアプリケーション数と、個々で違うインフラ ● 開発チーム数よりも多いコンテナクラスターとAWSアカウント ● 有識者やそもそものエンジニア不足 ● 「ECS?なにそれ?」 ● 「ログってどこから見るんですか?」

Slide 7

Slide 7 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. コンテナクラスタを ひとつにして解決した

Slide 8

Slide 8 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 解決までの道筋 ● ECSに統一するのか? EKSに移行していくのか? ● どんな要件のクラスタが必要なのか?

Slide 9

Slide 9 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!が ECSではなく EKSを選んだ理由

Slide 10

Slide 10 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 今日話さないこと 技術についての詳細 How To

Slide 11

Slide 11 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ECS? EKS?

Slide 12

Slide 12 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKSはいいぞ AWSの他のサービスと の親和性が高い 拡張性が高い Kubernetes は難しい ECSはいいぞ Kubernetesはコンテナ オーケストレーションツー ルのデファクトだ ECSは運用が 簡単だ 無料で使える オンプレから 移植しやすい EKS ECS

Slide 13

Slide 13 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. トレンド動向 https://trends.google.co.jp/trends/explore?date=2014-07-27%202020-08-27&q=AWS%20ECS,AWS%20EKS

Slide 14

Slide 14 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 結局どっちがええんや?

Slide 15

Slide 15 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 全員にとっての銀の弾丸はない

Slide 16

Slide 16 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. どちらかが絶対的に優れているわけではない ● 会社や組織のフェーズ、エンジニアの数 ● 有識者の有無 ● 求める要件 これらによって、それぞれにとって選ぶべきサービスが変わってくる。

Slide 17

Slide 17 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 求める要件を整理して 適切なサービスを 選択する必要がある

Slide 18

Slide 18 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 要件の整理と比較

Slide 19

Slide 19 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!が重要視した 2つの指針

Slide 20

Slide 20 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. インフラへの理解の浸透 変化に対する柔軟性

Slide 21

Slide 21 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. インフラへの理解の浸透 - 目的 ● 運用担当者を増やす ● 構成理解による運用効率化 変化に対する柔軟性 - 目的 ● 新規技術や施策導入の効率化 ● 将来実施する施策のための基盤づくり

Slide 22

Slide 22 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 4つの比較項目

Slide 23

Slide 23 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. インフラへの理解の浸透 変化に対する柔軟性 アプリエンジニアが アプリの運用をできるか? Infrastructure as Code が容易か? 新規アプリケーションの 構築が効率化できるか? より複雑な要件を満たす インフラが構築できるか?

Slide 24

Slide 24 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性 アプリエンジニアが アプリの運用をできるか?

Slide 25

Slide 25 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 学習コストとか 運用コストとか ECSでもEKSでも 大して変わらん

Slide 26

Slide 26 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKS(Kubernetes) は難しい。 運用が大変。 と、よく言われる

Slide 27

Slide 27 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 大事なのは 「誰にとって」なのか

Slide 28

Slide 28 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリの運用 ● アプリ構築 ● アプリケーションメトリクスの監視やリソースの確保 /決定 ● スケールアウト/イン ● etc... クラスタの運用 ● Kubernetesアップデート/クラスタライフサイクルの決定 ● エコシステムの管理 /運用 ● 権限管理 ● etc... EKSの運用について

Slide 29

Slide 29 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリの運用 ● アプリ構築 ● アプリケーションメトリクスの監視やリソースの確保 /決定 ● スケールアウト/イン ● etc... クラスタの運用 ● Kubernetesアップデート/クラスタライフサイクルの決定 ● エコシステムの管理 /運用 ● 権限管理 ● etc... EKSの運用について 難しい/大変なのはだいたいこっち

Slide 30

Slide 30 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリの運用 ● アプリ構築 ● アプリケーションメトリクスの監視やリソースの確保 /決定 ● スケールアウト/イン ● etc... クラスタの運用 ● Kubernetesアップデート/クラスタライフサイクルの決定 ● エコシステムの管理 /運用 ● 権限管理 ● etc... 役割を分ける アプリエンジニアが 担当する領域 SREが 担当する領域

Slide 31

Slide 31 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリエンジニアにとって 学習コストとか 運用コストとか ECSでもEKSでも 大して変わらん

Slide 32

Slide 32 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 逆にSREにとっては大変な面も多い ● Kubernetesアップデート ○ どこまで行ってもこれが本当に、本当に大変 ● 様々なエコシステムによる拡張性 → 学習コストの増加 ○ とはいえECS + 運用ツールを考えると大して多いイメージはない ○ コンテナクラスターのディファクトであり世の中に十分な情報が公開されている

Slide 33

Slide 33 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリエンジニアがアプリの運用をできるか? ECSでもEKSでも可能 ただし、EKSを選択するには組織力などパワーが必要

Slide 34

Slide 34 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性 アプリエンジニアが アプリの運用をできるか?

Slide 35

Slide 35 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 36

Slide 36 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ECS terraform、jsonなどを複数のファイルで管理かつディファクトがあまりない

Slide 37

Slide 37 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKS 1つのyamlでアプリケーション環境をコード化できる アプリケーション起動設定を一元管理できる

Slide 38

Slide 38 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Codeが容易か? EKSの方が実現しやすい

Slide 39

Slide 39 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 40

Slide 40 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 41

Slide 41 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ECS ロードバランサーを作って、Serviceを作って、タスク定義を用意して...

Slide 42

Slide 42 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKS 1つのyamlを書いて「kubectl apply」!

Slide 43

Slide 43 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 新規アプリケーション構築の効率化ができるか? EKSの方が早くアプリケーション構築ができる

Slide 44

Slide 44 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 45

Slide 45 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 46

Slide 46 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 近い将来にやりたいこと ● 様々なタイプのアプリケーションをひとつのクラスタで管理したい ● より複雑なデプロイ手法の導入 ● サービスメッシュの導入 ● カオスエンジニアリング → ECSでも他のAWSのサービスを利用すれば、実現できる部分もある

Slide 47

Slide 47 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Kubernetesは AWS以外でのナレッジも 集めつつこれらを実現できる

Slide 48

Slide 48 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. もう一度トレンド動向 https://trends.google.co.jp/trends/explore?date=2014-07-27%202020-08-27&q=AWS%20ECS,Kubernetes

Slide 49

Slide 49 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 今後の新しい技術も Kubernetesをべースに 生まれてくる

Slide 50

Slide 50 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. より複雑な要件を満たせるのはどちらか? EKS(Kubernetes)を採用する方が より将来性があり、複雑な要件を満たすことができる

Slide 51

Slide 51 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 52

Slide 52 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. まとめ

Slide 53

Slide 53 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 54

Slide 54 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性 アソビュー!的には これらをより実現しやすかったのがEKSだった

Slide 55

Slide 55 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 大事なこと

Slide 56

Slide 56 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKSはいいぞ AWSの他のサービスと の親和性が高い 拡張性が高い Kubernetes は難しい ECSはいいぞ Kubernetesはコンテナ オーケストレーションツー ルのデファクトだ ECSは運用が 簡単だ 無料で使える オンプレから 移植しやすい EKS ECS 組織やサービスに 求められていることを よく精査して選択する

Slide 57

Slide 57 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKSはアソビュー!の 銀の弾丸にはなったが 他では違うかもしれない

Slide 58

Slide 58 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 要件の比較や Pros & Consの比較をしてみる

Slide 59

Slide 59 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!の場合は...

Slide 60

Slide 60 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性

Slide 61

Slide 61 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ● kubernetes update ● 有識者、0人! ● 権限の取り回し ● コンソールのGUI ● 様々なアプリが同居できる ● アプリ構築が早い ● デプロイ手法の統一化 ● 楽しい EKS ● デプロイが煩雑になっている ● コード管理できていない ● バラバラな設定 ● 管理運用が楽 ● 一定の有識者がいる ● AWSの他のサービスとの親和性 ECS Pros Cons

Slide 62

Slide 62 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 今回の話が 今後の選択の一助となれば 幸いです。

Slide 63

Slide 63 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. SREエンジニア ● コンテナ触りたい、k8sの経験を積みたい方 ● サーバアプリエンジニアから新しい挑戦をしたい方 お気軽にご連絡ください! レジャーのサービスって面白そう!と思う方! アソビュー!SREチームは仲間を募集しています!

Slide 64

Slide 64 text

Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ありがとうございました