ウエディングパークにおける コンテナ化方針決定までの道のり

ウエディングパークにおける コンテナ化方針決定までの道のり

CloudNative Days Tokyo 2019 1日目 での発表資料 となります。

4fece0bc6b69dd53530049315f81456e?s=128

yasuhiro1711

July 22, 2019
Tweet

Transcript

  1. ウエディングパークにおける コンテナ化⽅針決定までの道のり YASUHIRO NISHIWAKI WEDDING PARK CO., LTD.

  2. ⽬次 - ⾃⼰紹介/会社紹介 - 背景 - クラウド化(実施中) - コンテナ化(⽅針決定) -

    マイクロサービス化(検討中)
  3. ⾃⼰紹介

  4. ⾃⼰紹介 Yasuhiro Nishiwaki @yasuhiro1711 株式会社ウエディングパーク 技術責任者 兼 MGR(Engineering Manager) -

    SREチーム、AI labチーム、つくしチーム、 セキュリティチームの⽴ち上げ 等 - オライリー書籍の「監訳・監修」何本か
  5. 会社紹介

  6. 会社紹介 株式会社ウエディングパーク 本社:東京/表参道 営業所:全国 9拠点 通称「ウエ パ」 株式会社ウエディングパーク 本社:東京/表参道 営業所:全国

    9拠点 通称「ウエパ」
  7. 会社紹介

  8. サービス紹介

  9. サービス紹介

  10. サービス紹介

  11. サービス紹介 クリエイティブ⽀援 クリエイティブ専⾨チーム・動画制作専 ⾨チームが、マーケティングに重要にな るWeb集客⽤の動画や広告クリエイティ ブを企画・制作。 アドテク ブライダル業界向けにアレンジした広 告商品の運⽤・コンサルティング。 Google

    Premium Awardには、2年連続 ノミネート。 Webつく クライアント向けウェブサイト作成ツール 。全国の結婚式場がウエディングに特化し た公式サイトを簡単に作成できます。
  12. システムDiv. 紹介

  13. スローガン 2020までの開発チームスローガン No.1 Bridal Tech Team By20

  14. システムDiv. 統計 新卒・中途⽐率 平均年齢 男⼥⽐率

  15. システムDiv. 取り組み「つくしチーム」 2018年 つくし発⾜ - つくし=Technical KAIZEN Specialists の略 -

    ミッション ・開発現場から運⽤開発上での技術課題を発⾒し解決する ・技術視点での制度や組織活性化の提案 ・技術責任者のミッションのサポート
  16. 今回の背景

  17. 検討背景 -現状- 約15年のオンプレ運⽤ 新規サービスは既にすべてクラウド 社内でのクラウドへの機運の⾼まり

  18. マイクロサービス化で 課題解決へ バージョン/セキュリティアッ プデート作業のコスト⼤ サーバ納期/インフラ設定変更 コスト⼤ 共有システムの単⼀障害点のビジ ネスインパクトの増加 アプリケーション開発では、 影響範囲が広がる⼀⽅

    検討背景 -課題-
  19. 検討背景 -⽅針- STEP1 クラウド化 STEP2 コンテナ化 STEP3 マイクロサービス化

  20. クラウド化(実施中)

  21. AWS で決定 ・AWSの研究開発費、サービスへの投資率の厚さはすごい。 ・AWSのセキュリティ/コンプライアンス準拠への厚さはすごい。 ・AWSのサーバレスサービスの品質の⾼さはすごい。 当初⽐較の⼤⼿クラウドベンダー3社どれを取っても最⾼レベルのサービスを利⽤できると感じた。 3社はどれも⾼レベルで争っており、3⼤ベンダーの素晴らしさ/恐ろしさを感じた。

  22. AWSの⾃社への導⼊コスト AWSは信頼できる。でも結局⼀番⼤事な基準はコレ。弊社では……

  23. クラウド化⽅針 ・Just lift 構想 ・サーバ(VM import) → EC2化 ・MySQL →

    Aurora ・ストレージ → S3 等 課題: アプリケーションのテスト⼯数が膨⼤に。 テスト基準、環境の整備が同時に必要。
  24. コンテナ化(⽅針決定)

  25. コンテナ化⽅針 ・AWS上でコンテナを⽤いた設計を実現したい。 【メイン】 ・コンテナオーケストレーションツールとして、 EKS or ECS どちらを採⽤するかを検討。

  26. AWSはコンテナの利⽤環境 No.1シェア 63% 43% 35% 29% 24% 20% OpenStack Vmware

    Azure Google(GCE/GKE) On-Premise Amazon(EC2/ECS) 引⽤: https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/
  27. 3⼤ベンダーのコンテナ対応 ECS(EC2 Container Service)開始。 のどれとも違う独⾃ソリューション。 EKS( Amazon Elastic Container Service

    for Kubernetes )
  28. 3⼤ベンダーのコンテナ対応 ECS(EC2 Container Service)開始。 のどれとも違う独⾃ソリューション。 EKS( Amazon Elastic Container Service

    for Kubernetes )
  29. 3⼤ベンダーのコンテナ対応 ECS(EC2 Container Service)開始。 のどれとも違う独⾃ソリューション。 EKS( Amazon Elastic Container Service

    for Kubernetes )
  30. AWS コンテナ関連サービス Amazon EC2 Amazon Elastic Container Registry Amazon Elastic

    Container Service Amazon Elastic Container Service for Kubernetes AWS Fargate 引⽤:「 AWS Black Belt 」資料より
  31. Amazon ECS or EKS の棲み分け ECS+(EC2/Fargate) 運⽤が容易で 低コスト Fargateは単価⾼ →

    アプリケーションエンジニアの敷居低い。 ex, スタートアップこそ利⽤すべし
  32. Amazon ECS or EKS の棲み分け K8sエコシステム 利⽤可能 → コストがかかってもK8sの理解と開発を推進できる 開発組織であればおすすめ。

    EKS+(EC2)
  33. Amazon ECS or EKS の棲み分け ・ECSかEKSかは、運⽤システムの設計や特性など、 ワークロードによって選択してもらえれば良い。 ・EKSを選択する場合、数多いエコシステムを利⽤可能に。 反⾯、K8sの学習コストが⾼いのを考慮しよう。 ・マルチクラウド推進なら断然EKSがオススメ。

    ・K8sは、やる気があれば楽しいぞ。
  34. 弊社でのECS・EKSの検討

  35. ウエディングパーク の EKS・ECS 検討の流れ 知る ⽐べる 決める

  36. ウエディングパーク の EKS・ECS 検討の流れ 知る ⽐べる 決める

  37. ウエディングパーク の EKS・ECS 検討 1, K8sの学習の実施 - おうちK8sでクラスター構築 2. AWS公式トレーニング

    - EKSトレーニングの実施 - ECSトレーニングの実施 3, 既存サービスでのECSの知⾒復習 他に他クラウドサービス等も学習しています。 知る
  38. おうちK8sで、K8sクラスターを勉強 ・Kubernetesの ラズベリーパイ包み ウエパ⾵ ・⼀家に⼀台 ⼿のひらサイズの おうちKubernetes ・⾒所は、鮮烈な⾚、 滑らかなケーブリング 詳細:33時間クッキング【Kubernetesのラズベリーパイ包み〜ウエパ⾵〜】

    https://engineers.weddingpark.co.jp/?p=1993
  39. AWS公式ガイド実施 何よりもまずこれでした。 AWS公式 EKSユーザガイド https://docs.aws.amazon.com/ja_jp/eks/ AWS公式 ECSユーザガイド https://docs.aws.amazon.com/ja_jp/ecs/

  40. AWS公式ワークショップ実施 ユーザガイドよりも実践形式。 Amazon EKS Workshop https://eksworkshop.com/ Amazon ECS Workshop https://ecsworkshop.com/

  41. ECSでの知⾒のまとめ、復習 Amazon ECR Amazon ECS Github Push User 1, Build

    2,Docker Push EC2 instance contents トリガー 3, タスク定義更新 サービス更新 4, エージェント に指⽰ 5, Docker pull 6, デプロイ ECS agent container container task
  42. ウエディングパーク の EKS・ECS 検討の流れ 知る ⽐べる 決める

  43. ウエディングパーク の EKS・ECS 検討 1, ECS/EKS , EC2/Fargate の組み合わ せの表で⽐較。

    2, K8sの導⼊はアリかナシか検討。 ⽐べる
  44. ECS/EKS , EC2/Fargate の組み合わせ コントロー ルプレーン データ プレーン ⽐較 コメント

    ECS EC2 ◎ ・ECSの使いやすさ◎ ・コンテナ化に慣れるにもちょうど良い。/ ・とても安い。 Fargate ▲ ・コスト試算してみて今の所なし。⾼い。 ・将来検討あり。 EKS EC2 ◎ ・便利なK8sで⾏くなら間違いなくこれ。 ・学習コストと運⽤コストがかなり⾼い。 Fargate × ・正式未対応のため、現状は選択肢になし。
  45. K8sの導⼊はアリかナシか ・K8sは魅⼒。次世代の基盤技術であることは理解。進めたい。 ・K8sの初期の学習コスト、バージョンアップに伴うAPI対応等 の運⽤コストは組織⽐率で⾒てもとても⼤きい。 ・K8sの設計/構築/運⽤が与える事業影響とリスクは⼤きい。 ・K8s運⽤を別チームに引き継げるかどうか。⼼配。

  46. ウエディングパーク の EKS・ECS 検討の流れ 知る ⽐べる 決める

  47. ウエディングパーク の EKS・ECS 検討 ⽐較の結果を元に⽅針決定。 決める 弊社ではビジネスファーストのため、 ECSから開始。次期EKSを⽬指す。 理由: ・K8s導⼊よりもビジネス拡⼤を優先。

    ・ECS後 → EKS検討でも⼗分である。 ※ K8s⾃体は動向を追いつづける。
  48. マイクロサービス化(検討中)

  49. マイクロサービス化の準備 1, マイクロサービス毎のチーム編成の全社への理解 → メンバーにも、⾮エンジニア職にも、経営層にも必要。 2, マイクロサービスの概念で組織を変えるのは本当に正解か? → 責任基準は明確。担当者に依存。 →

    ⾃分さえ良ければいい 考えにならないか? → プロダクト全体として成⻑できるのか。
  50. マイクロサービス化の準備 3, マイクロサービス寄りの概念ではなく、 「フィーチャーチーム」の概念を加えるのがいいのか? → コンウェイの法則を避け、顧客にとっての最⾼の価値を提供する チーム。弊社の場合、⼤規模スクラムパターンが現実的か。 参考:http://featureteamprimer.org/jp/feature_team_primer_ja.pdf

  51. 最後に

  52. っくぁああ

  53. Thank you! Yasuhiro NISHIWAKI Twitter:yasuhiro1711