Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アソビュー!がECSではなくEKSを選んだ理由

4c1117e35b5e537db24dd86748e71dba?s=47 kirimaru
March 03, 2021

 アソビュー!がECSではなくEKSを選んだ理由

下記での登壇資料です。
https://lancersrecruit.connpass.com/event/187989/

タイトル通り、なぜアソビュー!がアプリケーション実行基盤としてEKSを選んだか、その背景や選定理由について書いています。

4c1117e35b5e537db24dd86748e71dba?s=128

kirimaru

March 03, 2021
Tweet

Other Decks in Technology

Transcript

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

  2. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 自己紹介 霧生

    隼稀(Junki Kiriu) アソビュー株式会社 (2019年2月〜) SRE / チームリーダー
  3. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!は多くのサービスを運営しています

  4. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. マイクロサービス化 &

    事業の拡大
  5. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. その結果アソビュー!はこうなった 17個のAWSアカウント

    20個のECSクラスター
  6. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. コンテナクラスタにまつわる問題 •

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

  8. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 解決までの道筋 •

    ECSに統一するのか? EKSに移行していくのか? • どんな要件のクラスタが必要なのか?
  9. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!が ECSではなく

    EKSを選んだ理由
  10. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 今日話さないこと 技術についての詳細

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

  12. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKSはいいぞ AWSの他のサービスと

    の親和性が高い 拡張性が高い Kubernetes は難しい ECSはいいぞ Kubernetesはコンテナ オーケストレーションツー ルのデファクトだ ECSは運用が 簡単だ 無料で使える オンプレから 移植しやすい EKS ECS
  13. 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

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

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

  16. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. どちらかが絶対的に優れているわけではない •

    会社や組織のフェーズ、エンジニアの数 • 有識者の有無 • 求める要件 これらによって、それぞれにとって選ぶべきサービスが変わってくる。
  17. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 求める要件を整理して 適切なサービスを

    選択する必要がある
  18. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 要件の整理と比較

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

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

  21. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. インフラへの理解の浸透 -

    目的 • 運用担当者を増やす • 構成理解による運用効率化 変化に対する柔軟性 - 目的 • 新規技術や施策導入の効率化 • 将来実施する施策のための基盤づくり
  22. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 4つの比較項目

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

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

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

    ECSでもEKSでも 大して変わらん
  26. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKS(Kubernetes) は難しい。

    運用が大変。 と、よく言われる
  27. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 大事なのは 「誰にとって」なのか

  28. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アプリの運用 •

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

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

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

    運用コストとか ECSでもEKSでも 大して変わらん
  32. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 逆にSREにとっては大変な面も多い •

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

    ただし、EKSを選択するには組織力などパワーが必要
  34. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

    Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性
  36. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ECS terraform、jsonなどを複数のファイルで管理かつディファクトがあまりない

  37. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKS 1つのyamlでアプリケーション環境をコード化できる

    アプリケーション起動設定を一元管理できる
  38. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

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

    Code が容易か? アプリエンジニアが アプリの運用をできるか? インフラへの理解の浸透 より複雑な要件を満たす インフラが構築できるか? 新規アプリケーションの 構築が効率化できるか? 変化に対する柔軟性
  41. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. ECS ロードバランサーを作って、Serviceを作って、タスク定義を用意して...

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

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

  44. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

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

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

    集めつつこれらを実現できる
  48. 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

  49. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 今後の新しい技術も Kubernetesをべースに

    生まれてくる
  50. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. より複雑な要件を満たせるのはどちらか? EKS(Kubernetes)を採用する方が

    より将来性があり、複雑な要件を満たすことができる
  51. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

  53. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

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

  56. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. EKSはいいぞ AWSの他のサービスと

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

    他では違うかもしれない
  58. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. 要件の比較や Pros

    & Consの比較をしてみる
  59. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. アソビュー!の場合は...

  60. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. Infrastructure as

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

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

    幸いです。
  63. Copyright © 2020 ASOVIEW Inc. ALL Rights Reserved.. SREエンジニア •

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