見出し画像

オンボーディングで、 WebRTC のツラみと SkyWay の強みを確認した話

はじめまして、SkyWayプロダクトチームの@24guchiです。

2021年年始より入社し、約2ヶ月のオンラインオンボーディング期間を経て、SkyWay自体の方針やチームマネジメントなどをするチームにジョインしました。

ちょうど弊社のオンボーディングハンドブックが公開されたので、併せて読んでみてください。

全体としてはハンドブックにあるような取り組みも行っていますが、今回は、SkyWayチーム独自の「MiniSkyWay」という取り組みを紹介します。

MiniSkyWayとは

そもそもMiniSkyWayとは何かについてです。

MiniSkyWayはSkyWay開発チームにジョインした人が最初に実施する独自に編み出したオンボーディングの一種です。

素のWebRTC APIを使い、クラウドインフラの準備を自ら行い、ビデオ通話機能を実装します。
実装要件としては当然、実際のSkyWayよりシュリンクしたものになりますが、インフラ環境の整備と素のWebRTC APIを使うことの大変さを実感することが目的です。

MiniSkyWayを作る意義

SkyWayは、リアルタイムコミュニケーションを実現するための機能をフルマネージドで提供するPlatform as a Service(PaaS)です。
しかし、SkyWayをはじめとしたWebRTC PaaSを使っていると、WebRTCのツラみを実体験として持つことはできません。

実際に素のWebRTCを使ってみることでSkyWayが解決していることや強みを短期間で理解するための仕組みが、MiniSkyWayです。

MiniSkyWayをどう作ったか

やったことは下記です。

1. MiniSkyWayの要件をチーム内で決める
 今回は、複数人通話が可能でビデオと音声通話ができることを要件にしました。
2. 素のWebRTCについて再度学ぶ
3. ローカルでHTML/JavaScriptを用いて、ビデオ通話までの実装
4. WebSocketでシグナリングサーバーの実装
 3と4はがねこさんの記事を参考にしました。
5. GCPにVMを用意
6. VMにnginxを設定
7. VMにローカルで作った成果物をデプロイ
8. GCPにロードバランサーを用意
9. ドメインの用意と設定

WebRTCは総合格闘技と言われるように、フロントからインフラまで幅広い知識が必要ということがMiniSkyWayでやることを見るだけで分かるのではないでしょうか。
僕は特にインフラ経験が少なく、GCPは今回が初だったのもあいまって苦戦しました。

インフラについては、理解があいまいだったため、改めてシーケンス図に起こしてみました。

画像1

ビデオ通話と一口に言っても、いろんな知識が必要になってきます。

最終的な完成形はシンプルなビデオ通話のデモサイトです。フロントとシグナリングはかなりの部分をがねこさんの記事を参考にさせてもらっています。

画像2

プロダクト運用におけるWebRTCのツラみ

今回はオンボーディングだったので、自分のPCで複数タブを開いて疎通できればOKという代物でしたが、それでも上記のようなことをやる必要がありました。

これを発展させてプロダクト品質まで持っていく場合、さらに以下のようなことを追加で考える必要があります。

1. 何を解決したいプロダクトなのかビジョンを決める
2. ビジネスモデルを決める
3. UI/UX設計と実装
4. WebRTCやブラウザ、各種OSのアップデートに追従できる体制づくり
5. サーバーの冗長化やオートスケールの実装

また、Chrome のアップデート間隔が6週間から4週間になるというニュースが先月発表されました。

ブラウザや各種技術の頻繁なアップデートを追従しながら自社プロダクトを開発・運用していくのは大変です。

それ、SkyWay使うと解決できますよ

プロダクトを作るにあたって一番重要なのは、解決したい課題にフォーカスできる仕組みづくりだと考えています。

解決したい事があるにも関わらず、ブラウザ実装やインフラ整備に時間をかけているのはもったいないですよね。

この面倒な部分を一手に担って解決できるプロダクトがSkyWayです。
SkyWayは次のような特長を持っています。SkyWayを使うことで、WebRTCのツラみの多くを解決できます。

・EasyなSDK
・ブラウザ、iOS、Android対応
・WebRTCに関するインフラの準備と保守が不要
・日本語ドキュメントの充実
・不明点をSkyWayを開発している開発者に質問できる(有料版のみ)

ブラウザアップデートへの追従やインフラの構築・運用など、WebRTCを使う場合に大変なポイントをまとめてフォローできるのがSkyWayの強みです。
また、Community Editionでは無料ですぐにビデオ通話を試すことができます。

SkyWayチームにジョインして一番の強みだと感じたのが、日本語ドキュメントの充実と日本語で内部の開発者とコミュニケーションを取れることです。

WebRTC PaaSは海外発のプロダクトが多く、コミュニケーションは英語になることが多いです。

SkyWayはNTTコミュニケーションズが内製しているため、日本語で書かれたドキュメントがあり、日本語で開発者と直接コミュニケーションを取ることが可能です。

時差や言語、国の違いによる文化の差がないため、日本企業が導入する際はこれらが強みになります。

まとめ

オンボーディングでMiniSkyWayを実装することで、SkyWayの強みを再確認できました。
ある程度開発経験があっても、保守コストはかさみます。

貴重なドメイン知識を持つ開発者を自社の課題解決にフォーカスさせられるのがPaaSとしてサービス提供しているSkyWayの一番の強みだと再認識しました。

▼SkyWayサービスサイトはこちら▼
https://webrtc.ecl.ntt.com/


この記事が気に入ったらサポートをしてみませんか?