アソビュー!がECSではなくEKSを選んだ理由
by
kirimaru
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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.. ありがとうございました