Slide 1

Slide 1 text

© DMM.com CONFIDENTIAL © DMM.com 配信システムをFlashから WebRTCにリプレイスしている DMM Meetup in 金沢 EC&デジタルコンテンツ本部 香林辰哉 2019/12/12 話

Slide 2

Slide 2 text

© DMM.com 自己紹介 • 香林 辰哉(こうりん たつや) • 2012年4月入社 • ライブ配信システムの開発、保守 ( Flash / Javascript ) • 2018年からリプレイス案件に参加 スノーボードの時期が来た 2

Slide 3

Slide 3 text

© DMM.com • 1対多で映像を視聴するサービス • チャット機能 • 1対1でのビデオチャット機能も搭載 ライブ配信システム 3 • 遅延が品質に大きく影響する

Slide 4

Slide 4 text

© DMM.com 2020年問題 4 • Adobe Flashが2020年末ブラウザサポート終了 • Flashにかわるシステムの構築が急務 • 段階的に終了に向けて進んでいる • 配信:WebRTC • フロント:HTML5 + Javascript

Slide 5

Slide 5 text

© DMM.com WebRTC 5 • Web Real-Time Communication • ブラウザ上でビデオチャットが出来る技術 • 各種ブラウザが徐々に対応してきた • 遅延が1秒未満

Slide 6

Slide 6 text

© DMM.com デモ 6 受信 送信

Slide 7

Slide 7 text

© DMM.com 基盤リプレイスは大変…! 7 • 約3年にわたる大規模プロジェクト • プロジェクトを成功させるための工夫 • 開発手法 • 技術

Slide 8

Slide 8 text

© DMM.com 開発の 8 話

Slide 9

Slide 9 text

© DMM.com スクラム開発 9 • 開発 → テストを細かく回す • 1週間スプリントで都度軌道修正 • 業務を分担して対応 • フロントエンド開発メンバー • バックエンド開発メンバー

Slide 10

Slide 10 text

© DMM.com • スクラムイベントは変則的 • チーム間の連携も都度行う LeSS(Large-Scale Scrum) 10 • 六本木と金沢でそれぞれチームを編成 • 複数のプロダクトを並行で作っていける • 六本木とは常時映像共有 • チーム間の代表者が集まるイベントも

Slide 11

Slide 11 text

© DMM.com 開発の様子 11

Slide 12

Slide 12 text

© DMM.com スクラムイベントの様子 12

Slide 13

Slide 13 text

© DMM.com 技術的な 13 話

Slide 14

Slide 14 text

© DMM.com フロントエンド 14 • 言語:TypeScript & ES2015+ • FW:React + Redux • テスト:Jest + Enzyme • フォーマッタ:ESLint + Prettier • UI:Storybook、Atomic Design

Slide 15

Slide 15 text

© DMM.com Storybook 15

Slide 16

Slide 16 text

© DMM.com • APIサーバ:PHP + Laravel • DB、Webサーバは既存のものを利用 バックエンド 16 • AWS上で構築 • EC2 / ECS / S3 / ElastiCache / Lambda Elasticsearch Service / Cloud Front Route 53 / VPC / API Gateway

Slide 17

Slide 17 text

© DMM.com 今後の 17 話

Slide 18

Slide 18 text

© DMM.com • 来年度もリプレイス作業は続く 今後の予定 18 • 年明け以降のリリースに向けて最終調整中! • β版としてFlash版と並行稼動 • スマホ対応 • 正式リリース etc...