Situation before the shift
- Fixed VMs and manual releases struggled when integration traffic spiked unpredictably.
- The organisation needed faster integration delivery without multiplying operational blind spots.
- Leaders wanted proof that serverless would stay governable under audit and partner scrutiny.
Context and integration pressure
Core points
- Burst traffic from partners and internal systems punished always-on sizing models and slowed safe releases.
- Glue scripts between services multiplied secrets and hand-tuned configs that did not survive promotion.
- Ops teams lacked a single view of dependencies when incidents hit during peak windows.
Challenge and risk
Core points
- Serverless without standards invites anonymous endpoints, orphaned resources, and surprise invoices.
- Cold start and timeout limits matter when workloads chain across functions and queues.
- Non-prod parity gaps meant promotions still felt like gambles despite automation theatre.
Approach
Core points
- We standardised on Bicep or Terraform modules per bounded context so environments stayed comparable.
- Managed identity and least-privilege roles replaced long-lived keys wherever the platform allowed.
- CI/CD pipelines owned promotion, smoke checks, and rollback paths with named owners per service.
Skunk tip
- Name an explicit owner for subscription boundaries and tagging before you scale past the pilot.
Delivery highlights
Core points
- Blue or green style releases and feature flags reduced blast radius when functions handled money movement.
- Structured logs and traces linked business correlation IDs across queues and downstream APIs.
- FinOps dashboards paired unit economics with engineering metrics so tuning stayed collaborative.
Outcomes and lessons
Core points
- Teams shipped smaller changes more often once environments were trustworthy and observable.
- Cost variance narrowed when alerts and budgets sat next to the same dashboards engineers used daily.
- The durable lesson is that serverless rewards disciplined integration inventory, not ad hoc enablement.
If you cannot explain who owns a function and what it costs at 2am, you are not finished modernising.

