Enterprise CI/CD modernization
Maintaining and improving the delivery lifecycle across a large insurance environment, where more than thirty production services shared inconsistent pipelines and hand-applied cluster state.
- Client
- US Regional Insurance Company
- Role
- Consultant — DevOps & full-stack engineering
- Period
- 2024 — present
- Scope
- 30+ production projects
Context
A regulated insurance environment with many independently built services, several delivery conventions, and a release calendar that could not pause. Ownership of pipelines had accumulated with individuals rather than with the platform.
Problem
Every project deployed slightly differently. Environments drifted, builds were repeated per stage, and cluster changes were applied manually, which made failures hard to reproduce and rollbacks a matter of memory rather than procedure.
Constraints
No release freeze. Regulated change-control process. Existing tooling had to be kept — replacing Jenkins outright was not on the table. Teams had different levels of Kubernetes familiarity, so the result had to be operable without deep platform knowledge.
Approach
I standardized the pipeline shape first rather than the tools: build once, publish an immutable artifact, promote it, and reconcile deployment state declaratively. Projects migrated onto that shape one at a time, each with a rollback path in place before the switch.
Infrastructure moved into code incrementally, starting with the pieces that caused the most incidents rather than with a full inventory.
Key decisions
Keep Jenkins and add Argo CD for delivery, instead of a wholesale platform migration — lower risk, and it matched the skills already in the organisation.
Treat environment parity as a first-class deliverable; most reported bugs that ‘only happened in staging’ were configuration differences, not code.
Outcome
A single delivery model across more than thirty production projects, with deployments traceable to a commit and an artifact. Onboarding a new service became a matter of configuration rather than invention, and incident investigation started from a reproducible build.
Retrospective
The technical work was less than half the effort. Agreeing on one pipeline shape, and writing it down so teams could adopt it without me, was what made it durable.
Flow
Build once, promote the same artifact; cluster state reconciled from Git rather than applied by hand.