Image background
Unak footer image background

Payment Gateway MicroservicesAcquiring bank

Overview

The project presented an opportunity for Qaiware to transform a robust yet hard-to-maintain monolithic system into a modern microservice-oriented Payment Gateway using the latest technologies and frameworks, alongside a state-of-the-art cloud infrastructure setup. The client entrusted Qaiware with planning, leading, and executing all stages through open cooperation and governance. The Qaiware team's domain knowledge and extensive experience with similar projects were essential for its success.

Task

We needed to rewrite a Payment Gateway monolithic application using microservices architecture, overhaul the entire technical framework, address previously accumulated technical debt, migrate this new state- of-the-art application to the cloud, and ensure seamless functionality throughout the transition.

Challenges

> Establishing a plan that maintains the same API and flows while incorporating modern technologies.
> Targeting the cloud infrastructure that best aligns with project requirements.
> Enhancing the automation test suite to ensure comprehensive testing and prevent issues during development.
> Planning milestones for each phase of the rewriting process, including specific deliverables and timeline.
> Managing a substantial codebase accumulated over a considerable period.

Solution

  • Solution design
    • Analyze current state
    • Analyze final solution state
    • Devise a plan for achieving our goal while prioritizing speed and efficiency, ensuring that the solution we choose for deployment on the cloud is a proven monolithic solution
    • Divide the solution into 4 stages, estimating each phase with the team and taking risks into account
    • Estimate DevOps timeline with internal Qaiware specialists
    • Plan how to resolve potential blockers
    • Synchronize priorities and progress with stakeholders and set up governance - review and steering meetings
    • Finish on time
  • Analyze the situation
    • What we did > Conducted full reviews of the project codebase that needs to be transformed and the current automation test suite coverage.
    • The value > This helps the team estimate forthcoming development with more certainty.
  • Clear idea of the final outcome
    • What we did > Having the end goal in mind, we prepared the needed architecture according to Qaiware′s established blueprints, synced it with the architect from the client side, and made everyone from the team aware of what the final product should look like.
    • The value > The team has the big picture in their minds and can help with ideas on a lower codebase level.
  • Plan the project
    • What we did > Mark down the minimum number of changes needed to get the initial code to production cloud infrastructure. Estimate these changes, find the missing automation tests needed to prove the project is working, and design a smooth transition to the final solution.
    • The value > Fast, proven solution working on the cloud.
  • The 4 Milestones
    • What we did > Considerate planning of the project into 4 stages:
      • M1 > Replace services that will be used from the cloud infrastructure, update automation suite
        • Estimate: > 2 weeks
        • Result: > Code is ready to be deployed on Cloud.
      • M2 > Remove all unnecessary and deprecated code, update automation suite
        • Estimate: > 2 months
        • Result: > The application is production-ready and can be easily demonstrated to be functional.
      • M3 > Refactor the code using the latest framework on the market instead of the old and difficult to maintain one
        • Estimate: > 4 months
        • Result: > Application can be fast, easily enhanced with new features, and is ready for Microservice migration.
      • M4 > Rewrite the code into new Microservice Architecture
        • Estimate: > 6 months
        • Result: > Application with scalable infrastructure ready for big load of merchants, lots of scalable payment methods depending on their own load.
    • The value > Each phase is estimated better. We have a version that can run on production in less than a quarter.
  • DevOps Timeline
    • What we did > Cloud infrastructure built by DevOps engineers was an essential part of the project. Having that in mind, deeper initial planning was needed. Even before the team gathered, a precise timeline was needed, as infrastructure is the one place the whole application is tested. The timeline was created internally with Qaiware experts, risks were addressed and potential blockers were identified.
    • The value > The needed infrastructure was chosen, and we found ways to solve blockers from the beginning of the project.
  • Governance
    • What we did > Having all stages, plans, architecture, and development in sync with our stakeholders was crucial for keeping the trust we built together and to keep the project on the right track. A weekly steering committee was held between management sides where all the risks were addressed. Sprint refinements were held with architects from Qaiware and the client, keeping everyone on the same page. Sprint reviews and demonstrations showed progress to all stakeholders.
    • The value > Every stakeholder could see our progress during the whole project. Feedback was taken on a regular basis to avoid surprises on each side.
  • Complete the project
    • What we did > Milestone 1 was finished exactly on time. Milestone 2 took the team a week less than estimated. Milestone 3 was finished 2 weeks longer than estimated, though was covered by the included buffers.
    • The value > The application was developed on time. The solution met the client’s existing needs, so they decided to do the part 4 only when the need comes.

Team

  • Each team member was familiar with the payments domain in general, card payments specifically, and the PCI standard. This enabled the reliable delivery offered to the client.
  • Qaiware provided a fully staffed team and Delivery Manager.

Technologies

> Microservice architecture
> Java
> Spring Boot
> SQL Database
> NoSQL Database

Share

Similar Articles