The Bank Partner Wouldn't Move the Date: How We Unblocked a Fintech Launch in 8 Weeks

An anonymized Series C fintech had a bank-sponsored launch window and a Java monolith that couldn’t ship. We modernized in place—GitOps, flags, canaries, and zero-downtime DB changes—without a feature freeze. They launched on time, reduced MTTR 7.6x, and cut infra costs 22%.

“This was the first big launch where we weren’t afraid to deploy on a Thursday.” — VP Engineering, anonymized fintech
Back to all posts

Related Resources

Key takeaways

  • Modernize in place under deadlines with guardrails: GitOps, feature flags, and canaries reduce blast radius without pausing delivery.
  • Target the three bottlenecks first: pipeline, runtime, and database. Don’t refactor code you can gate, route around, or defer.
  • Make risk visible with SLOs and tracing before you ship. Observability first, then changes.
  • Zero-downtime DB changes (Flyway, read replicas, backfills) unlock the majority of “we can’t deploy” horror stories.
  • Measure what matters: MTTR, change fail rate, p95 latency, deploy frequency, error budget burn. Celebrate the deltas.

Implementation checklist

  • Define hard constraints (date, compliance, EU residency, budget) and write them on the wall.
  • Stand up GitOps: repo-per-env or env-overlays, ArgoCD with automated sync and self-heal.
  • Add feature flags around high-risk paths before changing code paths.
  • Introduce Istio or another mesh for canary routing; start 90/10 and automate rollback triggers.
  • Instrument with OpenTelemetry and Prometheus before the first canary.
  • Use Flyway or Liquibase for forward-only, zero-downtime migrations; backfill asynchronously.
  • Create a read replica or cache to offload reporting before the launch.
  • Kill snowflake CI; make the pipeline declarative and reproducible (GitHub Actions, Buildkite, etc.).
  • Define SLOs and alert on burn rate, not just raw CPU/5xx.
  • Do a dry-run “game day” two weeks before the date; practice rollback and flipback via flags.

Questions we hear from teams

Why not rewrite the monolith into microservices?
Because calendars and cash flow. Rewrites are fine when you have runway. Under a fixed launch window, in-place modernization with flags, canaries, and DB discipline reduces risk fastest. We strangled only the riskiest endpoints.
Did compliance slow you down?
We pulled compliance into the design: GitOps for auditable change history, IRSA for least-priv AWS access, secrets out of CI, and SLOs to demonstrate control effectiveness. That satisfied evidence without slowing delivery.
Why pick Istio over simpler ingress canaries?
We needed circuit breakers and timeouts at L7 with subset routing, plus we knew the team would expand canary policies post-launch. Istio gave us that with mature traffic shaping. If you only need weighted canaries, an ingress controller might be enough.
Could we do this without Kubernetes?
Yes. You can do GitOps to ECS, use App Mesh or ALB rules for canaries, and still get 80% of the safety. We chose EKS here because the team already had partial k8s experience and needed mesh features quickly.

Ready to modernize your codebase?

Let GitPlumbers help you transform AI-generated chaos into clean, scalable applications.

Talk to GitPlumbers See how we modernize without rewrites

Related resources