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
- Practice
- Legacy modernization
- 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.
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.
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.
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.
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.
Timeline
11 months from discovery to switching off the old core. Phases overlapped, so none of them had to wait for another.
-
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.
-
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.
-
Months 4-8
Dual writes and nightly reconciliation
Every transaction is written to both systems, and a nightly job compares balances and ledgers.
-
Months 6-9
Shadow traffic
A copy of live traffic runs through the new platform, and every discrepancy is resolved before cutover.
-
Months 9-11
Segment-by-segment cutover
Bank employees first, then growing shares of customers up to 100%. Rollback in minutes at every step.
-
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