「決済から、きのうの不可能を可能にする。」をミッションに、金融・決済領域を中心としたプラットフォームを提供する株式会社インフキュリオン。同社は、企業が請求書のカード決済を自社サービスに組み込める請求書支払いプラットフォーム「Winvoice(ウィンボイス)」を新規で開発するにあたり、サーバーレスアーキテクチャやマルチテナントSaaSに関する技術支援をクラスメソッドに要請しました。短期間でWinvoiceのサービス開発を実現したプロジェクトについて、執行役員 VPoE プロダクトマネジメント部 部長の角藤靖之さんにお話をうかがいました。
BtoBキャッシュレス決済サービスをサーバーレスアーキテクチャで開発
QRコード、電子マネーなど個人向けサービス(BtoC)で広がったキャッシュレス決済。近年は企業間のキャッシュレス決済(BtoB)に注目が集まり、大きなトレンドになっています。インフキュリオンにおいてもいちはやくBtoBキャッシュレス決済に着目し、新たなサービスとして2023年10月より「Winvoice」の提供を開始しました。WinvoiceはSaaS事業者やWebサービス事業者、金融機関などの企業が、自社サービスに請求書のカード決済を低コスト&スピーディに構築できる請求書支払いプラットフォームです。
「Winvoiceは、当社の決済とテクノロジーに精通したプロフェッショナルがコンサルティングで培ったノウハウを活かして開発したサービスです。利用企業は、カード決済のプロセスに必要なライセンス、業務、システムをワンストップで導入でき、既存のサービスにカード決済機能をスムーズに組み込んで、ユーザーに付加価値の高いサービスを提供できます」(角藤さん)
新規プロダクトとして、角藤さんのチームがWinvoiceの開発に着手したのは2022年後半のことでした。ビジネスサイドのサービス設計や業務要件への落とし込みなどを経て、2023年初め頃からシステム設計やアーキテクチャの検討を開始しました。プラットフォームについてはすでに同社の決済サービスで利用実績があり、エンジニアが確保しやすいアマゾン ウェブ サービス(AWS)を採用し、サーバーレスアーキテクチャでの構築を決断しました。同社においてサーバーレスアーキテクチャは、すでに他の決済サービスでコンテナなどの利用はあったものの、本格的な採用はWinvoiceプロジェクトが初めてでした。
「新規サービスを適正価格で提供するためには極力コストを抑える必要があり、最初からサーバーを抱えるのはリスクがあります。そこで、スモールスタートで始めるためにサーバーレスアーキテクチャを全面的に採用することにしました。エンジニアリング部門としても、新規プロダクトに本格的なサーバーレスアーキテクチャで挑戦してみたいという思いもありました」(角藤さん)
AWSのベストプラクティスを熟知したクラスメソッドに技術支援を要請
同社では、はじめて本格的なサーバーレスアーキテクチャを導入するにあたって技術支援を必要としていました。さらに新規のサービス開発に対して、社内で知見のあるメンバーを常時アサインするのも限界があります。そこで、以前からクラスメソッドメンバーズを利用し、他の案件でも取引があったクラスメソッドに支援を要請しました。クラスメソッドへの相談から提案、受注、キックオフに至るまでの期間はわずか1週間というスピード感です。
「新規事業としてスピーディにプロダクトをローンチさせなければならない中で、サーバーレスアーキテクチャを全面採用し、今後のビジネスの拡大に耐えるプラットフォームを作ろうと思っていました。そんな時、クラスメソッドのホームページでサーバーレスアーキテクチャの開発支援に関する記事などを見て感銘を受け、AWSのベストプラクティスを熟知したクラスメソッドの支援を受けながら進めることで、より良いプロダクトの開発が可能になると考えました」(角藤さん)
2023年3月にクラスメソッドと契約を締結後、約3ヶ月間をかけてアーキテクチャの検討や設計を重ねました。その後、開発とテストに着手し10月よりWinvoiceの提供を開始しました。クラスメソッドはアーキテクチャ検討時のレビュー、および開発時のQ&A対応などで支援を担当しています。
約半年にわたるプロジェクトの中で、ポイントになったのはアーキテクチャ設計でした。
「最初はサーバーレスと決め付けず、ラフなアーキテクチャを設計したところからクラスメソッドに入ってもらいました。その中でAWSのベストプラクティスに沿うならA案、システムの要件に合うのはB案、将来の要件に沿うならC案などと、複数案を提案してもらいながら時間をかけて検討しました。また、マルチテナントSaaSを実現するためのテナント分離に関するアドバイスももらいました。マイクロサービス化については、サービスの境界を見極めるのが難しく、クラスメソッドにアドバイスをもらいながら何度も試行錯誤を重ねました」(角藤さん)
マルチテナントSaaSに関するプロダクト開発のノウハウを獲得
Winvoiceの開発に際して、クラスメソッドのアドバイスを受けて採用したのがプロセスを自動化し、マイクロサービスのオーケストレーションを実行するAWS Step Functionsです。
「はじめて使う技術だったので、キャッチアップコストに不安がありました。しかし、実際に使ってみるとゼロからプログラムを書く必要がなく、非常に使い勝手のいいサービスなのがわかりました。Winvoiceは外部の法人確認システムや銀行システムなどとの連携が発生するため、処理手続きが複雑になります。AWS Step Functionsを使うことで、シンプルにロジックが組めるところは非常に有益でした」(角藤さん)
その他、Amazon API GatewayとAWS LambdaによるAPI、Amazon Cognitoによる認証システムなど、AWSのサービスを活用しながら開発を進めていきました。また、AWS上でサーバーレスアプリケーションを構築するためのIaC(Infrastructure as Code)ツールとしてAWS Serverless Application Model(AWS SAM)を利用しました。クラスメソッドからは、サーバレス・マイクロサービスにおけるコード管理について運用面を考慮したアドバイスと支援を受けることで、より効率的かつ効果的にAWS SAMを活用できました。
Winvoiceのリリースまで約6カ月にわたるクラスメソッドの支援に対して、マルチテナントSaaS全体に関する技術提供のカバー範囲の広さと、的確なQ&A対応を評価しています。
「AWSに関するアドバイスだけでなく、マルチテナントSaaSに関するプロダクト開発の勘どころなどを紹介してもらえたのは予想外で、期待以上の支援を受けられました。Q&A対応についても単純な一問一答形式でなく、当社のプロダクトやプロジェクトの内容を理解したうえで、要件にマッチした連続性のある回答を提示してくれて、有益な議論ができました。技術情報についても、AWSのベストプラクティスを踏まえた整理された情報が提供され、スムーズな課題解決ができました」(角藤さん)
約2週間のSaaSオンボーディングを実現
Winvoiceのサービス提供開始後、2024年2月には請求書カード払いによる事業者の資金繰り改善と業務効率化を実現するB2B決済サービスとして「NoBill Powered by Winvoice」をリリースしました。4月以降もWinvoiceを基盤とした新たなB2B決済サービスが登場する予定で、マルチテナントSaaSとしてテナントの拡大は続いていきます。
サーバーレスアーキテクチャの採用により、SaaS環境に新しいテナントを迎え入れるオンボーディングについては、約2週間程度で対応が可能となっており、短期間でのサービス提供が実現しています。コストについてもスモールスタートでのサービス稼働が実現できています。
「Winvoiceは当社が提供する金融・決済向けのサービスの中でもミニマムなコストで提供することができ、エンジニアリング部門としても満足しています。金融サービスに求められるセキュリティについても、AWS Security Hubによる機械的なチェックによりリスクを洗い出し、セキュアな環境を構築できています。本プロジェクトの経験は、マルチテナントSaaSとして新たなプロダクトを開発するうえでも貴重なノウハウを獲得する機会となりました」(角藤さん)
機能改善・機能追加に向けて約1カ月のサイクルでサービスをリリース
今後はビジネスサイドから寄せられる機能改善や新規機能のローンチに関する要望に応えるべく、サービスを分割しながら1カ月程度の短いリリースサイクルでWinvoiceのバージョンアップを実施していく予定です。また、テナントの増加にあわせて個別のニーズに応えながらも、サービス標準機能のバージョンアップができるよう、アーキテクチャの見直しや改善を続けていく構想を明らかにしています。クラスメソッドに対しても新たな技術の取り込みに関して、さらなるアドバイスに期待を寄せています。
「新技術をサービスに取り込む過程で、クラスメソッドの技術支援を活用させていただきました。今後もよりよいサービスの提供を目指していますので、クラスメソッドとの連携を深めていくことを期待しています。」(角藤さん)
日本のキャッシュレス・DXをリードするインフキュリオン。生活のあらゆるシーンで金融機能を組み込み、シームレスなユーザー体験が提供できるよう、クラスメソッドはサーバーレスアーキテクチャの取り組みを支援してまいります。