イベント

SBペイメントサービス、ワイジェイFXの導入事例を紹介

OpenStack Days Tokyo 2019 / CloudNative Days Tokyo 2019レポート

 クラウド技術に関する年次カンファレンスイベント「OpenStack Days Tokyo 2019 / CloudNative Days Tokyo 2019」が、7月22日~23日に開催された。

 本稿では、導入事例に関する講演の模様をお届けする。

OpenStack Days Tokyo 2019 / CloudNative Days Tokyo 2019

アプリケーション内製化にふみきったSBペイメントサービスの事例

 最近しばしば言及されるデジタルトランスフォーメーション(DX)では、ITを管理部門ではなく事業部門で活用し、そのためにソフトウェアを内製化するということが言われる。

 2日目の基調講演では、SBペイメントサービス株式会社の鈴木順也氏が、「決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発」と題し、決済代行サービスの開発の内製化とそのためのプラットフォームについて語った。

 まず、2016年を振り返ると、サービス開発はすべて外注しており、コードを書くエンジニアは0人だったという。また、運用も手作業が多く、それゆえのミスも発生していた。そこで、運用作業を自動化するところから始めた。Spring BootやSeleniumを使って開発し、GitHub EnterpriseやSlask、Confluence、Jiraなどを導入した。また、鈴木氏のほかに3名のエンジニアが入社したという。

 2017年には、サービス監視の質を高めるために、監視ダッシボードを作製した。そのために、Elastic Stackと呼ばれる、Elasticsearch、Kibana、Logstashを導入した。

 また同年、開発プロジェクトの支援を開始した。アーキテクチャをSpringベースに一新し、Jenkinsなどを導入して、CIをきちんと回すようにした。この段階で、さらに1人が入社している。

SBペイメントサービス株式会社の鈴木順也氏
2016年、システム運用の効率化
2017年、サービス監視の質を高める
2017年、開発プロジェクトの支援を開始

 そして、2018年にいよいよ決済システムの内製化がスタートした。加盟店と決済機関をつなぐもので、導入実績約11万1742店舗(2019年5月実績)、取扱高2兆9453億円(2018年実績)という影響の大きいシステムだ。決済手段40種以上に対応し、外部に依存する要素も大きい。

 このシステムでは、スピード感、継続的な改善、監視が容易で障害に強いことが求められた。これを満たすために内製化が選択されているが、この段階でも1名のエンジニアが入社し、6名のチーム態勢となった。

 プラットフォームにはPaaSプラットフォームのPivotal Cloud Foundry(PCF)を採用した。「Kubernetesに興味はあるが、学習コストやメンテナンスコスト、構築期間などを考えると、すでに確立されたプラットフォームが欲しいと考えた」と鈴木氏は語る。また、決済サービスなのでパブリックPaaSは抵抗が大きく、プライベートPaaS以外にない状態だったという。

 6名のチームは、アプリケーション開発者4名と、プラットフォーム運用者2名に分かれた。PCFにより、この両者の責任分界点が明確になったという。

 アプリケーションはすべてPCF上で動くマイクロサービスとした。ここで、加盟店と決済機関はコントロール範囲外なので、Hystrix(Netflixが開発したOSS)というサーキットブレーカーを導入し、外部で障害が起きても伝搬させないようにしたという。

 CI/CDパイプラインにはConcourseを利用。さらに、Metrics(監視)にGrafana、Logging(ログ)にKibana、Tracing(トレーシング)にZipkinを利用している。さらに、決済数や取引高など、サービス目線の可視化もしていると鈴木氏は説明した。

開発対象のシステム
PaaSプラットフォームのPivotal Cloud Foundry(PCF)を採用
開発と運用の責任分界点が明確に
全体アーキテクチャ
サービス目線のモニタリングも

OpenStackにAnsibleで移行したワイジェイFXの事例

 2日目の基調講演では、ヤフーグループのワイジェイFXによる「金融領域におけるOpenStack導入事例の紹介」も語られた。

 最初に、ワイジェイFX株式会社の佐藤優典氏が事業内容と特徴を紹介した。同社では、FX取引の「外貨ex」を運営しており、トレーダーと銀行の間で外貨の交換をしている。

 システムとしては、要人の発言や国際的なニュースにより瞬間的に大きく変動するため、スループットやレイテンシの性能要件が重要だという。数字でいうと秒間5000トランザクション。これに22通過ペアと10以上の銀行を掛けると、理論的には秒間100万トランザクションにもなるという。

ワイジェイFX株式会社の佐藤優典氏(左)と齋藤光氏(右)
トランザクション量

 そのためのシステム基盤については、ワイジェイFX株式会社の齋藤光氏が解説した。システム規模は、口座数が35万以上、ノード数が500以上、システムが10以上。

 システム構成は大きく分けて、Customer System、Front System、Analyze Systemの3つからなる。このうち、Front systemとAnalyze SystemにOpenStackを導入した。

 それまで、この環境ワンセットで、本番環境や、複数の開発環境、ステージング環境と、環境数だけパブリッククラウドで運用していた。問題となっていたのは、増える一方のコスト面の問題と、アプリチームからインフラチームに依頼してデリバリするというデリバリ面の問題だった。「特殊な事情として、クラウドでも投資稟議(りんぎ)が必要だった(笑)」と齋藤氏。

 そこで、開発環境のプラットフォームにRed Hat OpenStack Platformを採用し、4月に移行完了した。移行でうまくいったポイントとしては、Ansibleの活用による自動化がある。もともとAnsibleを利用しており、移行でも活躍した。ただし、「サーバーをペットでなくても家畜のように扱う」とよく言われるように、クラウドの思想に合わせるのが重要だと感じたという。

 反対に苦労したのは、Ansibleを活用できていないレガシーシステムの移行だった。そのほか、トラブルが起きたときに、サポートの返事を待っていられないのでドキュメントを見たももの、記述がいまひとつおかしいため、結局ソースコードを読むことになったということも語られた。

 今後の課題としては、OpenStackの維持運用改善と、本番環境での適用検討が語られた。また、今後の展望として、単にクラウドを使っている状況からの脱却や、レガシーシステムのモダナイゼーション、そして組織文化の醸成が語られた。

システム規模
システム構成
課題
うまくいった点:Ansibleの活用
苦労した点:Ansibleを活用できていないレガシーシステムの移行