日本初の「デジタルバンク」として Google Cloud に勘定系を構築。Cloud Spanner で銀行基幹システムで求められる可用性を実現 ※転載記事
2021 年 5 月にサービス提供を開始した「みんなの銀行」は、デジタルネイティブ世代をターゲットとしたスマートフォン専業銀行。金融にまつわる煩わしさを排除し、ゼロベースでこれからの銀行に求められる機能を開発・提供していくと打ち出しています。そんな同行の大きな技術的トピックの 1 つが、勘定系システムにパブリッククラウドを採用したこと。これはもちろん国内初*の試みです。ここではサービス開始後の手応えをシステム構築をリードしてきた皆さんにお伺いしました。
利用している Google Cloud ソリューション:
Google Cloud Databases、Stream Analytics
利用している Google Cloud サービス:
Google Kubernetes Engine、Cloud Spanner、BigQuery、Apigee、Cloud SQL、Firestore、Dataflow、Vertex AI など
"東阪両現用" を実現するには Cloud Spanner しかなかった
宮本「おかげさまで開業直後からターゲットとしていたデジタル ネイティブ世代の皆さまを中心に全国幅広い層のお客さまに口座を作っていただきました。口座数はその後も順調に増え続けており、想定通りの推移をしております。また、お客さまからはサービス内容やアプリのデザイン、使い勝手に対してご好評をいただいており、給与口座にしたいというありがたいお言葉もいただいています。」
宮本「みんなの銀行では当初から BaaS(Banking as a Service)をやるという構想がありました。これは金融サービスを開放して API を通じて異業種とどんどん繫がっていこうということなのですが、それをやるには、システムを小さく作り、スピーディにスケールアウトしていく必要があります。そう考えると既存の銀行のようにオンプレミスではなく、パブリック クラウドで作っていった方が良いだろうと。もちろん、Google Cloud 以外にもさまざまな選択肢を検討しましたが、決め手となったのは安定性と Cloud Spanner、BigQuery といった他にないサービスの存在ですね。」
家壽田「特に Cloud Spanner の存在が大きかったと思います。検討時点ではまだ大きな実績のないプロダクトではあったのですが、東京と大阪で同じシステムを同時に動かす "東阪両現用(とうはんりょうげんよう)" は、例えばどちらかで大規模災害が発生した際などでも銀行サービスを停止させないために絶対必要な仕組み。これをパフォーマンスを損なうことなく実現するには Cloud Spanner がどうしても必要だったのです。なお、この際、データベースを国外に出したくないという我々の事情を汲んでいただき、東京・大阪のマルチ リージョンで Cloud Spanner を動かせるようにしていただいたなど、Google Cloud が積極的に協力してくださったことには感謝しています。」
家壽田「たとえ Cloud Spanner が東京・大阪で冗長構成になっていても、Cloud Spanner に対して東京リージョンからだけ書き込むような構成にすると、何らかの理由で東京側が停止してしまった時、大阪側から書き込めるようになるまでわずかな空白が生まれてしまいます。これは銀行の業務では許されないこと。そこでこのシステムでは東阪両方にイベントを投げて、それをトリガーにデータベースに書き込みを行う仕組みを取り入れることで、処理中に東京のリージョンが落ちても大阪のリージョンで動き続けるという構成を実現しました。」
宮本「銀行の勘定系システムには、国内他行との連携に必要な『全国銀行データ通信システム』に接続するため、全国銀行協会から提供される中継機器を組み込まねばなりません。しかし、これがクラウドに対応していないため、どうしてもオンプレミス環境を用意する必要があったのです。もちろん、これについても大規模災害に備え、一定距離離れた 2 拠点に用意しなければなりません。」
家壽田「そしてこれを東西リージョンに接続するために Google の閉域網サービスである Partner Interconnect を利用しており、当初の設計ではこれが 1 つの VPC に繫がるかたちとなっていました。ところが開発を進めていくうちに、この構成では超・可用性の要件を満たせないとの結論に至り、開発の最中でこれを 2 VPC 構成に変更するという荒療治を行っています。個人的には今回の取り組みで最もシビれたのはここでしたね。なお、実際のシステムは Google Kubernetes Engine(GKE)上で動かしており、そのスケーラビリティの高さには助けられました。今後はより DevOps 的な取り組みがやりやすくなっていくことに期待しています。」
今後は Apigee X による BaaS 展開強化や AI 活用などを予定
家壽田「今回の取り組みでは、設計後の第三者評価や外部サービスを利用したモニタリングなどで細かく修正していったほか、実際にアプリケーションを動かす GKE にも監視のためのソリューションを導入し、ポッドが怪しい通信を行ったらすぐにアラートが上がる仕組みを作りあげています。」
宮本「なお、セキュリティ周りのポリシーについては親会社であるふくおかフィナンシャルグループのものをベースに適用しているのですが、当然ですがこれらはオンプレミス環境を前提に作られているため、クラウドベースのシステムには適用できないところが多々あります。こうしたところはとにかく細かく説明していくことで乗り越えていきました。なお、こうした説明や交渉は金融庁に対しても行っているのですが、昨今、金融庁もクラウド活用に対して理解を示してくださるようになっており、銀行側がしっかりとしたリスク評価と対策を施していることを説明できれば、パブリック クラウドの利用は問題ないと言っていただけています。」
宮本「今回のシステム開発は、みんなの銀行と、その立ち上げを担ったゼロバンク・デザインファクトリー、そしてアクセンチュアの 3 社で取り組んだのですが、みんなの銀行が仕様を決めて、ゼロバンク・デザインファクトリーとアクセンチュアが作るというような下請け発注型ではなく、3 社のメンバーが 1 つの大きなチームとしてアジャイルに開発していくかたちにこだわりました。さらに今後は、会社の枠だけでなく、業務やエンジニア、デザイナーといった職種の枠も取り払って 1 つの "ユニット" の中で開発していくことでコミュニケーションのハレーションをなくしていこう、と。」
長「私は前職はまさにそうした下請的な仕事をしていたのですが、みんなの銀行は本当にこのあたりがフラットで、壁がないなと感じます。オンプレの世界から、フルクラウド、マイクロサービス構成の世界に飛び込んでいるので、いろいろ想定外ということも多い中、クラウドの面白さ、可能性も実感しているところです。これまでのやり方では直接やり取りすることがなかった人とも気軽にやり取りできるようになり、本当に仕事のやりやすい組織になっていることを感じますね。」
宮本「2021 年 5 月のサービス開始以来、多くの方にご利用いただいているので、そうした声を BigQuery や Vertex AI(旧・AI Platform)で分析していき、既存のアプリをさらに使いやすく、新規サービスを充実させていきたいですね。また、BaaS としての展開をさらに活性化させていく予定です。これについては現在、Apigee X の活用を検討中。よりセキュアな接続が求められる BtoBtoX 向けのサービスを充実させていきたいですね。新しい技術を活かした新しいサービスの開発はみんなの銀行の使命の 1 つ。そのためにも、Google Cloud にはこれまで以上に魅力的な技術を提供してくれることを期待しています。」
* みんなの銀行 2021 年 1 月 4 日付 ニュースリリース「国内初のデジタルバンク「みんなの銀行」 銀行システムの稼働開始」より
👇みんなの銀行「エンジニア募集要項」
https://corporate.minna-no-ginko.com/careers/job-descriptions/engineer/
🔰[エンジニア未経験者対象]ふくおかフィナンシャルグループがエンジニアの卵を募集する「エンジニア育成プログラム」開始
https://www.fukuoka-fg.com/recruit_career/