Sansan: Cloud Run と AlloyDB で決済事業を支える高可用性インフラを約 6 か月という短期間で構築

Google Cloud Japan Team
人と人、企業と企業、その出会いが持つ可能性を再発見し、未来につなげることでビジネスの変革を目指す Sansan株式会社(以下、Sansan)。法制度変更への対応などもあり、著しく成長を遂げるインボイス管理サービス「Bill One」は、経理業務における月次決算のスピードを加速させるという本質的な価値を提供しています。2023 年 6 月には、Bill One のオプション サービスとして、「Bill Oneビジネスカード」をリリース。その開発、運用インフラに Google Cloud を採用したプロジェクトについて、技術本部の Bill One のエンジニアにお話を伺いました。
利用しているサービス:
Cloud Armor, Cloud Load Balancing, App Engine, Cloud Run, Cloud Tasks, Cloud SQL, AlloyDB, Cloud Storage, Identity and Access Management(IAM)
利用しているソリューション:
Database Modernization, Accelerate App Dev & Delivery
決済事業を支える高い可用性や拡張性、運用効率を評価して Google Cloud を採用
働き方を変える DX(デジタル変革)サービスの企画、開発、販売を事業として展開する Sansan。主力プロダクトである営業 DX サービス「Sansan」 は、プロダクトの刷新などで堅調に成長。その売上は対前年同期比 15% 増で、「Bill One」についても目標を大幅に超える成長となり対前年同期比 192.2% 増の売上となりました。新たなオプション サービスである 「Bill Oneビジネスカード」を提供することで、アナログな経理業務やインボイス制度・電子帳簿保存法対応、不正利用リスクなどの課題を解決。継続した Bill One の機能強化により Sansan / Bill One 事業では、対前年比 172 % 増の月次経常収益(MRR)を実現しています(2023 年 5 月期実績)。


技術本部 Bill One Engineering Unit の上司 陽平氏(以下、上司氏)は、「Bill One をリリースした当時、請求書発行サービスはたくさんありましたが、請求書受領サービスは多くありませんでした。紙や PDF など、さまざまな形式の請求書をデータ化するのは難易度が高かったことがその理由ですが、名刺のデータ化で培った技術の高さにより他社を圧倒できるサービスを実現しました。一方の Bill Oneビジネスカードは、企業のクレジットカードに関する課題を解決する法人カードで、アップロードされた証憑と利用明細を自動で照合し、金額が異なる場合はアラートを表示します。カード利用後は、利用者に証憑提出を依頼するメールを自動配信するので、証憑の回収からチェックまでの一連の作業をデジタル化し、業務を大幅に効率化できます」と話します。
Bill One の開発・運用では、インフラとして Google Cloud が採用されています。その理由は、運用負荷を低減して開発に集中すること、マルチクラウドを推進すること、先進技術にチャレンジすることの 3 つ。今回リリースした Bill Oneビジネスカードは、Bill One の開発・運用インフラを拡張することで実現。新規開発サービスの要件としては、決済事業を支える高い可用性や拡張性と、運用効率の最適化です。それを実現するために採用されたのが、Cloud Run と AlloyDB を中心とした Google Cloud のプロダクトでした。
高い可用性と拡張性が求められる決済システムをおよそ 6 か月という短期間で構築
Google Cloud を採用した開発・運用インフラの基本構成としては、Cloud Armor によるウェブ アプリケーション ファイアウォール(WAF)と Cloud Load Balancing によるロードバランサーの後ろに App Engine による BFF(Backends For Frontends)があり、その後ろに Cloud Run によるバックエンド サービスが並ぶ構成になっています。各サービスは、マイクロサービスで構成され、サービス間は Cloud Tasks を利用した非同期の連携になっており、それぞれにデータベースを持つ構成になっているのが特徴です。カードサービスの処理に関しては Cloud SQL を、ペイメント処理には AlloyDB を利用し、細かなところでは Cloud Functions を適宜使用し、データのストレージとして Cloud Storage を利用しています。
上司氏は、「マイクロサービスで分割しているとはいえ、これまでと大きく異なるアーキテクチャを採用すると Bill One 全体の構成が複雑になってしまいます。そのため可能な限り同様のアーキテクチャを活用したいと考えていました。前職で Kubernetes を利用していたこともあり、Cloud Run でインフラ面の運用負荷が劇的に下がることを実感しています。 Bill One プロダクトの要件を満たしている Google Cloud は優秀なサービスだと思います」と話します。


Bill Oneビジネスカード全体の作成に関しては、スポット参加を含めて延べ 30 名程度のエンジニアが参加。メインの開発は 2022 年 12 月から開始し、2023 年 6 月に本番リリースしています。上司氏は、「この規模のシステムを約 6 か月という短期間で構築できたのは、アーキテクチャ設計の段階から Google Cloud の担当チームの支援があり、サーバーレスのプロダクトを積極的に活用できたからだと思います。 Bill One には専任のインフラ担当者がいませんが、それが可能なのは Cloud Run の抽象化が優れているからだと考えています」と話します。
アプリケーション開発に関して、社内では Kotlin / JVM をよく利用しますが、決済に必要な性能要件を Cloud Run のコールド スタートを含めて満たすために、ペイメント サービスでは起動の早い Go 言語を利用するなど、Cloud Run を活用するためにいくつかの工夫をしています。
上司氏は、「Cloud Run で Identity and Access Management(IAM)による認証を有効化しつつ、外部サービスの Webhook から IAM を利用しないリクエストを受け付ける方法で苦労しました。この件に関しては、API Gateway を利用するなど 4 つの案があったのですが、最終的に自作のプロキシを Cloud Run で動かすことで問題を解決しました。この課題に対しては、Google Cloud の担当者の手厚いサポートによりアーキテクチャを決定できたので、本当に助かりましたし、非常に心強かったです」と話しています。
Google Cloud 最大の魅力は期待どおりの効果を発揮する Cloud Run と AlloyDB
Google Cloud のメリットを、上司氏は次のように話します。「最大の魅力は Cloud Run で、私が大好きなプロダクトです。先述のとおり、適度な抽象化で運用負荷が低く、非機能要件を満たせます。拡張性に関しても自動的にスケールしてくれるので、急な処理の増加にも安心して対応でき、運用負荷も大幅に軽減できるところが魅力です。 AlloyDB はこれまで利用していませんでしたが、決済サービスに必要な高い可用性と拡張性を実現できるプロダクトであることを評価して採用しました。実際、AlloyDB は可用性が高く、ダウンタイムを低減できています。特に高い要件が求められるペイメント サービスのみで AlloyDB を利用し、カードサービスでは Cloud SQL も活用しつつ、全体的なコストを低減しています。」
今後のビジネス面での取り組みについて上司氏は、「Bill Oneビジネスカードの強みは、Sansan が培ってきた技術により、正確なデータ化ができることです。もちろん、Bill One のサービスと一緒に提供できること自体も強みです。急成長する Bill One と組み合わせて提供することで、さらに利用者を拡大したいと考えています。Bill Oneビジネスカードのリリース後もさらなる機能強化を続けることで、より一層の月次決算の加速を目指します」と話します。
一方、システム面の強化ポイントについて上司氏は、「本番稼働後もシステムは問題なく安定稼働しており、アプリケーション開発にフォーカスできています。今後は利用者の満足度をより向上させるために機能をアップデートしていきます。インボイス制度に対応した証憑チェック機能も、2023 年 10 月からの制度開始前に実装しました。証憑が適格請求書の要件を満たすかどうかを自動でチェックすることで、経理の月次処理を加速できる機能です」と話しています。


Sansan株式会社
「出会いからイノベーションを生み出す」をミッションとして掲げ、働き方を変える DXサービスを展開。主なサービスとして、営業 DX サービス「Sansan」や名刺アプリ「Eight」、インボイス管理サービス「Bill One」、契約データベース「Contract One」を国内外で提供している。2023 年 6 月には、Bill One オプションサービスの Bill Oneビジネスカードをリリースし、フィンテック領域にも進出する。
インタビュイー
技術本部 Bill One Engineering Unit
個人情報保護士
上司 陽平 氏
その他の導入事例はこちらをご覧ください。