機会
このフィンテック企業は電子決済プロセッサーと提携しており、その使命は、代金回収を必要とするすべての人にとって買掛金(AP)プロセスを簡素化することです。
クライアントのアプリケーションはマイクロサービスの集合体で、ユーザー認可、Payments API、独立した Customer API など、システムの異なる部分を実装していました。
これらのサービスが分散している性質上、各メンバーがコード変更を実行・テストできるオンデマンドの隔離された開発環境へアクセスすることが困難になっていました。そこで組織は、ワンクリックで開発環境全体のレプリカをデプロイし、開発およびQAのボトルネックを解消する方法を模索していました。
主な課題
クライアントの従来の分散した非柔軟な環境はセットアップに多大な労力を要し、テスト、検証、デプロイを著しく遅延させていました。
さらに、クライアントには新しいコードを自動でビルドしマージする継続的インテグレーション(CI/CD の一部)パイプラインがありませんでした。CI パイプラインがないため、チームが自分たちのコード変更を他の開発者のコードベースにマージする前に、自動テストや検査ルーチンを実行する仕組みがありませんでした。
開発ライフサイクルにおける自動コード検査とテストの欠如により、壊れたビルドがしばしばQAに渡され、手戻りが発生して貴重な時間を消費し、リソースの無駄につながっていました。
解決策
パートナーとして SourceFuse を選定いただいた後、当社はクライアントの現行プロセス、アプリケーション、インフラストラクチャの包括的なアセスメント/ディスカバリーを実施しました。Terraform を用いて Infrastructure as Code(IaC)のコンセプトを導入し、手動でデプロイされた単一インスタンスの AWS インフラから、開発者のペースに合わせて容易にデプロイできるマルチインスタンス環境へ移行しました。
ソリューションの主な機能
SourceFuse は Serverless Application Framework と Terraform を統合し、共有リソースをアグノスティックにして、異なるテクノロジープラットフォーム向けにプロビジョニングできるようにしました。さらに、高可用でイミュータブルなJenkinsサーバーを AWS 上に実装し、以下を活用して動的スレーブ方式による自動スケーラビリティを追加しました:
- Docker イメージ
- カスタム Groovy スクリプト
- AWS Parameter Store
- AWS CloudWatch
これにより、クライアントは手作業を一切介さずにコードのみから Jenkins サーバーをロールアウトでき、開発プロセスの一部としてビルド・テスト・デプロイの一連のツール群を堅牢に統合できるようになりました。
最後に、SonarQubeを CI パイプラインに統合し、さまざまな自動コード解析をプロセスに取り入れて、開発チームが通常必要としていた手作業を排除しました。こうした自動化により、金融アプリケーションのセキュリティを確保し、脆弱性を最小化できました。
結果
IaC モデルを実装することで、開発チームは任意のタイミングでアプリケーションと環境の新しいインスタンスをデプロイできるようになりました。本ソリューションにより、エラーを招きやすい人的介入を必要とせず、ボタン一つでインフラ全体の完全なレプリカをロールアウトできるようになりました。
本ソリューションにより、開発者は中央集約され安定した QA 環境内の隔離された環境にアクセスでき、アプリケーションのコードベースに影響を与えることなく自由に変更を行えるようになりました。
- 迅速なデプロイ: 自動化により、従来の手作業プロセスでは数時間かかっていた開発環境のロールアウトを15分で迅速に実現。開発・テスト・レビュー・マージ・デプロイに要する時間を短縮することで、タイムトゥマーケットが加速しました。
- 実行可能なアラート: プルリクエスト/マージのワークフローに QA 自動化を統合したことで、既存機能を破壊する変更がある場合、開発者に通知されるようになりました。これにより、変更をメインのコードブランチにマージする前に修正できます。
- 可視性の向上:SonarQubeをCIパイプラインに統合した結果、コード品質のリアルタイムな可視化が可能になりました。
- 生産性の向上:開発チームの製品および成果物の品質が向上し、本番環境での問題が減り、手戻り作業が削減されました。
顧客について
大手金融企業であるこの顧客は、買掛金(AP)部門を現代に導く、合理化された請求書および支払い自動化プラットフォームを提供しています。このプラットフォームは、AP部門の年間数百時間の作業時間を削減し、可視性を高め、精度を向上させ、効率性を改善し、リベートを獲得するとともに、紙の使用量、詐欺のリスク、および運用コストを削減します。