From hand-built servers to containers in production
Confidential · FinTech
The business said
- “Keep deploying over SSH onto hand-built boxes”
- “Hire a dedicated platform team”
- “Rewrite the services before touching infrastructure”
- “Lift the virtual machines to the cloud as they are”
- “Containerize the services and give them a real production architecture”
The product was not fragile. Its runway was: four services on hand-managed servers, with no repeatable path from a developer's change to production.
An AWS container architecture and pull-request delivery flow
A retirement-planning fintech had a working product and a worrying foundation. Its four core services, covering the advisor experience, the domain model, the participant flow, and the public API, ran on hand-managed Linux instances. Deployments meant logging in and doing things. That is survivable at demo scale and disqualifying at the scale their enterprise partners required.
We started with a containerization proof of concept: each of the four services packaged into Docker images, wired together, and run on the cloud provider's managed container service. Alongside it we drew the missing map, the architecture as it existed in development against the architecture production actually needed: isolated environments, load balancing, service-level scaling, and secrets kept out of the machines.
Delivery discipline came with the containers. The code moved under one source-control organization with a standard branching model, and changes started flowing through pull requests reviewed before merge, so the path from a developer's laptop to a running environment became visible and repeatable instead of tribal.
With the proof of concept validated, the engagement moved to scoping the production rollout on the same architecture. The four services still do what they always did; what changed is that shipping them stopped depending on who remembered how.
- 4 containerized, services
- managed containers, runtime
- pull requests, changes flow
- dev and prod, mapped, environments
- PoC to production, path
