Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cookpad Tech Kitchen #15

osadake212
March 29, 2018

Cookpad Tech Kitchen #15

osadake212

March 29, 2018
Tweet

More Decks by osadake212

Other Decks in Technology

Transcript

  1. アジェンダ • cookpadTV • サービス構成 ◦ 全体 ◦ AWS Elemental

    MediaLive / AWS Elemental MediaStore ◦ メッセージサーバー
  2. AWS Elemental MediaLive / AWS Elemental MediaStore • MediaLiveがRTMPで映像を受け取ってHLS形式に出力 •

    Security Groupを設定できる • LIVEデータはMediaStoreへ ArchiveデータはS3へ出力
  3. AWS Elemental MediaLive / AWS Elemental MediaStore Security GroupはInput作成時に固定され、後から編集することができない •

    Input作成時に撮影場所が決まっていない • 場所が決まっても撮影当日までIPアドレスが分からない Problem Why?
  4. AWS Elemental MediaLive / AWS Elemental MediaStore • Inputの前段にhaproxyを配置し、そのSecurity Groupを動的に設定できるように

    した • InputごとにIPアドレスが変わるので、管理画面でボタンを押すと
 設定をいい感じにできるようにした
  5. AWS Elemental MediaLive / AWS Elemental MediaStore Security GroupはInput作成時に固定され、後から編集することができない •

    Input作成時に撮影場所が決まっていない • 場所が決まっても撮影当日までIPアドレスが分からない Problem Why?
  6. AWS Elemental MediaLive / AWS Elemental MediaStore Security GroupはInput作成時に固定され、後から編集することができない •

    Input作成時に撮影場所が決まっていない • 場所が決まっても撮影当日までIPアドレスが分からない Problem Why? 2018/03/21 から編集できるようになりました!
  7. メッセージサーバー • Firebase Realtime Databaseで双方向通信を実現 ◦ iOS/Android SDKがあるので便利 ◦ アプリは特定のノードを


    購読して更新を受け取る • コメント/ハートのポストは
 一度メッセージサーバーが受ける ◦ 認証・データの永続化をする
  8. まとめ • MediaLive / MediaStore を使ってLive配信 ◦ haproxyを駆使してSecurity Groupの課題を解決 •

    コメント/ハートを捌くためのメッセージサーバー ◦ 要件に合わせてアプリケーションを分割 ◦ DB使わない ◦ Firebase Realtime Databaseをイベント通知に使う