PayPay 社、CircleCI のスケーラビリティと安定性を活かして高品質なプロダクトを継続リリース
PayPay 社は東京に本社を置くスマートフォン決済サービス プロバイダーであり、ユーザー数は 2021 年前期時点で 3900 万人に上っています。これだけのユーザーを抱えているため、同社開発チームでは、継続的インテグレーション & 継続的デリバリー (CI/CD) パイプラインの問題への対応ではなく、サービスの機能追加やアップデートに注力する必要がありました。加えて、同社アプリはユーザー個人の金融データを取り扱うため、セキュリティに欠陥がないか絶えず注意していました。
「当社は金融関連の法規制に従わなければなりません。そのため、継続的なテストを通じてアプリが適切に動作する状態を保つことが必須です」と、PayPay 社テクニカル リードの Shreyansh Pandey 氏は語っています。
規模拡大に伴い、手間のかからない CI/CD ツールが必要に
当初、PayPay 社開発チームでは、Web とデスクトップの CI/CD には Jenkins、同社アプリの Android 版と iOS 版には Bitrise と使い分けをしていました。しかし、規模の拡大を受け、Jenkins も Bitrise も、開発チームが抱えるスケーリングのニーズには応えきれなくなりました。「当時のツールのままでは、いずれスケーリングができなくなり、当社の成長が止まってしまうとわかっていました」(Pandey 氏)
同氏はさらに、この問題の影響として、CI/CD ソリューションを管理するためだけに開発メンバーを増やす必要に迫られていたとしています。「当社がエネルギーを注ぎたいのは、そこではありません。そのため、管理しなくても自動でスケーリングしてくれる CI/CD ツールが必要でした」(同氏)
信頼性とスケーラビリティを重視し、CircleCI の導入を決定
PayPay 社開発チームは、いくつかのソリューションでの概念実証テストを経て、Jenkins と Bitrise を CircleCI に置き換えることを決断しました。「ソリューションごとにテストを行い、それぞれの所要時間を把握しました」と、Pandey 氏。
CircleCI の信頼性も、導入の決め手でした。「CircleCI への移行前は、毎週のようになんらかの障害が発生していました。CircleCI を導入してからは、問題となるようなダウンタイムは発生していません。それに、CI の管理に余分なリソースを割く必要もなくなりました」(同氏)
開発チームは、CI/CD のダウンタイムやメンテナンスへの対応から解放され、PayPay の新機能の開発により多くの時間をかけられるようになりました。同社ではユーザーのニーズに応え、競合ひしめくフィンテック市場で変化に遅れないようにするため、アプリのアップデートをほぼ毎週リリースしています。そうした状況において、この “解放” が重要であると、Pandey 氏は述べています。
「CircleCI の導入前は、プル リクエストを 1 日に 5 ~ 6 回しか行えませんでした。それが今では、1 日に 25 回も行えています。おかげで、当社の規模がどれほど大きくなろうと、望む回数だけテストを実施できます。CircleCI のスケーラビリティと安定性を活かし、週 1 回というリリースのペースを崩すことなく、品質の高い製品をお客様に届けられているのです」(同氏)
CircleCI の導入で得られたメリット
- 1 週間に実行可能なプル リクエストが 5 回から 25 回に増加
- 大きなダウンタイムがなくなり、開発チームが機能開発に専念できるようになった
PayPay 社について
PayPay 社は東京に本社を置くフィンテック企業であり、35 を超える国々に従業員を擁しています。2018 年にサービスをローンチしてから 2 年で 3500 万人以上のユーザーを獲得しています。