Voicyのシステムアーキテクチャ
アーキテクチャの工夫ポイント
アーキテクチャ選択の背景や意図
アプリケーションロジックはAWS、データ分析基盤はGCPを採用しています。
データ分析基盤でGCPを採用している理由はBigQueryを利用したかったからです。
アプリケーションロジックはサービス初期から変遷を繰り返し現在の形になっております。
プロダクトの立ち上げ時期はAWS Elastic Beanstalkを採用してJavaで実装されていました。その後開発生産性を上げるためにGCPのGoogle Kubernetes Engineにサービスを移し始めたのですが、途中で担当者の退職により移行プロジェクトが頓挫しました。
AWSとGCPの両方を運用してた時代を経て、メインのコンピューティングをAmazon Elastic Kubernetes Service に移すことを意思決定して、途中でJavaをGoでの実装に変更しながら、現在のインフラの状態になりました。
またデータベースはしばらくAmazon Auroraを利用していましたが、今後のスケール性とコストパフォーマンスのメリットがありTiDBに移行しました。
現在のアーキテクチャの課題と今後の改善予定
現在のアーキテクチャの課題は複数のサービスが同一のデータベースに接続しており、似たロジックを複数のサービスで実装しなければならず、スピードや品質面で問題がありました。
また中途半端にマイクロサービスを取り入れてしまったため、複数サービスに跨る実装時にオーバーヘッドが存在しており、開発生産性も低くなっていました。
それらの課題を解決するために、現在はモジュラーモノリスへの大型リファクタリンクを実施しており、アプリケーションのコアロジックを集約し、開発生産性をあげて、開発スピードや品質を上げようとしています。
◆執筆:山元亮典 / エンジニア部門責任者 @yamagenii
【サービス公式サイト】
https://voicy.jp/
アーキテクチャを構成するツール
会社情報
株式会社Voicy
当社は「音声×テクノロジーでワクワクする社会をつくる」というミッションのもと、音声体験を取り入れることで生活をシームレスにリデザインし、より豊かな社会を創ることを目指しています。 国内最大級の音声プラットフォーム「Voicy」は、2016年のサービスローンチから順調に拡大し、会員登録者数は200万人を突破。これまでに累計36億円の資金調達を行いました。より多くの人々に音声を届け、声で心を動かす体験の創出を目指しています。