配信システムをFlashからWebRTCにリプレイスしている話
by
korin-tatsuya
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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...