オンライン・リアルの双方に対応するイベントの公式Webやアプリの作成・公開を支援するプラットフォーム「eventos(イベントス)」を提供するbravesoft(ブレイブソフト)株式会社。マルチテナントSaaSとしてアマゾン ウェブ サービス(AWS)上で運用しているeventosですが、コロナ禍を契機に導入企業が急激に増えたことから、スパイクアクセス時のシステムダウン対策や、コスト最適化などが課題となってきました。
そこで、アーキテクチャの改善に向けて、クラスメソッドのAWS総合支援サービス「クラスメソッドメンバーズ」を採用し、AWS Well-Architected フレームワーク「SaaSレンズ」を活用してワークロードのアセスメントを実施しました。2022年10月と11月の2カ月で実施したアセスメントの結果を受けて改善点の優先順位を決定し、2023年より本格的な改善活動に乗り出しています。クラスメソッドへの依頼経緯とアセスメントの実施内容について、チーフアーキテクトの間宮正信さんと、エンジニアの金広優さんにうかがいました。
マルチテナントSaaSの安定化に向けてアセスメントの実施を検討
bravesoftは、「新しいものへの果てしない挑戦」を理念に、BtoCからBtoBまでさまざまなアプリを開発しています。イベントプラットフォームの「eventos」は同社の主力プロダクトで、ノーコードで自社のイベントプラットフォームを構築することができるSaaSサービスです。イベントサイトの作成を始め、チケット販売、クーポン、会員管理、ライブ・動画配信まで、1つのツールでイベント運営を完結することができます。2014年のサービス開始以来、リアル、オンライン、ハイブリッド形式のイベント約7,000件に導入され、300万人以上のユーザーが利用しています。
リリース以来、eventosは開発効率の高さからAWSを採用し、マルチテナントSaaSとして運用されてきました。しかし、eventosの認知度が向上して導入企業が増えてくると、スパイクアクセスへの対応などさまざまな課題が顕在化してきました。
eventosは定時に一斉にアクセスするイベントプラットフォームの性格上、常にアクセススパイクが発生します。急激なスパイクは、オートスケールで対処しきれないためにコスト効率の低い手動スケーリングが必要で、システムダウンのリスクにもさらされています。マルチテナントSaaSであるために、一部のテナントがリソースを使い尽くすノイジーネイバー問題や、テナント間のセキュリティ侵害、インフラコストやリソース使用量などの可観測性が低いなどの問題があります。さらに、コストも最適化できていないことも課題となっていました。
「eventosがスマホアプリからスタートし、後からWebの機能を追加してきた経緯からアーキテクチャがWebに最適化されておらず、安定性に不安がありました。イベント運営を続けながらサービスを強化していくうえでも、アーキテクチャを確認し、マルチテナントSaaSとしての理想形を目指すためにアセスメントを検討しました」(間宮さん)
SaaSに特化したAWS Well-Architected フレームワーク「SaaSレンズ」を活用
アーキテクチャのアセスメントに向けて、同社は複数のAWSパートナーに相談し、3社の提案の中からクラスメソッドを採用しました。クラスメソッド選定の理由は、提案内容にありました。
「クラスメソッドとは初めての取引ですが、技術ブログの『DevelopersIO』を見て技術力の高さは認知していました。提案の内容も、他社がAWSのサービスに則った紋切り型のアセスメントだったのに対し、クラスメソッドはもう一歩踏み込んで、インフラからアプリケーションまで、私たちの悩みに寄り添いながら伴走していただけるとのことでしたので採用を決めました」(間宮さん)
アセスメントは、2022年10月と11月の2カ月間で実施。クラスメソッドは、AWS Well-Architected フレームワークのSaaSレンズを使ってeventosのアーキテクチャを評価しました。AWS Well-Architected フレームワークは、AWSが提唱するベストプラクティスと突き合わせて現行システムのセキュリティ、パフォーマンス、コストなどをレビューするためのフレームワークで、その中でもSaaSレンズはAWSでマルチテナントSaaSアプリケーションのワークロードを設計、開発、デプロイする方法に焦点を当てています。
クラスメソッドはSaaSレンズにもとづき、テナント分離モデルとデータアクセスレイヤーでのクロステナントアクセス保護の評価、SaaS特有のメトリクスを使った動的スケーリング、テナントコンテキストを使ったテナントオブザーバビリティの評価などを実施しました。
「今回のアセスメントの目的は、現状の課題に対する解決策を提案いただくこと、それに対して私たちが優先順位を付けられるようにすることでした。具体的な解決策に対してメリットとデメリットがわかるように詳細なマトリックス表にまとめてくださいとお願いしました」(金広さん)
アセスメントの期間中は、1週間に1回の頻度でオンラインミーティングを実施し、タスク管理ツールのBacklogを使って課題を管理しながら議論を進めていきました。
「これまでも私たちエンジニアチームとして、課題に対する解決策は検討してきたものの、よりベストな選択をしたいという思いがあってアセスメントをお願いした経緯があります。そこで、課題に対してどのように考えているかをお伝えし、AWSのベストプラクティスに添った解決策を提案いただく形で議論を進めていきました。結果として答え合わせのような感覚で、エンジニアチームが考えてきたことが間違っていなかったことを確認する機会となりました」(金広さん)
解決策をもとに優先順位に応じて対応を実施
2カ月間のアセスメントを終え、改めて課題と解決策が明確になりました。現在は、リストアップされた解決策をもとに改善のスケジュールを作成し、優先順位に応じて対応を進めているところです。課題の中でも最優先となっていたコストの最適化については、アセスメント直後から着手し、すでに一定の効果を確認しています。
「最も着手しやすい改善策として、キャッシュサーバーなど一時的に構築したサーバーを削除したり、Amazon EC2のインスタンスタイプを見直したりと、無駄に使っているインフラリソースを削除しました。その結果、サーバーコストは従来から10%~20%削減と、目に見える形で成果を得ることができました」(間宮さん)
開発・運用チームにも変化が生まれ、マルチテナントを強く意識
アセスメント実施後、開発・運用チームのメンバーがマルチテナントを強く意識し、最適なアーキテクチャを考えるようになるようになりました。アセスメントを実施したクラスメソッドに対しても高く評価し、金広さんは次のように話しています。
「アセスメントを終えてみて一番の感想は、私たちに寄り添って対応していただけたことです。インフラだけでなくアプリケーションの領域に関しても、これまでの経験と知見を生かして私たちと一緒に考え、対象のアプリケーションを動かすのにベストなインフラの改善方法を提案していただき、改めてお願いして良かったと感謝しています」(金広さん)
今後は、アセスメントの結果をもとにアーキテクチャの改善を続けていくほか、eventosのサービス自体もさまざまな機能を追加しながらアップデートを続けていく方針です。
「eventosはイベントプラットフォームとして提供しているサービスですが、本来の強みは集客やマーケティングの領域にあります。今後は、イベント主催・運営企業様の要望にあわせてマーケティングツールを提供し、BtoBマーケティングプラットフォームへと進化を目指していきます。サービスを拡張していく中で、今とは違う観点で課題が出てくると思いますのでクラスメソッドには引き続き相談できるパートナーとして支援をお願いしたいです」(間宮さん)
クラスメソッドは、eventosのアーキテクチャ改善と新機能開発に取り組むbravesoftのチャレンジを、これからも技術とノウハウを駆使して支えてまいります。