IT‑IS‑Networking
Projects › Local government — finance

Oracle ERP Program — RFP to Cloud Go-Live

Twelve years from the 2011 request for proposal to a 2020 cloud go-live — the cost model that had to exist first, and a cutover instrumented so neither side could blame the other.

Technical subject-matter authority across the whole arc, from the 2011 request for proposal to the 2020 cloud go-live: procurement documentation, cost-model definition, program cost structure, capacity planning, go-live instrumentation and vendor-facing performance analysis.

This was a finance, applications and infrastructure role on one program rather than a network engagement. The functional implementation itself belonged to a specialist partner working with the finance and employee services departments.

Isolated development, QA and production environments, controlled promotion between them, and the data-handling boundaries that separation requires. Alongside it, the migration of the Office of General Counsel into Microsoft Azure — tenancy, placement and the segmentation tying cloud workloads back to the enterprise.

Being the authoritative description of the estate

In 2011 an external advisory consultant drafted the description of the city’s technical environment that competing bidders would scope their responses against, and it was materially wrong: the wrong firewall manufacturer, two wide-area technologies the city did not operate, and the network and server estates conflated with one another.

The corrections went back the same morning, with the city’s own current-state logical design supplied as the reference. Being the authoritative description of the environment when somebody external is about to describe it wrongly on the organization’s behalf is most of what the architecture function is for.

The precondition nobody budgets for

A financial module cannot be configured until an organization can state how cost accumulates and how it allocates — and most organizations discover mid-implementation that they cannot.

So the cost allocation model the system was built to implement had to be documented first: roughly sixty service categories, each with its methodology, index codes and allocation rules written down, covering data center operations, storage, backup and recovery, server management and virtualization through to supervisory control for public works, public safety, geographic information and asset management.

Rationalization was part of the exercise rather than a later tidy-up, with categories combined, renamed, redefined or eliminated as the review went on, under a budget deadline. It carried forward into the implementation as a funded workstream in its own right.

Instrumented so nobody could blame the other side

The cost structure separated recurring subscription from implementation labor across fiscal years and funding indexes, with a new billing category created for the production system specifically so that run cost stopped being mixed with build cost the moment the product went live.

Moving the financial system off premises changed the traffic profile of the internet edge, so a capacity baseline was established first — which corrected the team’s assumption about which direction mattered, inbound rather than outbound, and widened the measurement to every tenant sharing that edge rather than the city alone.

The cutover carried baselines taken the week before so impact could be measured against something, named owners per measure, statistics twice daily, and standing alerts on availability with latency, an automated sign-in probe, and monitoring on the check-printing and secure transfer paths.

Through cutover week I produced daily twenty-four-hour telemetry for the vendor, mapped to every site on the estate, defining the goodput measure explicitly so both sides read the reports the same way, and separating the internal client-server statistics from the connection measures — so that a city network problem could not be mistaken for, or offered as, an application problem at the vendor.

Go-live ran the first week of March 2020, days before the buildings closed.