230 Views
December 08, 19
スライド概要
2019/12/8 July Tech Festa 2019
D40「メディア企業のクラウドとAgile文化 ~ペタバイト級の映画もTVもクラウドへ~」
メディア・エンタメ業界一筋のPM。DevSumiコンテンツ委員なども少々。 ▼ X https://twitter.com/PassionateHachi ▼ note https://note.com/hiroki_hachisuka
メディア企業のクラウドとAgile文化 ~ペタバイト 級の映画もTVもクラウドへ~ 2019/12/8 はち@PasshinateHachi #JTF2019
この時間のお約束 ・クラウド = AWSのお話です。 ・Agile = Scrumとは限らないお話です。 ・セッションの質問はTwitterへ!(全て後ほど返信します!) ・Twitter実況歓迎です!(あとでエゴサしますw) #JTF2019_D #はちさん 2
#JTF2019 #はちさん @PassionateHachi 3
蜂須賀 大貴 @PassionateHachi 2012年 株式会社IMAGICA入社 (現:株式会社 IMAGICA Lab.) お仕事: - PdM、PjM、 - Scrum Alliance認定スクラムプロダクトオーナー(CSPO) - インフラエンジニア(AWS) - セールスエンジニア - 働き方改革 特命係 New #JTF2019 #はちさん @PassionateHachi 4
映像業界の 働き方を変えたい! 個人のスキルとセンスからチー ムで働く業界に! #JTF2019 #はちさん @PassionateHachi 5
最近社内でやっていること お仕事: - 7名のチームでScrum ( Product Owner) - 顧客、現場、営業へのセールスエンジニア的な動き - コミュニケーション支援 (朝会、ふりかえり、カンバンなど) - 新しい働き方を考え、進める人 - 社内勉強会で会議の進行について講義 - テレビ局の技術の方達との座談会を主宰 #JTF2019 #はちさん @PassionateHachi 6
最近社外でやっていること お仕事?ほぼ趣味?: - Developers Boost 2019登壇 (デブサミのU30向けイベント) - イベント登壇(約20回/年) 講演、対談、公開収録 等 - ワークショップ、勉強会運営 - 第14期ファシリテーション塾生 - https://note.com/hiroki_hachisuka - コミュニティー運営 #JTF2019 #はちさん @PassionateHachi 7
#JTF2019 #はちさん @PassionateHachi 8
今日お話しすること 映像業界の話 AWSの話 Agileの話 #JTF2019 #はちさん @PassionateHachi 9
早速ですが期待値のすり合わせ・・・ 「このセッションにどんなことを 期待していますか?」 映像業界の話 AWSの話 Agileの話 #JTF2019 #はちさん @PassionateHachi 10
映像業界の話 #JTF2019 #はちさん @PassionateHachi 11
前提:映画の商流 ポストプロダクション (IMAGICA Lab.) コンテンツホルダー 申込 素材搬入 編集/加工/仕上 興業 配送(物理/ネットワーク) 劇場 契約 契約 #JTF2019 #はちさん @PassionateHachi 12
前提:TVの商流 TV局(制作含む) 企画/制作 ポストプロダクション (IMAGICA Lab.) 編集/加工/仕上 #JTF2019 #はちさん @PassionateHachi TV局(編成/放送) 放送 13
前提:CMの商流 制作会社/代理店 企画/制作 ポストプロダクション (IMAGICA Lab.) 編集/加工/仕上 #JTF2019 #はちさん @PassionateHachi TV局(編成/放送) 放送 14
前提:VODの商流 コンテンツホルダー 企画/制作 ポストプロダクション (IMAGICA Lab.) 編集/加工/仕上 #JTF2019 #はちさん @PassionateHachi 配信プラットフォーム 配信 15
ポストプロダクション = IMAGICA Lab.のお仕事 ● 日本中の映像を編集/加工/仕上げを行う(アジア最大級) #JTF2019 #はちさん @PassionateHachi 16
「2時間の映画1作品の 撮影直後のデータ(撮済)容量は どのくらいのサイズでしょう?」 ① 約100GB ② 約1TB ③ 約1PB #JTF2019 #はちさん @PassionateHachi 17
「2時間の映画1作品の 撮影直後のデータ(撮済)容量は どのくらいのサイズでしょう?」 ① 約100GB ② 約1TB ③ 約1PB が正解 #JTF2019 #はちさん @PassionateHachi 18
解説 映画ファイルはDPXという非圧縮静止画を24 枚/秒で構成 = 24枚/秒 × (9000秒)2.5時間 = 約21万枚の非圧縮画像 #JTF2019 #はちさん @PassionateHachi 19
「VOD配信において映画1本に 必要なファイルは 何種類あるでしょう?」 ① 6種類 ② 12種類 ③ 48種類 #JTF2019 #はちさん @PassionateHachi 20
「VOD配信において映画1本に 必要なファイルは 何種類あるでしょう?」 ① 6種類 ② 12種類 ③ 48種類 が正解 #JTF2019 #はちさん @PassionateHachi 21
解説 ● 配信にはデバイス別に画質を変えたファイルを用意すること で、バッファリング時間を減らすため。 ex) PC用、TV用、タブレット用、スマホ用(大、小) ● 必要なファイル種類も多い ex)本編、予告編、特報、冒頭切り出しなど ● 場合によってはジングル(サービスのロゴ)有無を用意すること もある。 #JTF2019 #はちさん @PassionateHachi 22
「VOD配信において年間増加している エピソード数は いくつあるでしょう?」 ① 1万エピソード ② 5万エピソード ③ 10万エピソード #JTF2019 #はちさん @PassionateHachi 23
「VOD配信において年間増加している エピソード数は いくつあるでしょう?」 ① 1万エピソード ② 5万エピソード が正解? ③ 10万エピソード #JTF2019 #はちさん @PassionateHachi 24
解説 正確な数字はわからないが、 弊社では約数万エピソード/年 やっているので、このくらい? #JTF2019 #はちさん @PassionateHachi 25
これをクラウドに 全て移管すると・・・ #JTF2019 #はちさん @PassionateHachi 26
どうですか? ゾッとしてきたでしょ?w #JTF2019 #はちさん @PassionateHachi 27
AWSの話 #JTF2019 #はちさん @PassionateHachi 28
映像業界の業務要求 ① 漏れてはならぬ!セキュリティーSLA100%で! ② とにかく大容量を安く高速に! ③ 簡単にいろいろ自動でやってくれるやつで! ④ 今のやり方を極力変えずに ! #JTF2019 #はちさん @PassionateHachi 29
① 漏れてはならぬ!セキュリティーSLA100%で! 【Password、ファイル名の難読化】 ● Passwordを暗号化して DBに保存(当たり前の技術) ● 万が一、S3にアクセスできてしまっても作品が特定できないよ うに難読化 - ファイルをrenameして元のファイル名とともにDBに保存(機種依存文字対策に もなる) #JTF2019 #はちさん @PassionateHachi 30
① 漏れてはならぬ!セキュリティーSLA100%で! 【格納先、通信の暗号化】 ● S3バケットも暗号化 ● 通信はhttpsに。LambdaはVPC内に。 ● 他のAWSアカウントとはSTSでトークン認証 ● Cloudfrontも証明書を用いた通信を #JTF2019 #はちさん @PassionateHachi 31
① 漏れてはならぬ!セキュリティーSLA100%で! 【全てのアクションの履歴を保存し、管理者が確認】 ● 管理者ユーザーが全てのアクションを確認できる機能提供 ● 低レイヤーのログはログ管理専用アカウントに流し、監視対 象に ● Cloud watchやCloud Trailを用いた監視 #JTF2019 #はちさん @PassionateHachi 32
① 漏れてはならぬ!セキュリティーSLA100%で! 【細分化された権限管理】 ● ダウンロードのみ、編集化、特定の作品のみ閲覧可、アップ ロードのみ、プレビューのなどマトリックスで自由に権限を作 れるような機能の提供 ● Google Authenticatorを用いた二要素認証の適用 ● 複数回ログインを間違えたときのアカウントロック #JTF2019 #はちさん @PassionateHachi 33
① 漏れてはならぬ!セキュリティーSLA100%で! 【独立した環境(シングルテナント)】 ● AWSアカウントから顧客ごとに別のものを作る ● 開発者も限られた人のみがアクセス ● 顧客ごとに最適化したメタデータ項目 #JTF2019 #はちさん @PassionateHachi 34
② とにかく大容量を安く高速に! 【S3→Glacierのコンテンツを選んだTiering】 ● 拡張子や紐づいた作品ごとに階層を移動 ● 新作と旧作で出回る頻度が異なるのでそれに合わせた金額 感を適用できるように ● これらを顧客ごと、作品ごとのみならず、自由度を持って設定 可能に(S3 Life Cycleとバケットのアクション) #JTF2019 #はちさん @PassionateHachi 35
② とにかく大容量を安く高速に! 【AWS Direct Connect と S3 Transfer Accerelation】 ● AWS Direct Connectを使った高速伝送 ● チャンクごとのアップロードによるブラウザのアップロード制限 の回避 ● Transfer Accerelationを使った海外への高速転送 #JTF2019 #はちさん @PassionateHachi 36
② とにかく大容量を安く高速に! 【いざというときのSnowball】 ● AWSのSnowballを用いた大量アップロード作業 ● アップロード代行作業も #JTF2019 #はちさん @PassionateHachi 37
② とにかく大容量を安く高速に! 【自動化による高速構築】 ● 「明後日には使いたい」への対応のため、構築の自動化 ● Terraformやcapistrano、AWS Fargateを用いた自動構築 ● 回答を埋めると利用金額の目安を計算する質問表シートの用 意 #JTF2019 #はちさん @PassionateHachi 38
② とにかく大容量を安く高速に! 【ファイルを分割した高速トランスコード】 ● ファイルをチャンクごとに分割し、瞬間的に大量処理を行う高 速トランスコードシステム構築 ● Media Convertのみならず、未対応フォーマットも対応 #JTF2019 #はちさん @PassionateHachi 39
② とにかく大容量を安く高速に! 【チャンクで伝送する高速デリバリー】 ● ファイルをチャンクごとに分割し、ダウンロード。その後、ロー カルでファイルを結合する高速ダウンロードシステムの構築 #JTF2019 #はちさん @PassionateHachi 40
③ 簡単にいろいろ自動でやってくれるやつで! 【ファイルの種類ごとにLambdaで処理を自動振り分け】 ● ファイルのフォーマットやサイズ、解像度などをもとに処理を分 岐 #JTF2019 #はちさん @PassionateHachi 41
③ 簡単にいろいろ自動でやってくれるやつで! 【ファイル情報を取得してメタデータ登録】 ● ファイルの解像度、コンテナ、コーデック、音声チャンネル数な どのメタデータを取得 ● 管理用に自動登録や後処理のために受け渡す #JTF2019 #はちさん @PassionateHachi 42
③ 簡単にいろいろ自動でやってくれるやつで! 【オンプレの外部システムとの連携】 ● 営放システムや基幹システムと本体のソースをいじらずに連 携(LambdaなS3のアクションなど) ● 外部APIの提供 #JTF2019 #はちさん @PassionateHachi 43
④ 今のやり方を極力変えずに ! 無視 #JTF2019 #はちさん @PassionateHachi 44
④ 今のやり方を極力変えずに ! というのは冗談で 一緒に業務整理を しながら・・・ #JTF2019 #はちさん @PassionateHachi 45
Agileの話 #JTF2019 #はちさん @PassionateHachi 46
いつもの感じで いい感じに シクヨロで! #JTF2019 #はちさん @PassionateHachi 47
もっと・・・ バーンと ドーンとさ! #JTF2019 #はちさん @PassionateHachi 48
プロジェクトの目的に向けて要求を収束させ、プロジェクトで実現 すべき要求事項を確定させるための活動である「要求事項マネジ メント」を確実に行う必要があります。日本では「要求事項」を表現 するものとして、一般に「要件定義」という用語を使用しますが、 PMBOK®ガイド では、「要求事項」とそれを確定した結果である 「スコープ」とに分けて定義しています。具体的には、「要求事項 文書」を顧客の言葉で記述し、実装されるものとして最終決定さ れた要求事項から「スコープ記述書」を作成します。 #JTF2019 #はちさん @PassionateHachi 49
#JTF2019 #はちさん @PassionateHachi 50
そもそもどんなチーム?(ちょっと前) イ さん プロダクトA ロ さん ◯ ハ さん ニ さん ・(16人)・ ◯ ◯ ・・・ プロダクトB ◯ ◯ ・・・ プロダクトC ◯ PBL PBL ◯ ・・・ PBL プロダクトD ◯ ◯ ・・・ プロダクトE ◯ ◯ ◯ ・ ・ ・ ・ ・ ・ ・ ・ ・ PBL PBL ・ (40超のプロダクト) ・ #JTF2019 #はちさん @PassionateHachi ・・・ ・ ・ ・ 51
課題 ・プロダクト間の優先順位がつけにくい ・ベロシティーが見えない ・時間の概念がついてまわる ・営業や現場にスケジュールが見えない ・忙しさが偏る ・一人プロジェクトによるリスク #JTF2019 #はちさん @PassionateHachi 52
合宿を敢行 4/19~20 #1 【チームとは何か・CI/CD】 ・自分を見つめる(ビジョンクエスト) ・チームとは何か ・俺たちのワーキングアグリーメント ・CI/CDハンズオン #JTF2019 #はちさん @PassionateHachi 53
合宿を敢行 8/23~24 #2【スクラム強化合宿 w/川口さん】 #JTF2019 #はちさん @PassionateHachi 54
そもそもどんなチーム?(最近) 【開発チーム1】 PO 【開発チーム2】 SM PO PBL SM PBL TL 金属加工職人 ギャンブラー1 ギャンブラー2 #devboostA #はちさん @PassionateHachi 55
そもそもどんなチーム?(最近) 【Product Backlog】 プロダクトA 優先 タスク タスク タスク 【Sprint Backlog】 タスク タスク タスク タスク タスク タスク プロダクトB タスク タスク タスク タスク タスク タスク タスク タスク タスク タスク たまーにくる プロダクトC タスク #JTF2019 #はちさん @PassionateHachi 56
川口さん資料より https://speakerdeck.com/kawaguti/age-of-agile-development?slide=16 #JTF2019 #はちさん @PassionateHachi 57
川口さん資料より https://speakerdeck.com/kawaguti/age-of-agile-development?slide=17 #JTF2019 #はちさん @PassionateHachi 58
川口さん資料より #JTF2019 #はちさん @PassionateHachi 59
川口さん資料より https://speakerdeck.com/kawaguti/age-of-agile-development?slide=21 #JTF2019 #はちさん @PassionateHachi 60
社内エバンジェリスト活動やってみた 価値観ババ抜き デリゲーションポーカー #JTF2019 #はちさん @PassionateHachi マシュマロチャレンジ 61
http://myvaluecard.com/?page_id=22 #JTF2019 #はちさん @PassionateHachi 62
https://developers.cyberagent.co.jp/blog/archives/13234/ #JTF2019 #はちさん @PassionateHachi 63
https://passionate-po.hatenablog.com/entry/2018/08/19/220224 #JTF2019 #はちさん @PassionateHachi 64
社内勉強会開いてみた #JTF2019 #はちさん @PassionateHachi 65
https://kray.jp/blog/canvas-workshop/ #JTF2019 #はちさん @PassionateHachi 66
顧客とユーザーストーリーマッピングをやってみた #JTF2019 #はちさん @PassionateHachi 67
#JTF2019 #はちさん @PassionateHachi 68
nulabさんのBacklog APIを使って各人のタスクを可視化 #JTF2019 #はちさん @PassionateHachi 69
朝会を開始。定例会議をふりかえりに #JTF2019 #はちさん @PassionateHachi 70
モブプロや立って仕事ができる場所でより快適な環境に! #JTF2019 #はちさん @PassionateHachi 71
https://speakerdeck.com/martin_lover/mob-programming-in-practice?slide=53 #JTF2019 #はちさん @PassionateHachi 72
みんなで感謝を伝えられる場を! #JTF2019 #はちさん @PassionateHachi 73
総務もカンバン!開発以外でもモブやふりかえり #JTF2019 #はちさん @PassionateHachi 74
https://www.taskee.jp/ #JTF2019 #はちさん @PassionateHachi 75
https://www.trasc.jp/ #JTF2019 #はちさん @PassionateHachi 76
今日お話したこと 映像業界の話 AWSの話 Agileの話 #JTF2019 #はちさん @PassionateHachi 77
これって唯一無理の強みになるのでは? キャリアとしても #JTF2019 #はちさん @PassionateHachi 78
先を見通して点をつなぐことはできない。 振り返ってつなぐことしかできない。 だから将来何らかの形で点がつながると信じることだ。 何かを信じ続けることだ。 直感、運命、人生、カルマ、その他何でも。 この手法が私を裏切ったことは一度もなく、 そして私の人生に大きな違いをもたらした。 (Steve Jobs 2005年スタンフォード大学卒業式辞から抜粋) #JTF2019 #はちさん @PassionateHachi 79
映像業界のドメイン知識 #JTF2019 #はちさん @PassionateHachi 80
映像業界のドメイン知識 AWSの知識と技術 #JTF2019 #はちさん @PassionateHachi 81
映像業界のドメイン知識 誰にも真似 できない強み AWSの知識と技術 Agileの知識と経験 #JTF2019 #はちさん @PassionateHachi 82
Eさん Cさん Dさん Aさん #JTF2019 #はちさん @PassionateHachi Bさん 83
#JTF2019 #はちさん @PassionateHachi 84
Eさん Dさん 生まれた文化 Cさん Aさん #JTF2019 #はちさん @PassionateHachi Bさん 85
最後に・・・ 「あなたの ちょっと得意なことは 何ですか?」 隣の人と2分間で話してみましょう! #JTF2019 #はちさん @PassionateHachi 86
#JTF2019 #はちさん @PassionateHachi 87
コロンビア大学の実験 【実験】 「紳士録」に書かれた人物プロフィールを 小3から中2までの100人以上の子供たち に覚えて、暗唱するように指 示しました。 与えられた時間は9分間。 「覚える時間」と「練習する時間」の割合は、グループごとに異なる時間が指示されました。 【結果】 最も高い結果を出したのは、 約30~40%を「覚える時間」に費やしたグループ でした。 Input:Output = 3:7 by コロンビア大学の心理学者アーサー・ゲイツ まずは小さなアウトプットから始めよう #JTF2019 #はちさん @PassionateHachi 88
ありがとうございます! 今の内容を是非Twitterへ! #JTF2019 #はちさん #JTF2019 #はちさん @PassionateHachi 89
今日の資料はSlide Shareにアップ済みです #JTF2019 でリンクを共有しています。 懇親会でお話ししましょう! あなたの取り組みも聞かせてください! 90