Parkersoftware engineering Message Ben on Telegram

A top-10 retail bank

Moved card processing to a new platform with zero downtime

Over 11 months we moved the bank’s card processing from a legacy core to a new platform. The whole time, customers kept paying by card, withdrawing cash and sending money without noticing the move.

Client
A top-10 retail bank, name under NDA
Industry
Banking and fintech
Duration
11 months
Team
30 Parker engineers
0 minutes
downtime at cutover
−38%
transaction processing time
11 months
from kickoff to cutover

Challenge

The processing system handles every card transaction the bank makes: purchases, cash withdrawals, card-to-card transfers. It ran on a core more than 15 years old.

The core struggled under peak load, releases shipped once a quarter, and fewer and fewer engineers understood its code. Every change to limits or fees turned into a project of its own.

The bank asked us to move processing to a modern architecture and keep every product, limit and card network integration intact. There was one condition: customers must not notice the move.

Constraints

  • Processing can’t stop

    Transactions run around the clock, with no maintenance window. A minute of downtime means declined cards for millions of customers.

  • Regulatory requirements

    Every change to the payment environment goes through the bank’s InfoSec approval and an audit against PCI DSS and the regulator’s requirements. Each migration step had to be documented and reversible.

  • Peak load

    Load triples around Black Friday and the December holidays. The cutover couldn’t fall in November or December, and the new platform had to handle the peak with headroom to spare.

Solution

Instead of one big-bang cutover, we broke the move into steps that could each be verified and rolled back.

  1. Phased migration

    We split processing into domains: authorization, clearing, limits and notifications. Each domain moved on its own and went to production without waiting for the rest.

  2. Dual writes

    During the migration, every transaction was written to both the old core and the new platform. A nightly reconciliation matched balances and ledgers to the cent.

  3. Shadow traffic

    A copy of live traffic ran through the new platform without affecting customers. That let us test it under real load and catch discrepancies before cutover.

  4. Segment-by-segment cutover

    Traffic moved over in slices: bank employees first, then 1%, 10%, 50% and 100% of customers. A rollback was ready in minutes at every step.

How the cutover worked. Traffic moves from the old core to the new platform in slices, and the old core stays on standby until the last segment.

Timeline

11 months from discovery to switching off the old core. Phases overlapped, so none of them had to wait for another.

  1. Months 1-2

    Discovery and architecture

    We took apart the core, its integrations and procedures, then agreed the target architecture and migration plan with the bank’s InfoSec team.

  2. Months 2-5

    New platform and API contracts

    We built the platform core and locked down contracts with the card networks and the bank’s own services.

  3. Months 4-8

    Dual writes and nightly reconciliation

    Every transaction is written to both systems, and a nightly job compares balances and ledgers.

  4. Months 6-9

    Shadow traffic

    A copy of live traffic runs through the new platform, and every discrepancy is resolved before cutover.

  5. Months 9-11

    Segment-by-segment cutover

    Bank employees first, then growing shares of customers up to 100%. Rollback in minutes at every step.

  6. Month 11

    Old core switched off

    The old core went read-only and was then decommissioned.

Results

Results from the cutover and the new platform’s first six months in production.

0 minutes
of downtime at cutover. Customers never noticed the move, and not a single transaction was lost.
−38%
transaction processing time. Authorization is faster than on the old core, on peak days too.
52
releases a year instead of four. New limits and products ship every week, with no overnight maintenance windows.
0
critical incidents in the new platform’s first six months.

Team

  • 1tech lead
  • 2architects
  • 12senior backend engineers
  • 5QA and performance engineers
  • 4SRE and DevOps engineers
  • 2security engineers
  • 3systems analysts
  • 1project manager

Ben Parker signed off the architecture. On the bank’s side, an architect, a product owner and the InfoSec team worked with us throughout.

Technology

Platform
  • Java 21
  • Spring Boot
  • PostgreSQL
Data streaming
  • Kafka
  • Debezium
  • gRPC
Infrastructure
  • Kubernetes
  • Terraform
  • Vault
Observability
  • Prometheus
  • Grafana
  • OpenTelemetry
Testing
  • Gatling
  • Testcontainers

Need to move a critical system without stopping it?

We start with a 2-4 week discovery: we map the system, its constraints and risks, then come back with a migration plan and a ranged estimate.