【GMOリサーチではエンジニアを募集中です】採用情報はこちら!

Zoomが安定したサービスを提供している方法について調べてみた 

Zoomが安定したサービスを提供している方法について調べてみた 

初めまして、システム部の劉(りゅう)です。
今はGMOリサーチのクラウドパネルのシステム連携などを対応しています。2014年入社以来、海外リモートワークや産休育児休など経験して、現在も時短で勤務させていただいています。

先日4/2(金)、GMOリサーチのオンラインテックカンファレンスが開催されました。

私は「Zoomが安定したサービスを提供している方法」についてのLT(Lightning talk)を発表しましたので、今日はブログのほうでも同じ内容を共有させていただこうと思います。

Zoomの利用者は約5ヶ月で30倍に

2020年、新型コロナウイルス の影響で、世界中で在宅勤務のニーズが急増しました。

そこで色々なオンラインツールやウェビナーが大活躍しています。

その中で、Zoomは特に注目されており、プライベートの繋がりから、仕事の場面まで広く活用されています。

弊社でも、日々Zoomミーティングを行っています。

2019年12月から5か月で、毎日のZoomミーティング参加人数は1千万から3億人に増加。

私は、Zoom社のサービスニーズが短期間で30倍も増えたにもかかわらず、他のサービスよりも使いやすく、安定したサービスを提供できていることに興味がありました。

そこでどんな仕組みでサービスを提供しているか、調べてみました。 

以下でその内容を共有いたします。

Zoomのサービスコンセプトとシステムの特徴

Zoom社はサービスコンセプトとして、最初から「クラウドネイティブ」(Cloud-native)と「ビディオ優先」(Video-first)で意識してサービスを構築、展開しています。

もちろん他のウェビナーサービスも今まで多くのユーザを支えてきましたが、主に画面共有、チャット機能中心や、小人数のビディオ会議サービスを提供しています。

しかし今は多くの参加者が同時にビデオ会議開催するニーズが増えてきて、過去のシステムに基づいて機能拡張して、大人数のビディオ接続サービスを提供することには限界がありました。

今までよくあるウェビナーサービスの多くは、多地点制御装置を使って、集中型のアーキテクチャだそうです。

  • MCU (多地点制御装置  Multipoint Control Unit)が複数の発信地から信号を中継する
  • データをまとめて受け取って、画面合成処理、各端末に送信などの処理をする
  • CPU、メモリがボトルネックになり、システムの拡張性が制限されている
集中型アーキテクチャの図

一方、Zoomのシステムの特徴は:

1.分散型のアーキテクチャ

  • 一つのミーテイングが、複数のミーティングゾーン、データセンターに分散される。ユーザが自分のネットワークから、最適なデータセンターにつなげる。
  • ミーティングの拡張性が高い。ミーティングの人数が多い場合、ミーティングゾーンがレプリカされて、接続できる数を増やせる。

2.マルチメディアルータ(Multimedia routing, MMR)で柔軟に適切なコンテンツをユーザに提供する。

  • ストリーミングデータを合成処理せず、マルチストリーミングを参加者から端末に転送し、ユーザのネットワーク環境によって、適切なストリーミングコンテンツが利用される。
  • 一つのMMRは、MCU (多地点制御装置)に比べて15倍の多くの参加者をサポートできる
  • サーバ計算処理のニーズが比較的低く、拡張性が高い
分散型アーキテクチャ

Zoomの接続プロセス

また、Zoomの接続プロセスは以下のようです:

Step 1. 

ユーザがZoomミーティング始まると、ZoomクライアントがZoom Web インフラストラクチャーに接続し、アクセス必要なメタデータの取得や、ネットワーク環境情報を把握する。

当クライアントに適切なミーティングゾーンのリストなどの情報を用意して返却する。

Step 2. 

各ミーティングゾーンのゾーンコントローラーに接続を試して、パフォーマンステストの結果により、最適なミーティングゾーンへ接続する。

Step 3. 

さらにミーティングゾーン内で最適なMMR (Zoom Multimedia Router Zoomマルチメディアルーター)の情報を取得し、直接のアクセスチャネルを確立する。

Step 4. 

Zoomクライアントは、Zoom独自のプロトコルを使用し、それぞれ転送するメディアの種類ごとに、最適なテクノロジーで接続を作成する。

Zoomのサービスコンセプトの1つ目「クラウドネイティブ」により、最初からサービスの拡張性を考えてシステムを作ります。そのために、地域分散かつ人数が多いミーティングでも、サポートできます。

また「ビディオ優先」に関して、最初から、ネットワークの要求が一番厳しいビディオを基準として、ネットワーク環境が優れていない状況を配慮し、独自のプロトコル適用メカニズムで、止まらないミーティング接続サービスを提供します。

終わりに

以上が私が調査したzoomが安定したサービスを提供している方法になります。
最後まで読んでいただいてありがとうございました!

GMOリサーチでは、WEBエンジニア(サーバーサイド、インフラ、フロントエンド)を随時募集しております。

興味のある方は、ぜひこちらからご応募ください!
詳しい募集要項など採用情報はこちら

参考資料:

#1  https://blog.zoom.us/zoom-can-provide-increase-industry-leading-video-capacity/ 
#2  https://zoom.us/docs/doc/Zoom_Global_Infrastructure.pdf
#3 https://zoom.us/docs/doc/Zoom%20Connection%20Process%20Whitepaper.pdf
#4  http://highscalability.com/blog/2020/5/14/a-short-on-how-zoom-works.html 
#5 https://blog.zoom.us/a-message-to-our-users/ 
#6 https://blog.zoom.us/90-day-security-plan-progress-report-april-22/
#7 https://liskul.com/online-meeting-tools-zoom-47650
canva#8 https://zoom.us/docs/doc/Zoom%20Client%20Connection%20Process%20Whitepaper_JP.pdf

開発ブログカテゴリの最新記事