Start a conversation
Operational dossier

True zero-downtime releases across five client platforms

Designed a version-aware release system across clients, backend, CDN, and dedicated servers that removed maintenance windows and reduced player disruption.

Report metadata

Infrastructure Release Engineering Multiplatform DevOps

2024-07

Release Manager

5 client platforms coordinated in one repeatable release flow
Zero-downtime swaps reduced backend, CDN, and server cutover risk
Version-aware routing gave the team controlled update paths
Unreal Engine Java MongoDB SQL CDN EC2
Version-aware zero-downtime release flow across clients, backend, CDN, and game servers

Challenge

Every release required planned maintenance because too many moving parts had to change together: client builds across five platforms, a shared backend, CDN-hosted assets, and dedicated Unreal Engine servers on EC2. The live game could not safely keep running while those components changed underneath it.

The release surface included:

  • Windows Store
  • Mac App Store
  • iOS
  • Android
  • Apple TV
  • Client builds
  • Common backend services
  • Admin panels and SQL-backed tooling
  • CDN-hosted graphical assets
  • Dedicated UE game servers on EC2

Approach

  • Wrote a comprehensive release checklist that dictated sequencing for backend, game servers, CDN, frontend, QA, and DevOps.
  • Mapped game servers to specific client versions and build numbers.
  • Mapped CDN asset sets to specific client versions and build numbers.
  • Designed one-click swaps for choosing which CDN, game server set, and backend environment were active for new traffic.
  • Introduced a simple folder/version structure to hold multiple CDN and game-server payloads without materially increasing infrastructure cost.
  • Added forced-update parameters so incompatible clients could be controlled deliberately instead of relying on maintenance windows.
  • Shifted heavy deployment steps earlier in the release flow so CDN and server assets were already staged before the critical cutover window.

How the system worked

  1. A release checklist defined the exact order of operations.
  2. Backend, game servers, CDN, and client compatibility were versioned together instead of being swapped ad hoc.
  3. DevOps followed the checklist exactly, including when to stage assets early and when to perform environment swaps.
  4. QA, development, and DevOps each had clearly timed responsibilities during the release window.
  5. New clients were routed to the correct backend, CDN assets, and server fleet while the existing live game remained available for active users.

Results

  • Maintenance windows were no longer required for normal releases.
  • Release execution became predictable because backend, CDN, and server swaps were controlled instead of improvised.
  • Live users were protected while new builds rolled out across multiple stores and platform approval timelines.
  • Coordination improved because QA, development, and DevOps all worked from the same operational sequence.

Key metrics

Operational impact
AreaBeforeAfter
Release availabilityMaintenance requiredTrue zero-downtime release flow
Version coordinationManual cross-checkingExplicit client, CDN, server, and backend mapping
Cutover controlMulti-step manual switchingOne-click environment swaps
Release preparationCritical deployments during release windowEarly staging reduced release-time pressure
Implementation notes
  1. Version-aware routing was the key to removing maintenance windows safely.
  2. Operational sequencing mattered as much as infrastructure design.
  3. Clear timing across QA, dev, and DevOps turned release execution into a repeatable system instead of a fragile event.