誰かから何か言わないと気付かない環境から、自らアラートで気づいて対処もすぐにできるようになるという理想的な環境が、Splunkによって実現できました。すぐに気づけて原因特定に向けてアプローチしやすくなったことが何よりも大きい
急成長を続けるインボイス管理サービス「Bill One」において、本番環境のレスポンス低下などが発生した際に、原因を調査する手法が属人化していた。事業規模が拡大し続けているサービス基盤を運用していくためには、特定の社員だけではなく、誰もが扱いやすい調査環境を構築することが急務だった。
OpenTelemetryに完全準拠したSplunk Application Performance Monitoringを採用し、サービス全体の可視性を高めることでオブザーバビリティの高度化を実現。システムトラブルや有事の際でも迅速に検知、対処できるようになるなど、プロアクティブな対応が可能になった。
「出会いからイノベーションを生み出す」というミッションのもと、人と人、企業と企業をつなぐことで生まれるイノベーションを通してビジネスインフラになることを目指しているSansan株式会社。名刺管理から営業を強化する営業DXサービス「Sansan」をはじめ、インボイス管理サービス「Bill One」、契約情報のデータベース構築を支援する「Contract One」、名刺アプリ「Eight」を手掛けています。2007年の創業以来、事業立ち上げから大型資金調達を経て、請求書や契約書といったビジネス領域へサービス拡大を続けています。2023年にはBill Oneのオプションサービスとして、法人カード「Bill Oneビジネスカード」を搭載し、同社初のフィンテック領域に進出。アナログからデジタルを軸に、社会やビジネスシーンに対してまだ世の中にないサービスを提案し、課題解決することを価値創出の源泉とし、さらなる売上高成長率の加速を目指しています。
そんな同社が手掛けるBill Oneにおいて、本番環境の遅延などUXにおける課題解決に向けた状況把握のために基盤として採用されているのが、システムの状態を可視化するためのテレメトリーデータの収集を実現するオープンソース規格であるOpenTelemetryに完全準拠したSplunk Application Performance MonitoringおよびSplunk Infrastructure Monitoringです。
同社が手掛ける事業のなかでも急成長を遂げているのが、電子帳簿保存法改正やインボイス制度開始など法制度の対応需要も相まって成長スピードを加速させているインボイス管理サービス「Bill One」です。Bill Oneは、紙やPDFを含めたあらゆる請求書をオンラインで受け取ることで、経理部門を含めた会社全体の請求書業務を効率化し、月次決算業務を加速することが可能になるサービスです。ユーザー数の急増とともに請求書件数も増え、サービス利用に伴うトラフィック量も毎月20%前後の伸びを見せています。
そんなBill Oneにおいて課題となっていたのが、本番環境におけるレスポンスの遅延でした。「請求書を扱うサービスだけに、月初めは特に多くの処理が発生します。当然エラー通知を追いかけることは可能で、Google Cloud上にログを蓄積し、ユーザーのリクエストごとに振り分けたIDから個別のトレースを追跡できる環境はBill Oneリリース時から実装していました。しかし、原因が不明瞭で環境全体が遅延している状況ではうまく追いかける手段がなく、事業を理解しているメンバーによる職人芸的なアプローチが必要とされていたのです」と同社にてBill OneのSREチームに所属する前田 英司氏は当時を振り返ります。ある程度の仮説を立てて検証していくような人に依存したプロセスで、特定のメンバーだけが調査し続ける環境は、急成長を続ける事業を支えていく環境としては十分ではないと判断。誰でもシステム全体の状態を観測できるオブザーバビリティを実現するための環境づくりが進められました。
新たな環境については、ベンダーロックインされないオープンソースのOpenTelemetryにできる限り完全対応できるもので、誰でも追跡方法がイメージできる使い勝手の良さ、そしてメンバー全員がトラブルシューティングできる環境を目指しました。「いきなり完璧に扱うというよりも、たとえばサービスマップで全体が可視化できる、ドリルダウンで特定の時間に何が起こっていたのか可視化できるといった機能はもちろん、詳細に解析できるよう高いサンプリングレートが確保できるものなどを意識しました」と前田氏。
複数のオブザーバビリティソリューションを検討した前田氏ですが、マップ機能がないために初めて利用するメンバーが使いづらい、ユーザー単位の課金で多くのメンバーが利用するには費用が高額など、同社に適したものではありませんでした。「OpenTelemetry対応ながら変換処理が個別に必要で、ソリューション独自の計装が必要になってしまうなど、ベンダーロックインが危惧されたものも。利用しているGoogle Cloudの特性からうまく計装できない、サンプリングレートが十分に確保できないなど、ソリューションごとに課題がありました」
そこで注目したのがSplunk Application Performance Monitoringでした。「ダッシュボードは独自言語が必要ですが、エンジニアであれば慣れるはず。OpenTelemetryに完全準拠しているために変換処理も不要です。事業の成長率が驚異的だったため100%のサンプリングレートでは厳しい状況でしたが、多少レートを落としても別の仕組みで全量のログ確認ができるなど、組み合わせながらでも使う価値があると判断したのです」と前田氏。
またトライアルの段階でもSNSツールを経由してSplunkに気さくに相談できるなど、手厚い支援を期待できただけでなく、実は同社が手掛ける契約書ソリューションのContract OneでもSplunkを利用していたため、何かあればノウハウも共有できると判断。結果として、同社が期待するオブザーバビリティの環境づくりにSplunk Application Performance Monitoringが選択され、統合的にSplunkソリューションでインフラパフォーマンスが可視化できるSplunk Infrastructure Monitoringも同時に採用されました。
現在は、SREチーム全員をはじめ70名ほどがSplunk Application Performance Monitoringに登録しており、他チームのメンバーも含めて全体を俯瞰し、気になる部分に対してあたりをつけるといった作業に活用しています。「以前からしっかり行われていたエラー検知にて活用するというより、パフォーマンス関連でアラートが出た際に見る機会が多い。特に請求書が多くやり取りされるタイミングはパフォーマンスに注視しています」と前田氏は説明します。なお、Splunk Infrastructure Monitoringについては、SplunkのGUIからインフラ部分も含めて統合的に確認できることに期待を寄せており、使い方などはこれから精査していく段階にあります。
毎月数億件のトラフィック量を処理しているBill Oneは、サーバレスのコンテナ実行環境であるCloud Runにて稼働しており、10を超えるマイクロサービスに対してSplunk Application Performance Monitoringにて可視化を行っています。「遅延がサービスに大きく影響するエンドポイントに対してレイテンシーの閾値を設定し、検出器としてのDetectorでアラートを検出するなど稼働状況を確認しています。まだ色々やれる余地はありますが、今は一番大事なところだけしっかりおさえている状況です。Bill Oneは領域ごとにチームが分かれているため、我々SREチームが介在することで、レイテンシーを自主的に見て改善活動してもらえるようにしていきたい」と前田氏。
オブザーバリティに資する新たな環境を整備したことで、以前は顧客からの問い合わせやエラーが頻発しはじめてから認識するようなことも、導入後は3分ほどでアラートに気づいて、30分後にはリリースできたという実例もあるほど。「Splunkのおかげで、フロントエンドなのかバックエンドの特定処理なのかDBに原因があるのかといったレイテンシー悪化の原因特定が迅速にできたのは大きい」と前田氏。まさに、以前のようなリアクティブな状況から早期に対処できるプロアクティブな対応ができるようになったことを強く実感していると評価します。
誰でも調査できるような環境作りについては、まだ道半ばの状況ではあるものの、以前のように“分かる人が見ないと分からない”という状況は少しずつ解消しつつあります。「私のようにアプリケーションに詳しいSREメンバーでなくとも、エンジニアから問い合わせがあれば、何かがおかしいということに気づくきっかけになっています。リリースしたマイクロサービスに対して情報が取れるようになったと通知すれば、見てくれるエンジニアも徐々に増えています。もっとエンジニアにSplunkを普及させていきたい」と前田氏。
Splunkについては、顧客の個別事業をしっかりと把握したうえで、実際の導入から運用支援など親身になって対応している点を高く評価します。「実際に運用を始めた当初に問題が発生したことがありますが、ダッシュボードを一緒に見ていただきながら実際の使い方を詳しくレクチャーいただいたことも。とても柔軟にサポートいただけて助かっています」と前田氏は評価します。
現在は主にSREチームが活用しているSplunk Application Performance Monitoringですが、Bill One事業に関わる他のチームメンバーにも啓蒙活動を続けながら、計装する範囲をさらに拡大していきたいと意欲的です。「OpenTelemetryに準拠しているという意味で標準化できており、本来であればBill Oneのアプリケーションデータを取らないと本当の価値が出てきません。請求書に振っているIDに対する計装を増やすことはもちろん、メールの送受信などOpenTelemetryにない領域についてもBill Oneで計装することでより一層価値が出てくるはず」と前田氏。Splunk Infrastructure Monitoringについては、これからしっかり活用していくために環境整備を続けていくと語ります。
また、現時点でもBill Oneを利用するテナントごとの情報もある程度見えているため、営業部門やカスタマーサクセス部門など、トラブルシューティング以外のデータ活用についても十分考えられると言います。さらに、ブログなどを通じて前田氏が情報発信することで、OpenTelemetryそのものを社内に広げていく活動につなげていきたいと語ります。「OpenTelemetryというワードに興味を持っているエンジニアは社内でも増えており、そこに対してしっかり広めていきたいという思いはあります。その過程で何かソリューションを検討したいということであれば、社内における成功事例の1つとしてのSplunkを選んでくれると嬉しいですね」と前田氏に今後について語っていただきました。