2023年09月28日

システムのバージョンアップで考慮すべき点

Agora Go Real

クラウドサービスでは、システムのバージョンアップが必要になる場合があります。
急激にユーザー数が増えたり、採用する技術基盤の老朽化が顕著になったり、技術負債が積み重なってメンテナンス性が悪くなってきた場合等です。
この記事ではライブ配信アプリを例としてシステムのバージョンアップ時に考慮すべき点を解説します。

お役立ち資料ダウンロード

オンライン体験におけるブイキューブの技術サポートのご案内

【図解】システム開発のお手伝い

ブイキューブのソリューションアーキテクトが、寄り添います!
各種ライブ配信システムのアーキテクチャについて わかりやすい構成図にてご紹介!

無料ダウンロード

現行システムで採用している技術の有効期限

映像音声の配信技術については、数年前はFlashが主流でした。しかし、ご存知の通り現在では開発・サポートが終了しています。当時、ライブ配信サービスを運営や開発をしていた事業者は代替案を要求されました。ちょうどその時期ではApple社が独自に開発したHTTP Live Streaming(以降HLS)が浸透してきており、代替の技術として広く採用されていきました。アーキテクチャの見直し箇所は映像アップロード側、サーバー側のミドルウェア、再生側と多岐に渡りました。
このように現在採用されている技術の終焉を迎える場合もあるので、システムリプレイス時にはその有効期限を意識する事が大事です。

可用性

PoCやスモールスタートで開始したサービスが順調にユーザー数、利用数が伸びたと仮定します。おそらくインフラの構成はミニマムなものであり可用性が考慮されてない場合もあると思います。
例えば、WebRTC用のサーバーでオープンソースのJanusを使ってたとしたら、分散処理の運用を独自で設計する必要がでてきます。他にも単一サーバーライセンスの商用製品でも同じ事が発生します。
このような場合はインフラとクライアントSDKを備えたPaaS製品に置き換える事が重要です。Agora等のPaaS製品は高い可用性があり、システムを安定して稼働させる事ができます。開発者はサーバーの構成や監視をする必要がありません。また、クライアントサイド側でも恩恵があります。PaaSに付随するSDKを利用することでOSやブラウザのアップデート等による不具合を吸収してくれる場合もあります。
その他にもオンプレミスや仮想サーバーで運用していた構成をサーバーレスアーキテクチャに変更し、負荷状態に応じてスケールアウトしサービスが安定運用できます。

コストカット

コストカットの実施により、売り上げが変化しなくても利益率をあげる事が可能です。
例えばVOD配信の機能でコストがかかるのは映像のトラフィックになります。映像の品質を落とさないで、帯域を削減できればコスト削減が可能になります。又、ストレージのコストを削減する事も可能です。


各手順の詳細は「Tencent Cloud MPSを活用して動画配信のコストを下げる方法をご覧ください。

堅牢なシステム構成

サービスの利用者が増えてきた場合、不具合等によるサービス停止は関わる多くの人に影響を与えます。例えばライブ配信の基盤やCDNとしてPaaSを利用していたとします。そのPaaSに広域な障害が発生してしまうと配信が不可能になります。ライブイベントは事前の集客やプロモーションに多くのコストをかけている場合もあり、当日配信ができないと大きな損害につながります。
このようなリスクを回避するにはIaaSやPaaSも二重化しておき、片方をコールドスタンバイさせておきます。従量課金タイプのインフラであれば特にランニングコストはかかりません。障害発生時のみの利用コスト発生となります。
また、コールドスタンバイ側のインフラがビジネスにマッチする場合もあるので、その際はメインと待機系を入れ替えるという事も可能になります。

部分的な入れ替え

新しいインフラを取り入れるには多少のリスクも存在します。一式すべてを取り替えるのに不安な場合は、部分的に入れ替えるのも良いかもしれません。例えば、サービスの提供に大きな影響を与えないサブシステムへの導入等です。前述のようなコールドスタンバイ側に導入するのも一つの案です。

新規で導入したIaaSやPaaS等のインフラに対するお作法や技術を十分に習得してからメインシステムへ組み込んでいくというストーリーになります。

情報収集

システムの見直しをする際、情報収集は非常に重要です。最近ではオンラインセミナーが主流になってきており手軽に情報収集が可能です。すぐに見直しをしない時期でも常に情報収集をしておけばいざという時に役立ちます。
又、トライアルが可能なインフラもあり、サンプルコードも多く提供されている場合もあるので簡易なプロトタイプを短時間で作成する事もできます。
技術者としては常に情報に対するアンテナと手を動かす事を心がけたほうがよさそうです。

 

Tencent Cloudについて詳しくみる

藤本 諭志

執筆者藤本 諭志

株式会社ブイキューブ 技術本部 Agora担当。 2007年ブイキューブ入社。 自社開発サービスであるV-CUBE セミナーの開発に携わる。現在はAgoraとTencent Cloudのプロダクト担当SEをしている。 スキル:Docker/AWS/Linux/DB/Ruby/PHP/JavaScript

関連記事

先頭へ戻る