Slide 1

Slide 1 text

JAWS-UG いわて 〜ライブもアーカイブも〜 動画配信サービズ の内製開発 三浦一樹 2023.08.18 Media-JAWS

Slide 2

Slide 2 text

WHO AM I ? Kazuki Miura みうみう Serverless 37歳 秋田→東京→札幌 サウナ大好き JAWS-UG 札幌 Media-JAWS JP_Stripes 札幌 Cloudflare Meetup AWS Samurai 2019

Slide 3

Slide 3 text

ヘルシンキで セキュリティのカンファレンスに 参加してきました! CUSTOMER AMBASSADOR

Slide 4

Slide 4 text

MENU こんな体制で開発やってます というのを簡単にご紹介 開発体制 ライブコマースサービスと VOD サービス この2 つの構成をご紹介 配信サービスについて 未経験からどうやって勉強して サービスの開発運用ができるま でに至ったのか コミュニティでの勉強

Slide 5

Slide 5 text

DEVELOPMENT 開発体制

Slide 6

Slide 6 text

DEVELOPMENT

Slide 7

Slide 7 text

DEVELOPMENT 8人のチーム エンジニア5名 (内SES 2名) ネットデジタル事業部 週1でQA

Slide 8

Slide 8 text

DEVELOPMENT バックエンドメイン Step Functions Lambda DynamoDB フロントエンドメイン React + TypeScript バックエンドメイン 動画配信 CMSやデータ連携 全体統括 アーキテクト マーケティング PjM / SM / SRE etc... 全員API作れるし、全員フロントも書ける 設計から開発、運用、お問合せ対応まで

Slide 9

Slide 9 text

DEVELOPMENT リソースが全然足りません!!

Slide 10

Slide 10 text

WE ARE HIRING

Slide 11

Slide 11 text

DEVELOPMENT リソースが全然足りません!!

Slide 12

Slide 12 text

DEVELOPMENT Linux? Network? SQL? ムツカシイ...

Slide 13

Slide 13 text

DEVELOPMENT できるだけ やらなくていいことを 増やしていく

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

VPC LESS VPC LESS VPC LESS OS  LESS OS  LESS OS  LESS

Slide 16

Slide 16 text

DEVELOPMENT https://speakerdeck.com/_kensh/what-is-serverless

Slide 17

Slide 17 text

DEVELOPMENT AWS にお願いできるものは 全部お願いする なんとかやれてます

Slide 18

Slide 18 text

OUR SERVICES 配信サービス

Slide 19

Slide 19 text

OUR SERVICES ライブコマース サービス VOD サービス

Slide 20

Slide 20 text

LIVE COMMERCE 動画見ながら お買い物

Slide 21

Slide 21 text

LIVE COMMERCE 2020 年からスタート 2021 年、2022 年と機能改善 今年は残念ながら実施せず コロナ禍の中、予定していたイベントが中止。。。 しっかり収益を上げるために、ライブ配信 ✖︎ グッズ販売 = ライブコマース を事業化

Slide 22

Slide 22 text

LIVE COMMERCE

Slide 23

Slide 23 text

Amazon Simple Storage Service YouTube YouTubeLive コンテンツID 違法UP 対策 そのままオリジンに

Slide 24

Slide 24 text

Amazon Simple Storage Service YouTube YouTubeLive コンテンツID 違法UP 対策 そのままオリジンに IN 点OUT 点で指定して 吐き出せる

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Amazon Simple Storage Service AWS Elemental MediaStore AWS Elemental MediaPackage 動画配信では、どのストレージ?

Slide 27

Slide 27 text

Amazon Simple Storage Service AWS Elemental MediaStore AWS Elemental MediaPackage #storagejaws 詳しくは で! 9/12( 火) 19:00-

Slide 28

Slide 28 text

Amazon Interactive Video Service ほとんどの場合はIVS でいいんじゃ?

Slide 29

Slide 29 text

JAWS DAYS 2022 - SATELLITES の 配信アーキテクチャ 松井HERO

Slide 30

Slide 30 text

LIVE COMMERCE

Slide 31

Slide 31 text

LIVE COMMERCE 現場の様子

Slide 32

Slide 32 text

LIVE COMMERCE

Slide 33

Slide 33 text

LIVE COMMERCE がっつり黒字!

Slide 34

Slide 34 text

LIVE COMMERCE 日本民間放送連盟賞 技術奨励賞

Slide 35

Slide 35 text

LIVE COMMERCE 日本民間放送連盟賞 技術奨励賞

Slide 36

Slide 36 text

LIVE COMMERCE 日本民間放送連盟賞 技術奨励賞 放送関係ないの 弊社だけ、、笑

Slide 37

Slide 37 text

VIDEO ONDEMAND 動画配信 サービス

Slide 38

Slide 38 text

VIDEO ONDEMAND 2012 2022

Slide 39

Slide 39 text

AWS Step Functions Amazon DynamoDB AWS Cloud Amazon Simple Storage Service Glacier Deep Archive AWS Elemental MediaConvert 1080/720/360 AWS Amplify Amazon CloudFront AWS AppSync 44 日 Amazon API Gateway Amazon API Gateway AWS Lambda 動画プレイヤー 決済 認証・認可 DRM Apple: FairPlay Streaming Google: widevine Microsoft: PlayReady HTB Git リポジトリ Amazon CloudWatch AWS X-Ray HLS/MPEG-DASH SaaS CMS

Slide 40

Slide 40 text

AWS Cloud Amazon Simple Storage Service Glacier Deep Archive AWS Elemental MediaConvert 1080/720/360 Amazon CloudFront 44 日 HTB HLS/MPEG-DASH VTT ファイル AWS CLI Apple: FairPlay Streaming Google: widevine Microsoft: PlayReady

Slide 41

Slide 41 text

AWS Cloud Amazon Simple Storage Service Glacier Deep Archive AWS Elemental MediaConvert 1080/720/360 Amazon CloudFront 44 日 HTB HLS/MPEG-DASH VTT ファイル AWS CLI シークバーに出てくるサムネ VTT ファイル Apple: FairPlay Streaming Google: widevine Microsoft: PlayReady img1.jpg

Slide 42

Slide 42 text

VIDEO ONDEMAND ビジネスロジックは AWS Step Functions で実装

Slide 43

Slide 43 text

VIDEO ONDEMAND 決済処理をしている部分 API を叩くところだけ Lambda を書いてる

Slide 44

Slide 44 text

AWS SDK が直接叩ける 待ち時間無し

Slide 45

Slide 45 text

800 ms 3 s AWS SDK が直接叩ける 待ち時間無し SDK

Slide 46

Slide 46 text

VIDEO ONDEMAND ドラック&ドロップ でAPI が作れる (コードは書きたくない)

Slide 47

Slide 47 text

VIDEO ONDEMAND 大変そうなのは SaaS を積極的に採用 動画プレイヤー 決済 認証・認可 この辺りは懇親会で、、

Slide 48

Slide 48 text

VIDEO ONDEMAND 8/30 の準備が、 5000 RPS に耐えられるように準備中

Slide 49

Slide 49 text

COMMUNITY コミュニティでの勉強

Slide 50

Slide 50 text

COMMUNITY JAWS-UG がなかったら エンジニアやってなかった

Slide 51

Slide 51 text

COMMUNITY 詳しくは動画見て

Slide 52

Slide 52 text

COMMUNITY 私のJAWS 初参加は 2018/03/10 AWSJ のイベントだと思ってた

Slide 53

Slide 53 text

COMMUNITY 私のJAWS 初参加は なんか怖かったので すぐ帰りました笑

Slide 54

Slide 54 text

COMMUNITY 私のJAWS 2 回目の参加は

Slide 55

Slide 55 text

COMMUNITY 懇親会に最後まで参加! Facebook/Twitter の友達が爆増 私のJAWS 2 回目の参加は

Slide 56

Slide 56 text

COMMUNITY 勉強会に100 回参加するよりも1 回の 登壇の方がより成長できます。 あなたのチャレンジをお待ちして います! JAWS の人曰く

Slide 57

Slide 57 text

COMMUNITY JAWS の話かと思ったら

Slide 58

Slide 58 text

COMMUNITY JAWS の話かと思ったら

Slide 59

Slide 59 text

COMMUNITY JAWS の話かと思ったら

Slide 60

Slide 60 text

COMMUNITY 登壇してみたい!!

Slide 61

Slide 61 text

COMMUNITY 2019/03/20 私のJAWS-UG 支部初参加は

Slide 62

Slide 62 text

COMMUNITY 私のJAWS-UG 支部初参加は

Slide 63

Slide 63 text

COMMUNITY みんな慰めてくれた笑 またオンライン上での友達が増えて 日常のインプットが増えて また、登壇したくなり サービスを作ってみたくなった 登壇してみたら

Slide 64

Slide 64 text

COMMUNITY 初登壇から半年後

Slide 65

Slide 65 text

COMMUNITY 初登壇から半年後 実際にサービスリリース

Slide 66

Slide 66 text

INPUT ぜひ、アウトプットを OUTPUT 𝕏 Facebook JAWS-UG MEET-UP BLOG HANDS-ON

Slide 67

Slide 67 text

INPUT OUTPUT 𝕏 Facebook JAWS-UG MEET-UP BLOG HANDS-ON 𝕏 Facebook JAWS-UG MEET-UP BLOG HANDS-ON ぜひ、アウトプットを

Slide 68

Slide 68 text

2019 年は 17/52 登壇しました

Slide 69

Slide 69 text

勉強会に100 回参加するよりも 1 回の登壇の方がより成長できます。 サービス抱えるようになってから減ってしまった。。

Slide 70

Slide 70 text

始業前の登壇! ランチタイムの 登壇! JAWS-UG 東京

Slide 71

Slide 71 text

登壇したくなってきましたよね、、?

Slide 72

Slide 72 text

次回! Media-JAWS の予告!!

Slide 73

Slide 73 text

Inter BEE に海浜幕張でやります!! 登壇希望お待ちしております!