#garagekidztweetz

id:garage-kid@76whizkidz のライフログ・ブログ!

#devsumiA 「高速開発を支える DMM プラットフォームのつくり方」のメモ

スポンサーリンク

devsumi2015 で参加してきたセッションのメモ公開を続けます。

続いてはこれまであまり表で発表がなかった DMM さんの事例の話。
Biz と Dev が密に連携してサービス開発に取り組んでいるという話が印象的なセッションでした。

個人的にはより詳細な内容について別途勉強会を開いてくれるそうなので、そちらにも参加してみようと思っています。

20-A-4 高速開発を支える DMM プラットフォームのつくり方

  • 表に出ることがなかった DMM の裏側を知りたいのではないか?
  • DMM
    • いろいろやっていて実際なにをしてるのかわかりにくい
    • 英会話、ゲーム 他 38 サービス
    • つくっては受けないとつぶしていくアプローチ
  • DMM Mobile
    • システム概要図 - 資料公開をみたい
      • MVME や外部決済を利用するシステム
    • プロジェクト開始からリリースまで
      • 60 日弱
      • 開発は 20 日でやっている
      • なぜそんなに速くできるのか?
        • 高速開発を支えるプラットフォームをもっているから
        • DMM.EVO というプラットフォーム
  • 歴史
    • 綱渡りの開発
      • 全部入りのモジュールで行っていた
        • 決済から電子書籍、動画配信、ほかほか
        • 変更に時間をようする
        • 影響範囲がわからない
          • 当時は影響範囲の検証漏れが障害の大半だった
          • 技術的負債を抱えていた
            • 何よりも開発のスピードを優先していたために整理や統制をしている暇がなかった
            • 事業拡大と人員不足
    • で緊急対策
      • プラットフォームとサービス特有の機能をモジュール分けた
        • かなり大変であった
        • 障害件数 50% 減
        • 開発速度向上
        • だが、依然としてプラットフォームは複雑だった
          • プラットフォームがボトルネックに
    • そしてプラットフォームの Replace を決断した
      • 高速プラットフォームのコンセプト
        • 汎用的
          • 多様な事業、デバイスに対応
        • 拡張性
          • 将来を見据えた設計
        • 性能
          • 新技術導入
    • どうあるべきか考えよう
      • まずプラットフォームとはなにか?を考えた
        • 概念モデル、ドメインモデルをステークホルダーを集めて確認した
          • みんな自分の担当領域は詳しかったが隣のことには疎かった
          • 用語の統一
          • エンジニアだけで考えない、運営者と一緒に考える
        • 役割の確認
          • BPMM (?)
          • 今まででてこなかった用語がでてきたら概念に落とすことを仕組み化
        • 機能抽出
          • 38 事業の業務プロセスをドキュメント化していく
      • SOA の考え方を参考にしている
      • OAuth 2.0 / OpenID Connect に準拠
      • DDD
        • 外部から講師を招いて勉強したりした
    • 電子マネーのシステム概要図 - 資料を参照したい
      • nginx
      • CouchBase - フロントの cache
      • MessageHub - IBM のもの
      • NoSQL Cluster - IBM のもの
    • 201401 にプラットフォームリプレース完了
  • DMM.EVO
    • その導入事例 - DMM.make の場合
      • ネットからの 3D プリントのサービス
      • Web とリアル双方でサービス提供
      • リリースは 2W に 1 回
        • Agile 的にやってるものもあるし
        • 大規模のものを相談しながら、タイミングをあわせているときもある
    • 案件の進め方の図
    • DMM case (スマホケースをつくれる) の事例紹介
      • 普段 PC でしかやっていなかったサービスをスマホアプリでも提供しよう
      • DMM.connect で独自 API がつくれるように
        • SDK も提供している
          • 会員登録
          • ログイン
          • Push 通知
        • mBaaS, API Management
      • DMM.make とプラットフォームで組織の垣根のない連携
        3d-1W で社内 alpha 版をどんどんリリースできた
        • Project 開始 20140916
        • API リリース 20141110
        • アプリリリース 20150127
      • 一度 API をつくったら、それをつかってどんどん拡張できる
        • API は一部公開されている
  • 2015-02 まだまだプラットフォームは進化中
    • 検索、行動解析、レコメンド
    • Greenplum
    • DataBus - Linkedin
    • 挑戦を支えるプラットフォームを目指している
      • 外部の方にも使ってもらえるようにしたい
    • あたらしい、を続々と
    • できるできないはおいておいて、やるかやらないか決めよう - Seishu Wataru

資料

その他まとめ

あわせて読まれたい