既存システムのクラウド移行の際、単にクラウドで実行するだけではそのメリットを享受することができません。移行前と同等の性能を出すために移行前以上のコストがかかってしまうことさえあります。
本セッションでは、Voicyの音声処理アーキテクチャの変遷を通じて、クラウド環境におけるバッチ処理の設計についてお話しします。ワークロードに応じて適切なリソースが割り当てられる設計とすることで、性能とコストの両方を改善することができます。
具体的には、従来のCronベースの逐次処理から、並列化による処理の高速化、キューを活用したイベントドリブンな形式への変更、コンテナによるオートスケーリングの適用といった流れと、それぞれの変更の狙いを解説します。また、その過程におけるマネージドサービスと内製サービスの使い分けについてもご紹介します。
今回テーマとする音声処理には、アップロードされた音源のフォーマット変換やノイズ低減、音量調節などが含まれます。これらはビジネス的な制約により、遅くとも数分以内の完了が求められます。
想定する聞き手
- クラウド環境でバッチ処理を設計するアーキテクトや開発者