DMM.comの改革とAWS

 DMM.comの改革とAWS

AWS Summit 2019にて登壇
DMM.comの組織改革にAWSをいかに活用しているか。

05e8adce66be4e80390a29ace0075161?s=128

y_matsuwitter

June 13, 2019
Tweet

Transcript

  1. S U M M I T To k yo

  2. © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T DMM.comの改⾰とAWS Matsumoto Yuki CTO DMM.com LLC / DMM GAMES LLC I 2 - 0 7
  3. © DMM.com • 松本 勇気 (@y_matsuwitter) • DMM.com CTO •

    経歴 • 東京⼤学在学中に3社のスタートアップを ⽴ち上げ・参加 • 2013年 Gunosy⼊社 • Gunosyにて執⾏役員、CTO、新規事業担 当を経てDMM.comへ • 趣味 • ガジェット収集、筋トレ、料理、⼦育て • 未来を感じる技術が好きです。 3 ⾃⼰紹介
  4. © DMM.com 本⽇の話 • 組織を牽引する・改⾰する⽴場の⽅向けに、組織を如何に変⾰する か、その中でAmazon Web Serviceがいかなる改善をもたらすか、 DMM.comの事例からお話します。 4

  5. © DMM.com ⽬次 • 2018.10時点での課題 • DMM Tech Vision •

    Agility / Scientific / MotivativeとAWS 5
  6. © DMM.com CTO就任時における DMMの課題 ⽇本の多くの組織が抱える技術活⽤の壁 6

  7. © DMM.com ⼊社時点でのDMMの課題 7 ビジネスモデルや営業⼒に⽐べ、事業年数の経過もあってか技術活⽤が今⼀歩不⾜していた。 20年続くシステム l またシステムの多くが⻑期間運⽤されており コード上の複雑度が上昇 事業と開発が⻑らく別会社運⽤

    l エンジニアリングによる事業改善の流れが不 ⾜していた。 l 営業とビジネスモデルの強さで成⻑。 事業部間のコミュニケーション l 各事業が各々独⽴して動いており、知⾒の共 有、標準化が不⾜。 技術と事業、および事業間の分離 定性的事業判断 データによる定量性的分析の活⽤不⾜ l 現代の事業はデータがその中⼼にあるべき。 l 現状の社内では定性的な意思決定が多い。 機械学習ベースの事業改善の不⾜ l 情報配信 = 検索と機械学習の世界 l 現状ではマニュアルに運⽤されている箇所が ほとんど。
  8. © DMM.com テックカンパニー化をミッションにCTOへ 8

  9. © DMM.com 9 テックカンパニーとは 事業の全てがソフトウェア・エンジニアリングで改善される状態を理想。 技術を交えた課題解決 l 全ての事業や組織に関わる 仕組みを、特にソフトウェ ア・エンジニアリングで繋

    げる。 コード・計測 l DMMに関わる全てをコー ドで表現していく。 l システム化の先に全てを計 測し、データとして保存。 技術指向・ソフトウェア化 計測と事業モデリング l プロダクトだけでなく、組 織に関わる全てを計測し、 指標化し、連動する⼀つの モデルとして表現する。 個別最適化 l ⼈では不可能なレベルの細 やか、かつ⾃動的な最適化 l 結果としての省⼒化と改善 の双⽅を達成する。 データドリブン イテレーティブな改善 l ⽇々細かい検証ループを回 しながら数多くの施策を試 す。 l ABテストにより着実に改 善を積み上げる。 失敗を許容する l 不具合等発⽣しても復旧可 能であるレジリエントなシ ステム。 Agility
  10. © DMM.com DMM Tech Vision 技術とデータ、資本と意思決定速度を活かした事業改善へ 10

  11. © DMM.com DMM Tech Vision 11

  12. © DMM.com 12

  13. © DMM.com 13

  14. © DMM.com 14

  15. © DMM.com AgilityとAWS 失敗を許容するアーキテクチャへ移⾏する 15

  16. © DMM.com 16 ⻑い時間を経たシステムの課題点 20周年を経たDMMの抱えるシステムには当然ながら相応の課題が⼭積。 システム起因の課題 コードの循環複雑度やネットワークの構造が ⾮常に複雑、依存を紐解く必要がある。 システムの複雑度 複数事業やドメインが⼀つのシステムに乗るため

    改修による不具合が横断して影響。 巨⼤なモノリス 古いコードに関する知⾒が失われている ケースも散⾒されている。 属⼈化した運⽤ システムの改善に伴うリスクや⼼的・⼈的コストが⾼く、開発⾯での挑戦が減っている。
  17. © DMM.com DMMにおけるAgilityとは︖ 17 ⼩さく多くの挑戦が⾏われる環境 失敗を許容する システムとチーム プラクティスの 標準化 +

  18. © DMM.com 18 改善における主要なポイント 誰もが素早くサービス開発で成果を挙げられる⼟壌をシステムで達成する。 ⽬指す開発像 良い施策が素早くユーザーに届く開発チームと 開発フロー設計(CI/CDなど) ⾼いアジリティ 特定のレールに乗っかることで、事前に問題が

    起きないシステム構成に導く。 Security / Scalability 事前担保 ミス⼀つあたりのセキュリティ等影響範囲を ⼩さく押さえ込み、挑戦がしやすい環境へ。 ⼩さなシステム 新技術導⼊や開発フロー、コミュニケーションツール などで、常に⽣産性の向上を⽬指していく。 モダン化
  19. © DMM.com 19 具体的な取り組み 全社的な号令として改善策を多く⽴ち上げ、実⾏。 信頼性向上 l AWS活⽤における最適化 や監視などの改善 l

    新規事業⽴ち上げにおける 素早いプラクティス導⼊ 標準化⽀援 l 複数事業への改善プラクテ ィスを集約 l コードによる定義とその布 教活動実施 横断SRE部⽴ち上げ 運⽤の⼈的コスト削減 l CI/CD、IaC、監視導⼊、 コンテナ化など徹底 l 運⽤における⾃動化を推進 柔軟なスケールと改善速度担保 l 素早いロールバックの整備 l スケールの⾃動化による負 荷対応のコスト削減 オンプレ / AWS最適化 安定運⽤に関わる共通部分の横 断的な標準化 l サービス監視 — Datadogの導⼊と基 準提⽰ l Infrastructure as Code におけるベストプラクティ スの⽂書化 — Gitbookにて運⽤ 部分的標準化
  20. © DMM.com 20 なぜAWSを活⽤するに⾄ったか Agilityに貢献することを重視し、オンプレ/AWSの棲み分けを⽬指す。 豊富なマネージドサービスの存在(LambdaやFargateなど) 移⾏の⼿厚いサポートや社内教育への強⼒なバックアップ 容易で安定したスケーラビリティ IaCによるベストプラクティスの横展開加速 AWSへのサービス移⾏のメリット

  21. © DMM.com 最初の移⾏プロジェクトとして電⼦書籍事業を採択。 • 事業規模 • DMM全体では2900万ユーザー、25億PV • 事業単体で売上規模年間100億円超え •

    スコープ • 主要なユーザー向けWebApp • その裏にある主要データベース • 採択理由 • ⽐較的他事業との依存が⼩さい。 • 事業規模としては⼗分⼤きい。 21 事例︓電⼦書籍事業のAWS移⾏
  22. © DMM.com 電⼦書籍 共通基盤 移⾏前のアーキテクチャ 22 MySQL ⼤量の API群 Mobile

    App 管理者 On-premise App Admin App ⼤量の DB群 Couchbase Batch Web
  23. © DMM.com 移⾏後のアーキテクチャ 23 AWS Cloud VPC Public subnet Private

    subnet Auto Scaling group ECS App Admin ⾃社DC Couchbase Aurora Memcached Jenkins + batch DB群
  24. © DMM.com 24 Well-Architectedレビューの活⽤ AWSのソリューションアーキテクトと連携し移⾏先アーキテクチャのブラッシュアップを実施。 カテゴリ Security Performance Cost Operation

    Reliability ⽬的 レビューを受けてのアクション nリスク評価とその軽減 n耐障害性や復旧の迅速化 n需要に応じたリソース効率追求 n運⽤上のコスト削減 nビジネス要件にあった運⽤効率 n各種項⽬の解説を受けてのアーキテク チャ⾒直し n障害対応フローの刷新 n連絡⼿段整理や障害定義の明確化 n各種障害シナリオの洗い出しと障害試 験の実施 n残る単⼀障害点の確認など
  25. © DMM.com 既存事業のAWS移⾏に伴う効果 25 ビジネス側⾯でも開発側⾯でも移⾏により改善が⼤きく⾒られた。 監視とスケーリング l 安定性に関わる項⽬を移⾏で洗い出し、徹底 して監視 l

    Auto Scaleによりリソースも柔軟に確保 リリース頻度の改善 l コンテナ化やECSを⽤い、CI/CDフローも構 築していくことでリリースとロールバックの 効率を⼤きく改善。 — デプロイにおける安全性の確保がリリー スの障壁を減らした。 改善速度の向上 事業部内の⾃由度増加 様々なマネージドサービスの活⽤ l リードタイム無しに様々なマネージドサービ スを利⽤可能に。 — オンプレ上ではリソースの確保や導⼊、 その後のマネージなどで⾒積もりが必要 — 勿論コストはトレードオフ ⾃⽴性向上 l 結果としてチーム内でシステム改修や変更の レビューが容易になり挑戦が容易に。 — AWS導⼊にあたってはIaCやCI/CDの徹 底も重要
  26. © DMM.com ScientificとAWS データ活⽤におけるオンプレDWHとの連携 26

  27. © DMM.com 27 データ活⽤における課題点 組織やサービスが⼤きくなるほど、データ量やその制御に課題。 システム起因の課題 データ活⽤が未成熟なため、初期コストを抑え ⼩さくスタートしたい。 基盤コスト ⽉間25億PVから⽣まれるログ量は⾮常に膨⼤。

    データ量 個⼈情報やその他機微情報の観点から アクセスを制限したい。 アクセス制御 今後の活⽤に向けての第⼀弾として柔軟なリソースの⼿配による成果を上げたい。
  28. © DMM.com DMMにおけるScientificとは︖ n 科学的⼿法 – 測定可能性 – 定量性 –

    再現性 – 統計的有意性 – 論理的整合性 n 施策の影響を数値として計測、対照実験して いくことで着実な成⻑を作る。 n 誰でも運⽤可能な再現性のあるノウハウを蓄 積していく。 ユーザーと売上、利益をつなげる科学的経営、KPI経営を志向。 計測 課題 仮説 検証 ノウハウ・知⾒ ノウハウ・知⾒ ノウハウ・知⾒ 数値を共通⾔語として、ビジネス・開発の垣根なく改善できる組織を⽬指す。
  29. © DMM.com 事例︓既存データ分析環境の拡充 オンプレに配置されたHadoopクラスタを中⼼とした構成。 オンプレ上にあり、データ活⽤の増加に伴いリソースの枯渇が予想された。 On-Premise Hadoop Cluster Client Redash

    Presto HDFS YARN Sqoop/Spark etc Hive
  30. © DMM.com データ基盤のAthena / Glue活⽤ distcpによりデータ同期し、Athenaの柔軟なスケーリング能⼒を活⽤。 On-Premise Hadoop Cluster Client

    Redash Presto HDFS YARN Sqoop/Spark etc Hive AWS Cloud Amazon Athena AWS Glue S3 distcp
  31. © DMM.com MotivativeとAWS ⼈が育つ組織にむけての連携 31

  32. © DMM.com DMMにおけるMotivativeとは︖ 32 AWSとの連携で、より成⻑できるDMMへ。 • モチベーション×能⼒の総和が組織⼒ と考える。 • モチベーションの源泉

    • 仕事の意義の理解 • 個⼈としての成⻑ • 事業上の達成 • 個⼈の成⻑と組織の⽬標達成が統合さ れる環境を⽬指す。 マネジメント 個⼈ 組織 成⻑機会の提供、報酬など 組織⽬標の達成
  33. © DMM.com 学びを促進するための個⼈開発環境の提供。 • 社員個別にAWS アカウントを提供 • ⽉額100ドルまで利⽤可能 • アカウント管理はAWS

    Organizations を活⽤ • AWS CloudTrailにて動作は記録 • 活⽤事例 • 新AWSサービスの検証 • 新たな⾔語やFWの学習 33 AWS実弾演習場
  34. © DMM.com ⾃⾝の専⾨性を効率よく発揮するための横断的カリキュラムの実施に伴いご協⼒いただいた。 • 19年度からの新卒研修⽅針 • インフラ、Backend、Frontend、 Native Appなど横断的に実施 •

    ボリュームは3.5ヶ⽉ • AWSトレーニングを活⽤し、AWSの 応⽤⼒を⾝につける。 • 利⽤したカリキュラム • AWS Technical Essentials 2 • Architecting on AWS 34 新卒教育カリキュラムでのオンサイト研修
  35. © DMM.com 主に新設のSREチームと連携して社内ハンズオンを提供。 • ECSハンズオン会 • AWSのソリューションアーキテク トの皆さんにご協⼒いただき、主 にコンテナベースでのインフラ運 ⽤をレクチャ。

    • インフラ構築を実践する中でこれ からSREとして標準的に採⽤しよ うとする技術に触れてもらう。 35 社内勉強会の開催
  36. © DMM.com 36 AWSとの連携で、成⻑できるDMMへ 技術⼒・課題解決⼒の成⻑可能性が事業成果とモチベーション向上へ。 失敗を許容できる環境の提供 l 気になった技術をいつでも 試し、失敗できることが学 習につながる。

    AWSで安全な実験環境 l セキュリティ的な安全性を AWS Organizations等に より担保。 AWS実弾演習場 有償研修の活⽤ l AWSを実践的に活⽤する のに⼗分な知識⽔準を初期 に達成。 課題解決は知識から l 関連する事例を多く知る・ 検索できることで迅速な課 題解決が可能に。 l ⼈と⼈が連携する際の共通 ⾔語に。 新卒教育カリキュラム 標準化に向けた知識⽔準向上 l 社内にて標準的に使ってい こうとする技術について、 AWSと連携して学習の場 を提供 l ハンズオンの形を取ること で運⽤のイメージを掴む。 社内ハンズオン
  37. © DMM.com まとめ 37

  38. © DMM.com まとめ 38 ⼤きな組織が抱える課題 l 歴史が⽣み出すAgilityの低下、データ活⽤の不⾜ ビジョンの提⽰ l Agility・Scientific・Attractive・Motivativeをベースとして開発やデータ、組織全体

    を帰るための戦略を⽴案 AWSを活⽤しての組織全体の改善 l Agility: オンプレからAWS活⽤での柔軟なアーキテクチャへ移⾏、挑戦が容易に。 l Scientific︓Athenaなどを活⽤し、データ分析・機械学習のリソースを柔軟に。 l Motivative︓ AWSと連携しての教育施策からメンバーが成⻑できる環境を作る。 AWSを活⽤しつつ、DMMの組織全体を改善している現状について共有。
  39. © DMM.com 最後に ״׶ չז׿ד׮֮׶պ זDMMפ 3䎃ד⚅歲宏彊ה鎉ִ׷ ذحؙؕٝػص٦פ أة٦ز،حف״׶׮稆傍ֻ ׁ׵ח㣐ֹז✲

    噟׾⡲׸׷ ِص٦ؙז⠓爡פ 剑䖓ח ... 39 AgilityやScientificを⾼めていくべく、AWSを活⽤し進んでいきます。