Mission Critical: City of Miami’s 911 System
Before / after: legacy mainframe (COBOL dispatch logic) → Windows/VMware server tier with SQL clustering, load balancing, and Cisco routing.
In 2010 I worked as the network engineer on the project that migrated the City of Miami Fire Rescue Department’s 911 emergency dispatch platform off its legacy mainframe and onto a Microsoft/VMware-based architecture. This was a mission-critical system in the literal sense of the term: a fire and medical dispatch platform has no acceptable downtime window, so the cutover had to preserve the existing dispatch logic exactly while replacing the hardware and operating environment underneath it.
The project was part of a broader industry shift happening at the time. Through the late 2000s, a combination of cheaper multi-core server hardware, mature virtualization platforms, and server software capable of scaling to workloads that had previously required a mainframe made it economically realistic for cities and enterprises to move mission-critical applications onto commodity infrastructure. Miami’s 911 system became one of the examples cited when Microsoft covered that trend in “Mission Critical: Miami’s New 911 System Part of Growing Global Trend” (Microsoft News, July 14, 2010; the original URL has since gone offline, link is to the Internet Archive copy).
Scope of the migration
The dispatch application itself was legacy COBOL — decades of accumulated call-handling and unit-dispatch logic that nobody had an appetite to rewrite from scratch under a mission-critical deadline. The approach instead was to recompile and run that COBOL logic on the new platform rather than reimplement it, which meant the migration was as much about proving behavioral parity as it was about standing up new infrastructure. My part of the work included:
| Area | What it involved |
|---|---|
| Database tier | Microsoft SQL Server clustering to replace the mainframe’s data layer with a highly-available equivalent. |
| Application tier | Load balancing across the new server tier to distribute dispatch-application load and remove any single point of failure. |
| Legacy code | Compiling and validating the existing COBOL dispatch logic against the new platform so call-handling behavior matched the mainframe exactly. |
| Network | Cisco routing and switching to connect the new server tier into the department’s existing network without disrupting live dispatch traffic during cutover. |
| Virtualization | VMware-based infrastructure underpinning the new environment, in place of dedicated mainframe hardware. |
Why it mattered
A 911 dispatch system is one of the few environments where "mostly working" has no meaning — it is either dispatching units correctly or it is a public-safety failure. That constraint shaped every decision on the project: changes were validated in parallel against the live mainframe before cutover, and the network and server work was sequenced so that no single change could take dispatch capability offline. The project succeeded in bringing the system onto modern, commodity infrastructure at a fraction of mainframe licensing and hardware cost, without a service interruption — which is the outcome Microsoft’s piece was pointing to as evidence that mission-critical no longer meant mainframe-only.