pringは銀行と連携し、アプリ内でお金を送信するサービスです。pringアプリの機能拡張の他、様々な店舗(デバイス)でのAPI対応から保守運用までをサポートしています。企業様にはマイクロサービス化していくという思惑もあり、新機能を追加するにあたっては、モダンかつスケーラブルで可用性の高い仕組みとシステム全体の変革が求められました。公開APIではインタフェース設計〜開発・運用までを承っています。
課題とご要望
新機能を追加するにあたって、既存のPHPで作られた仕組みが肥大化していること、メンテナンス性に欠ける点が問題視されていました。これに加えて企業様側にはマイクロサービス化していくという思惑もあり、新機能は新しいサービスとしてRailsとNode.jsでそれぞれ開発することとなりました。
その際、モダンかつスケーラブルで可用性の高い仕組みにするため、新機能をただ追加するだけではなく、システム全体の変革が求められました。具体的にはDynamoDBとRedisの導入、RDB内データ構造の変更等、リスクがありつつも今後のために必要な施策を行う必要がありました。
そのほか新機能だけではなく、他社のサービスとの連携を可能にする公開APIが必要となり、認証周りも含めたインタフェース設計〜開発・運用まで要望として承りました。
スコープ
- 基本設計
- 機能設計
- システム開発
- 保守・運用
技術・言語
Ruby3.2、AWS ECS、MySQL、Redis、DynamoDB、S3