配信システムをFlashからWebRTCにリプレイスしている話
by
korin-tatsuya
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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...