UPSIDERで2023年8月よりVPoEを務めている泉です。
先日、株式会社UPSIDERはシリーズDとして総額154億円の資金調達を実施いたしました。 調達した資金は、既存事業の拡大と新規事業の開発に投資いたします。
前回の投稿から少し時間が経ってしまっていますが、ちょうど良い節目なので、半期の振り返りと、今後の技術アジェンダについてお伝えしたいと思います。
上期のふりかえり
この半年を振り返ると、期初に予想外の大きなインシデントが発生しました。利用者の皆さまにはご心配とご迷惑をおかけしたことを深くお詫び申し上げます。
その後は、再発防止を最優先に、開発プロセスやチェック体制の強化に力を注いできました。 そうした困難な状況にありながらも、事象に真摯に向き合いつつ、「果敢にチャレンジしている姿勢を評価したい」といった温かいお言葉を一部の利用者さまからいただくなど、多くの方々に支えていただきました。そのおかげで、利用社数や決済額の成長も堅調に続いております。
月間決済数に関しては、2023年12月時点から202年9月時点で約1.4倍に増加しており、ピーク時には日次で約10万件の決済があります。利用企業数もありがたいことに右肩上がりで、それ故にシステム開発に関わる責任もこれまで以上に重くなってきました。
「安定したインフラで、すばやく動く」
十年くらい前ですが、Facebookが「MOVE FAST WITH STABLE INFRA」という技術戦略のスローガンを打ち出しました。
Facebookといえば「MOVE FAST AND BREAK THINGS(破壊してでも良いので素早く動くー著者訳)」のスローガンのほうが有名かと思うのですが、MVPのフェーズを経て社会インフラになって来た時期では、ほぼ真逆のことを言い始めたのです。
これは事業フェーズが変わる中での戦略変更としては、象徴的な出来事だと思っております。
UPSIDERはもともと「金融」という領域で出発したのもあり、その安定性・安全性には十分配慮してきておりますが、ここで再認識すべきは「我々はもうMVPではなく、社会インフラの一部である」という自覚であり、それに向けた適切な「技術投資」が今後必要になると思っております。
昨日、宮城が公開した「人に投資しよう。」のブログにもある通り、今回の資金調達では「AI技術で企業のお金の課題を解決するテクノロジー企業」としての評価をいただけたことは非常にありがたい一方、それを支える「安定したインフラ」という点も無視できない領域だと思っており、改めて、柔軟に動くための「安全・安定」的に使えるサービスにしていくためにコミットしたいと思います。 事業の規模感の変化とともに、システムも変化に対応できるように向き合わないといけない課題の質も変わってきた中、来期に進めるべき技術アジェンダをいくつかのイニシアチブをご紹介します。
モノリシックサービスの再設計
1つめの技術イニシアチブは、モノリシックサービスの解体です。
我々のシステムも5年近く稼働してきており、例外なく技術的負債が蓄積され始めています。特に、初期の設計では想定していなかったスケールや複雑な要件に直面することが多くなってきており開発生産性が課題になってきつつあります。
現在カード事業のサービスには「審査」「与信」「カード発行」「決済処理」「請求回収」といったコアな機能があります。 この内の「決済処理」に関しては、初期からの設計上、かなりモジュラーな形で実装されているのですが、それ以外の機能に関してはモノリシックなシステムで実装されておりました。今後要件がより複雑化したり、個社毎のこれまで機能を分離して開発ができるようにモジュール化する必要があります。
利用目的に応じて与信の組み方や、支払い方法が変則的になるなど、すでに様々なビジネスニーズがあるため、それぞれの機能群が独立的に進化できるようにしていくことで、敏速・安全にリリースできる環境を作っていく必要があります。
現在は、Reachitectureのチームを組成し、既存のオペレーション負荷や、事業上のインパクトで優先順位を考慮し、まずは請求回収のコンポーネントのシステム分離を行い、その上で独自のペースで進化できるようにモジュール化を行う予定です。
まずはもとのコードベースの複製をつくり、そのドメインに不要なエンドポイントやレポジトリを削った新しいコンポーネントを作成します。 この際、コードベースの負債は引き継がれてしまいますが、少なくとも新しい機能を作ろうとしたときに、既存のモノリスに足さなくて済み、新しい機能を下位のパスで切り出して別の技術スタックを利用することも可能です。
組織的にも2〜3人と少人数のチームが生まれ、コミュニケーションがしやすいようになり、かつリリースサイクルもプロジェクトがかなり小さい単位になったことで継続リリースに切り替えることができます。これにより、各機能が独立して進化でき、迅速かつ安全なリリースを実現することができます。
この手法は、すでに我々の「認証基盤」の分離でも実証されており、もともとモノリシックサービスに内包された認証の機能を、外部に分離し、2〜3名のチームを組成して技術負債の解消(リプレイス)や、二要素認証のバグの解消、SAML・SCIMのサポート等、他サービスへの影響を配慮をせずとも推進できました。
決済基盤のスケーラビリティ
私たちの決済基盤は、以前のブログでも紹介した通り、Spanner/Go/k8sを活用したアーキテクチャのおかげで、100倍、さらには1000倍のトラフィック増加にも対応してきました。
しかし、年末や年度末などの季節性により、決済数が急激に増加するタイミングが年に何回かあり、決済に遅延が生じるリスクが発生することもあります。
こうした課題に対処するために、私たちはさらなる最適化を進め、トラフィックが急増する見込みのある際には、水平スケーリングの上限を上げて負荷に応じてリソースを迅速に割り当て遅延を最小限に抑えたり、トランザクションのロックの単位を調整することでデータベースのボトルネックが発生しないように工夫しております。
これからも、私たちの決済基盤は、急激なトラフィックの増加に柔軟に対応できるよう、スケーラビリティの向上に取り組んでいきます。そして、利用者の皆さまに安心してサービスをご利用いただける環境を提供するために、技術投資とシステムの強化を継続していきます。
Internal Tooling開発
もう一つ、これまでになかった領域で今後強化していきたい技術投資の領域が「Internal Tooling」です。 どうしても社外向けの開発に目が行きがちですが、大規模な金融システムでは、内部オペレーションの盤石さが今後の事業成長の鍵を握ります。特に効率的でスケーラブルな内部ツールが、日々の業務の円滑化に直結し、全体の生産性を大幅に向上させる可能性があります。
例えば、カード事業では、新規利用者の審査やクレジットカードの与信を行うオペレーションチームが存在し、これらのチームが生産性高く、少数のメンバーでも数千社の企業をサポートできるよう、オペレーション面でもスケーラビリティを確保してきました。 これにより、少人数でも効率的に複雑な金融オペレーションを処理できるよう、内部ツールの強化が欠かせません。
これまで、この領域の開発は1〜2名という非常に少数のエンジニアで対応してきましたが、今後はさらに専任チームを編成し、ツールの開発と改善に注力していく予定です。 これにより、データの可視化、プロセスの自動化、エラー検出などを積極的に導入し、オペレーションチームがより迅速かつ正確に対応できる環境を構築し、事業全体の成長を支えていきます。
最後に
今回は、下期に向けたいくつかの技術イニシアチブについて共有しましたが、これ以外にもeKYC(本人確認)、不正利用対策、セキュリティ対策など、取り組むべき重要な技術領域が数多く存在します。私たちは引き続き、これらの課題に真摯に向き合い、金融システムの信頼性と利便性を向上させるべく、技術革新を推進していきます。
これらの取り組みを成功させるためには、技術面だけでなく組織としての強化も重要です。もし私たちのチャレンジやビジョンに共感いただける方がいらっしゃれば、ぜひ採用ページをご覧いただければ幸いです。新たな仲間と共に、より良い未来を築いていけることを楽しみにしています!
今後、それぞれの領域でのより詳細な開発内容についてもご紹介してまいりますので、楽しみにしていてください!今後も皆さまの期待に応えるべく、チーム一丸となってより良いサービスを提供し続けてまいります。
We are Hiring!
UPSIDERに興味を持ってくださった方のご応募を心よりお待ちしております!
複数ポジションがオープンしております。 迷われる方はぜひ、カジュアル面談でまずは相談しましょう!