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

Amazon Chime SDK - AWS Startup fm

mats
July 21, 2020

Amazon Chime SDK - AWS Startup fm

Startup.fm の放送で使ったスライドです。
放送時のQAを一部掲載しています。

mats

July 21, 2020
Tweet

More Decks by mats

Other Decks in Technology

Transcript

  1. © 2020, Amazon Web Services, Inc. or its Affiliates. Kazuki

    Matsuda @mats16k Startup Solutions Architect | Amazon Web Services Japan Slack も採⽤する Amazon Chime SDK とは? Amazon Chime SDK による アプリ内 ⾳声通話、ビデオ通話のすゝめ Startup.fm
  2. © 2020, Amazon Web Services, Inc. or its Affiliates. Kazuki

    Matsuda @mats16k Startup Solutions Architect Amazon Web Services Japan --- インターネット広告代理店(のアドサーバ作っている部⾨)でインフラエンジニアに ➡ アドテク系スタートアップ⼆⼈⽬のエンジニア(SRE、アプリ開発、情シス、データエンジニア、採⽤) ➡ AWS でスタートアップ⽀援 & コンテナのスペシャリスト AWS Fargate / AWS Lambda あたりが好きです 最近は AWS Amplify と Amazon Chime SDK がイチオシ
  3. © 2020, Amazon Web Services, Inc. or its Affiliates. 今⽇話すこと

    • Slack と AWS 連携の概要 • Chime SDK の概要 • Chime SDK を使ったアプリの作り⽅ • Chime SDK の事例 今⽇話さないこと • なぜ Slack が Chime SDK を採⽤したのかなど、プレスリリースの裏側の話 想定時間 • Session: 30-40m • QA: 20-30m
  4. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    と Slack、企業向け統合ツールの提供に向けて連携 • Slack Calls + Amazon Chime SDK • Slack Enterprise Key Management + AWS KMS • ⾃社の AWS アカウントの KMS を利⽤した暗号化が利⽤可能 • Slack + AWS Chatbot • Slack + Amazon AppFlow
  5. © 2020, Amazon Web Services, Inc. or its Affiliates. AWS

    と Slack、企業向け統合ツールの提供に向けて連携 • Slack Calls + Amazon Chime SDK • Slack Enterprise Key Management + AWS KMS • ⾃社の AWS アカウントの KMS を利⽤した暗号化が利⽤可能 • Slack + AWS Chatbot • Slack + Amazon AppFlow
  6. © 2020, Amazon Web Services, Inc. or its Affiliates. アジェンダ

    • Slack with AWS • Amazon Chime SDK • 事例 • Q&A
  7. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK 既存アプリケーション内でリアルタイムコミュニケーション機能を提供
  8. © 2020, Amazon Web Services, Inc. or its Affiliates. アプリ内でのリアルタイムコミュニケーションを望むお客様

    リアルタイムコミュニケーションにより、カスタマーエンゲージメントをさらに深める
  9. © 2020, Amazon Web Services, Inc. or its Affiliates. WebRTC

    SFU (Selective Forwarding Unit) SFU Server SFU Server セッション管理⽤ データベース 単純にサーバーを増やしたり減らしたりすればいいわけではない
  10. © 2020, Amazon Web Services, Inc. or its Affiliates. リアルタイムアプリケーション構築のチャレンジ

    限られた拡張性 複雑なサードパーティ統合 AI/MLソリューションに追随 サービス感のセキュリティ 開発のオーバーヘッド ゼロから構築するヘビーリフト 納期が⻑い コアコンピテンシーでないスキル 複雑なオペレーション インフラストラクチャの導⼊と管理 品質と信頼性の期待に応える コストの最適化 市場投⼊までの時間、コスト、機能制限の増加
  11. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK とは Amazon Chime SDK ≠ Amazon Chime Chime を制御するための SDK ではない Chime と同じバックエンドシステムを使ったリアルタイム コミュニケーション機能をアプリに組み込むための SDK ⾳声、ビデオ、画⾯共有、電話網通話 主要なオペレーティングシステムとブラウザで、 ⽇常のリアルタイムのインタラクションを強化 ⼤規模な RTC の運⽤に関する専⾨知識 140カ国、14 の AWS リージョンでサポート
  12. © 2020, Amazon Web Services, Inc. or its Affiliates. いますぐ既存のアプリにリアルタイムコミュニケーションを

    運⽤のシンプル化 市場投⼊までの時間、コスト、オーバーヘッドを削減
  13. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK のビルディングブロック Amazon Chime SDK (JavaScript / iOS / Android) サーバーサイドアプリケーションで Chime API を使⽤し、 メディアリソースを作成、管理を⾏う クライアント側のアプリケーションに 埋め込み、メディアセッションを制御 (開始、制御、終了) ⾳声通話、ビデオ通話、画⾯共有 をサポートするメディアセッショ ン&サービス。 既存アプリ内でリアルタイムコミュニケーションを可能に!
  14. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK を利⽤した構成例 • Meeting ID • Attendee ID REST API → External Meeting ID External User ID ← Meeting ID Attendee ID
  15. © 2020, Amazon Web Services, Inc. or its Affiliates. エンドツーエンド開発と運⽤ライフサイクルを簡素化

    • HDビデオ(720p)、16ストリーム、カスタマイズ可能な帯域幅ポリシー • 最⼤250⼈の参加者のためのオーディオ:アクティブスピーカー、信号強度、 ⾳量のリアルタイムイベント • ズームコントロールによる画⾯共有 • デバイスコントローラは、デバイスおよびビデオ解像度の選択を抽象化 • メディア品質メトリックのクライアントメトリックレポートイベント • AWS SDK による AWS IAM ポリシーの使⽤ 構築 運⽤ 統合 • 14の AWS リージョンでミーティングを開催。ユーザーのいる場所に最も近い Amazon Chime TURN サービスを使⽤して企業のファイアウォールや NAT 越しの通信が可能 • AWS サービスヘルスダッシュボード(SHD)更新による 24 時間 365 ⽇のモニタリング • 冗⻑で⾼速な AWS ネットワーキングバックボーン • Amazon Chime Voice Connector との統合による PSTN ダイアルイン • Amazon EventBridge, Amazon SNS, Amazon SQS によるリアルタイムのミーティングイベント • Amazon Transcribe,と Amazon Comprehend による⾳声テキスト化とセンチメント(感情)分析
  16. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK 料⾦ 1 分あたりの料⾦ (各参加者) Amazon Chime SDK 会議セッションへの接続 0.0017 USD (※) 各「参加者」(つまり、SDK を実装したアプリケーションのインスタンス) は、 どのメディアモダリティ (画⾯共有、画⾯表⽰、双⽅向⾳声、⼀⽅向⾳声、双⽅向ビデオ、 または⼀⽅向ビデオ) に関係なく、会議セッションに接続されるごとに課⾦されます。 https://aws.amazon.com/jp/chime/pricing/ (※) 正確な料⾦は下記料⾦ページを参照してください
  17. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK for JavaScript • npm で利⽤可能なオープンソース JavaScript SDK • Windows および Mac での WebRTC 対応ブラウザー (Chrome、Edge、Firefox、Safari)および electron アプリのサポート • カスタマイズ可能なコンポーネントモデル-アクティ ブスピーカー検出器、デバイスコントローラー、ロ ガー • ハードウェアアクセラレーションによるエンコード/ デコード • 名簿、ボリューム、接続状態、および帯域幅変更イ ンジケーターのリアルタイムイベント Amazon Chime JavaScript SDK (オープンソース) ブラウザ Web アプリケーション カスタマイズ可能なコンポーネント JavaScript APIs ブラウザ 判定 Proto BufJs https://github.com/aws/amazon-chime-sdk-js
  18. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK for iOS / Android Amazon Chime iOS SDK • Swift および Kotlin ベースの API • Android > 5.0 and iOS > 10.0 • カスタマイズ可能なオープンソースコンポーネント- アクティブスピーカー、デバイスコントローラー • オーディオ品質、アクティブスピーカーイベント、 強化されたエコーキャンセレーション、ハードウェ アアクセラレーションによるエンコード/デコードと レンダリング、帯域調整のためのリアルタイムシグ ナリング Amazon Chime Android SDK ネイティブ クロスプラットフォームスタック Android SDK iOS SDK Android アプリケーション iOS アプリケーション Swift Component (オープンソース) Kotlin Component (オープンソース) Kotlin APIs Swift APIs https://github.com/aws/amazon-chime-sdk-android https://github.com/aws/amazon-chime-sdk-ios
  19. © 2020, Amazon Web Services, Inc. or its Affiliates. サンプルアプリケーション

    (JavaScript) https://aws.amazon.com/jp/blogs/business-productivity/building-a-meeting-application-using-the-amazon-chime-sdk/ Building a Meeting Application using the Amazon Chime SDK https://aws.amazon.com/jp/blogs/business- productivity/building-a-meeting-application-using-the- amazon-chime-sdk/ Building a Virtual Classroom Application using the Amazon Chime SDK
  20. © 2020, Amazon Web Services, Inc. or its Affiliates. サンプルアプリケーション

    (Android) https://aws.amazon.com/jp/blogs/business-productivity/building-a-meeting-application-on-android-using-the-amazon-chime-sdk/ Building a Meeting Application on Android using the Amazon Chime SDK
  21. © 2020, Amazon Web Services, Inc. or its Affiliates. リアルタイムシグナリング⽤のデータメッセージの利⽤

    https://cloud.flect.co.jp/entry/2020/06/01/115652 フレクト様 - Amazon Chime SDK新機能を使ってホワイトボードを実装した件
  22. © 2020, Amazon Web Services, Inc. or its Affiliates. Slack

    は⾳声とビデオ ミーティングに Amazon Chime を選択 2,200以上 SLACKディレクトリにある アプリ数 100億 毎週送信される メッセージ数 750,000社 Slackを使⽤する企業 790,000⼈ 携わる開発者 SLACK OPEN 10時間以上/⽇ 1250万⼈ レコード 同時実⾏ ユーザー 2020年3⽉時点
  23. © 2020, Amazon Web Services, Inc. or its Affiliates. Amazon

    Chime SDK の優れた点 SOC や FedRAMP などのセキュリティとコンプライアンスの サポート グローバルリーチ 、 14 リージョン Slackをはじめと するお客様が Amazon Chime SDK を選ぶ理由 ユーザーエクスペリエンスを完全にカスタマイズできる 柔軟性 2020
  24. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 9ヶ⽉未満でお客様に新機能の提供 「Mitel は、多くの企業のお客様のクラウド変⾰戦略のパートナー です。 Amazon Chime SDK を CloudLink に統合する⼀⽅で、 Amazon Chime SDK などの AWS のビルディングブロックに よってアーキテクチャが簡素化され、お客様のためにより迅速に イノベーションできることがすぐに分かりました。Amazon Chime SDK を開発した時点で AWS と直接連携し、⼀からの設計 からサービスの実地試験まで 9 か⽉未満で実施しました。」 -Richard Tworek, Vice President of Mitel Labs
  25. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 遠隔教育向けアプリの ビデオチャット機能を⾼速構築 「イタリアの学校向けの仮想教室アプリケーションに、マ ルチパーティのビデオインタラクション機能を8⽇以下で 構築しました。 Amazon Chime SDK と、私たちの素晴 らしいチームのコミットメントのおかげです。 Chime SDK サービスとサポートチームに満⾜しています。私た ちのアプリケーションを使⽤している教師や学⽣からの フィードバックは素晴らしいものでした。」 -Emanuele Putignano, CEO of bSmart Labs
  26. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 遠隔医療で⾳声・ビデオ通話機能 を即時に構築 「私たちは、Amazon Chime SDK を使⽤して、CareMonitor アプリ ケーションで遠隔医療の⾳声およびビデオ通話機能を 1週間以下 で構築 しました。CareMonitor アプリでは、COVID-19 患者は毎⽇の症状の質 問し、温度、⼼拍数、酸素飽和度などの⽣体認証データが収集、現在の健 康状態を測定します。患者が⼀⽇の途中で悪化した場合、彼らはすぐに ピックアップされ、チームは患者に連絡し、状況を評価するためにビルト インのビデオ通話機能を使⽤することができます。私たちは、7,000以上 の診療所をサポートするために私たちの遠隔医療アプリを拡張することが でき、これまでの参加診療所からの良いフィードバックを得ています。 CareMonitor のテレヘルス・アプリケーションにより、患者や医療従事 者は、最⼤100⼈の参加者の1対1またはグループ相談に簡単かつ安全に 接続できます。」 -Dinesh Reddy, CTO, CareMonitor
  27. © 2020, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. ライブストリーミングを 数百万の消費者に提供 「Mindbody は Amazon Chime SDK を活⽤して、⾰新 的なバーチャル・ウェルネスプラットフォームを導⼊しま した。わずか数週間のうちに、安全でスケーラブルなライ ブストリーム機能を既存のプラットフォームに統合するこ とができました。これにより、何万ものグローバルウェル ネス事業者が数百万⼈の消費者にサービスを事実上提供で きるようになりました。」
  28. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    Chime SDK を使うとテレビ会議サービスが作れるが、 チャット機能などは他で実装する必要があるという理解で あっていますか? そのときは何を使ってどう実装するか、おすすめなどありま すか?? A. ご認識の通り、Chime SDK が提供する機能はビデオ/⾳声通話のみとなります。 チャット機能の実装には GraphQL のエンドポイントサービスである AWS AppSync がおすすめです。 AppSync を利⽤したリアルタイムアプリケーションを作成するハンズオンが公開 されておりますので、参考にしてみてください。 参考: React.js でソーシャルメディアアプリを作るワークショップ (ブログ記事) 参考: Vue.js でチャットアプリを作るワークショップ
  29. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    Amazon Chimeには録画/録⾳機能が提供されていたと思 うのですが、Amazon Chime SDK の機能には録画/録⾳機能 は提供されているのでしょうか? A. 現状(2020年7⽉時点)ではサーバサイドでの録画録⾳機能は 実装されていないので、ご⾃⾝で実装する必要があります。 コンテナ内でブラウザを起動し、ffmpeg で録画するデモが公開されているので、 こちらが参考になるかと思います。 https://github.com/aws-samples/amazon-chime-sdk-recording-demo
  30. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    録画機能を利⽤するのに1⼈分の接続料⾦を使うという理 解であってますでしょうか? A. 前述のデモの様に、録画⽤のコンテナを Meeting に参加させる場合、 1⼈分の接続料が課⾦されます。 https://github.com/aws-samples/amazon-chime-sdk-recording-demo
  31. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    Chime SDK を介したリアルタイムデータシグナリングで 通話相⼿のハードウェア制御コマンド送信も可能でしょうか? A. リアルタイムシグナリング⽤のデータメッセージ は JSON 等で送信された データを subscribe 出来るという機能を提供するだけなので、どうハンドリング するかは Callback 関数の記述内容に依存します。 (⼀般に JavaScript から制御できるハードウェアはブラウザでサポートされて いる API に依存するため、Chime SDK だからという話は無いかと思われます)
  32. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    Amazon Transcribe と連携できるとのことですが、その 際に発話者(マイク)を指定しての⽂字起こしなどは可能で すか。 A. Amazon Transcribe は StartTranscriptionJob オペレーションを 呼び出すときに MaxSpeakerLabels, ShowSpeakerLabels を指定することで ⾃動的に話者を識別できますので、事前の処理は不要です。 参考: 話者の識別 ‒ Amazon Transcribe
  33. © 2020, Amazon Web Services, Inc. or its Affiliates. Q.

    JavaScript SDK によるビデオ通話はスマートフォンの ブラウザでも可能ですか? A. 可能ではありますが、ブラウザに依存するということと、 ⼀部機能が制限されることにご注意ください。 参考: Amazon Chime SDK system requirements