Modernized, not just moved
Moving off the on-premises servers was the chance to bring the deployment up to current practice. All code and configuration went into versioned repositories, the servers are built from code (Chef, through its open-source build Cinc) instead of by hand, and every change runs through dev and test before prod. Approved changes deploy in one click. A rejected release rolls prod back to the last release and goes back to dev to run the full cycle again.
A major version upgrade
The upgrade crossed a major version, so the custom plugins and infrastructure integrations had to be migrated with it. Test was built and migrated in full before prod moved.
- Written down. Eight runbooks document the upgrade.
- Revalidated. About ten web apps and widgets were checked before release.
- Load tested. Apache JMeter ran the new servers under load before users moved over.
Day-to-day operations
- Nightly refreshes of outside data, such as EV charger locations from NREL.
- Data copies between environments, with a schema compare first.
- Rotating PostgreSQL backups, Jenkins CI/CD, and bulk-update tools built on the Portal REST API.
- Monitoring and alerting on the services.
One platform instead of silos
The GIS supports FilmLA’s film permit process and connects the agencies involved, and their data, into one process. Each dataset lives once in the enterprise geodatabase and is published as web services, so teams use the same layer instead of keeping their own copies. Role-based access decides who can view or edit each one.
The service catalog
Each service is published twice, as a map service for display and a feature service for queries. About half are partner data from city, county, state and federal agencies, refreshed as those sources change; the rest are derived in house. They cover airspace, parks and natural areas, transportation (streets, traffic, bikes, parking and EV charging), jurisdictions and parcels, hazards such as fire zones and wildfire perimeters, and events and restrictions.