ソフトバンクグループの決済業務を担うSBペイメントサービスは、2018年から「VMware Tanzu Platform」を活用して、プラットフォームの高度化に取り組んできた。8月下旬に米国ラスベガスで開催されたVMware by Broadcomの年次イベント「VMware Explore 2024」では、同社 システム本部 システム運用統制部 プロジェクト推進課長の木村大地氏が「SB Payment Service's fifth year with Tanzu Platform(SBペイメントサービスのTanzu Platform導入からの5年)」と題して講演し、その経緯を紹介した。
米国で講演したSBペイメントサービス システム運用統制部 プロジェクト推進課長の木村大地氏
SBペイメントサービスは、クレジットカード決済やオンライン決済、キャリア決済など40ブランド以上の決済を取り扱う。年間の決済取引は、2019年の約3兆5000億円から2023年は約8兆円にまで拡大しており、同年におけるトランザクションは約230億件に上るという。
この決済取引の成長を支えるサービスのプラットフォームとして同社は、2018年にPaaSのVMware Tanzu Platformを導入した。同社は「Spring Boot」を採用したアプリケーション開発をしており、Tanzu Platformはそれとの親和性が高く、拡大する決済サービスへの迅速な対応や、トランザクションの増大に耐える信頼性を実現できることから導入したという。
木村氏によれば、この間には100回以上のリリースと6度のアップグレードを実施。また、2021年からトランザクションの増大に対応する拡張性の確保、アプリケーションやサービスの展開の迅速化、開発や運用の効率化のために、プラットフォームのさらなる刷新を進めている。
講演の中で挙げたユニークな点の1つが、責任分界モデルの体制になる。ここではアプリ開発側と木村氏が所属するプラットフォーム側に分かれ、アプリ開発側は基幹の決済業務のチーム、会員向けサービス業務のチーム、バックオフィス業務のチームなどに分かれていた。担当領域をアプリケーションとプラットフォームに分けることで、それぞれが担当領域の業務に集中できるようになった。
アプリケーション開発チームとプラットフォームチームおよび両者を仲介・支援するイネーブリングチームによる体制
しかし、開発側のチームごとに設計~テストの進展が異なるなどの状況が生じ、プラットフォーム側では各チームと個別に連携することでのコミュニケーションコストが増大してしまったという。そこで両者を仲介しアプリ開発側を支援する機能として「イネイブリングチーム」を設置した。イネイブリングチームが標準手法のガイドといった技術支援やフィードバックを提供することで、アプリ開発側の自律性を高めつつ、プラットフォーム側もトランザクションの増大に対応して環境整備に注力できる体制を整えたという。
同社の環境のアーキテクチャーは、開発領域ではソースコードリポジトリーで「Gitea」、継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインに「Concourse CI」、パッケージ管理にSonatypeの「Nexus」を採用する。アプリケーションの稼働基盤ではTanzu Platform、データベースは「Oracle Database」、メッセージングのミドルウェアに「RabbitMQ」を採用している。
また運用監視では、オブザーバビリティ(可観測性)で「Grafana」、メトリクス監視で「Prometheus」、ログ分析でElasticsearchの「Logstash」「Elasticsearch」「Kibana」を用いている。
アーキテクチャーの全体像
これらを活用して、例えば、アプリケーションのビルドではGiteaのプッシュからConcourse CIを通じたパイプラインで単体テストや性能テスト、結合テストを効率的に実施して開発生産性を確保しており、「Java 17」から「Java 21」、Spring Boot 2から同3への対応なども図っている。
オブザーバビリティでは、ステータスコードによるアクセス数や応答時間、Java仮想マシン(JVM)のスレッド、ヒープ使用率、ガーベジコレクターの間隔、JDBC接続数などをメトリクスとしてトランザクションやアプリケーション性能の状態を監視している。これにより例えば、特定のシステムで発生した障害の検知から原因究明、改善施策の検討、適用までを迅速に行えるなど、プラットフォームチーム側がプラットフォームの運用管理に注力できる状況となっている。
拡張性の観点でも、性能低下などの状況に対して、短時間でスケールアップ/スケールアウト、設定の変更や更新を実施したり、テストからデプロイにおいてテスト時に問題が起きてもConcourse CIやTanzu Platformを活用して修復をすぐに実施したりできるなど、短い期間に数多くの小規模な修復や改善をリリースできる体制を確立しているという。
木村氏は、こうした5年間の取り組みを通じてモダンな開発と運用を実践できるマインドセットが醸成されたと述べる。現在では、例えば、リリースを手作業からワンクリック操作で実施したり、人的ミスによるエラーの発生が解消されたり、リリースの所要時間が45分から5分に短縮されたりするなど、大きな成果を達成したと述べた。
5年間の取り組みおける主な成果
現在の同社は、木村氏ら少数精鋭のチームで年間約8兆円ものトランザクションをダウンタイムゼロで処理するシステムを実現しており、レガシーなアプリケーションのモダナイズ(近代化)といった高信頼の最新環境への進化を続けている。
(取材協力:VMware by Broadcom)