後払い決済サービス「atone」の決済基盤アーキテクチャ

ネットプロテクションズでは、モジュラモノリスを基本としたアーキテクチャを採用しています。システム全体の構造を統一感のあるものにしつつ、機能ごとに独立したモジュールを実装することにより、コードの重複を避け、再利用可能な共通ロジック層(例:モデル)を共通モジュールにまとめています。これにより、各モジュールが異なる処理を担当しながらも、同じロジックを繰り返し書くことを防ぎ、開発効率が向上しています。
さらに、月末締めや翌月発行のフローに合わせたバッチ処理をスケジュールし、負荷の高い処理を分散しています。このバッチ処理のために、システム全体の負荷を適切にコントロールし、効率的な運用を実現しています。
また、アクセスが集中する時期において、サービスのスケーラビリティを確保するために、コンテナ型のスケーリングが可能なECS on Fargateを採用しています。これにより、ピーク時に合わせた柔軟なスケールアウトが可能となり、高い可用性を維持しています。さらに、よく参照される会員システムについてはマイクロサービスとして分割し、疎結合な形で接続できるようにすることで、スケーラビリティをさらに高めています。
現在のアーキテクチャの課題と今後の展望
度重なる機能追加によりドメインが複雑化し、開発や運用の難易度が増していることが課題です。課題解消に向けて、まずはドメインの再設計を行い、システムの可視性や保守性を向上させる方針です。
また、組織構成はドメイン単位で行われていますが、アーキテクチャ自体はその分割が反映されていません。このため、チーム間のコミュニケーションコストや、新規メンバーのオンボーディングコストが高くなっています。この問題を解決するためには、マイクロサービスのアーキテクチャに切り替え、ドメインごとに分割されたサービスを構築し、チームごとの担当範囲を明確にすることで、各チームの自立性と効率性を高めることを目指します。
さらに、現在のシステムではバッチシステムの採用により、月末や月初のトランザクションの負荷が高まる傾向があります。ピーク時に合わせたインフラスペックにするためコストの問題があります。バッチ処理から脱却し、ストリーミングアーキテクチャを採用することで、リアルタイムで処理を行い、ピーク時の負荷を分散させ、システム全体の安定性とパフォーマンスを向上させる方針です。
後払い決済サービス「atone」について
ネットプロテクションズが開発・提供する「atone」は、通販・実店舗ともに使える後払い決済サービスです。購入者はお買い物をした後で代金を支払うことができ、銀行口座やクレジットカード情報の登録やチャージも不要で、すぐに利用可能となります。一方、atoneを導入した通販事業者は、取引成立直前に購入者が離脱してしまう「カゴ落ち」を防止でき、売り上げロスの減少につながります。

予備知識
ネットプロテクションズが開発・提供する「atone」は、通販・実店舗ともに使える後払い決済サービスです。購入者はお買い物をした後で代金を支払うことができ、銀行口座やクレジットカード情報の登録やチャージも不要で、すぐに利用可能となります。一方、atoneを導入した通販事業者は、取引成立直前に購入者が離脱してしまう「カゴ落ち」を防止でき、売り上げロスの減少につながります。
どゆこと?
うーん、これはクレカが形を変えただけではないのか・・・?よくわかってない。
カードを利用しない/できないユーザーのニーズに対応できる。
ということらしい。
気になったこと
1. とにかくいろんなものがある
Java / Rails / Go / Express ...
組織がめっちゃ大きい??
→412名(非エンジニア含む)
2. バーチャルカードが別システムになってる

テックブログはあるができて時間が経っていないのか情報が全然なかった
こっちか
こっちも情報あんまりない

結構前からある会社だし、新卒採用もやってた

すごい