All projects
Infra & ops 2026

Network cutover & migration suite

Zero-downtime migration from a monolith to seven services: dry-run-first migration scripts, a three-window runbook with smoke tests, and legacy-domain redirects that kept every old link alive.

RoleArchitect · Operator
StackNode.jsSQLiteSQLBashnginxsystemdRunbooks

The old network was one database and one process. The new one is seven services with contracts between them. Getting from one to the other without losing a user, a coin balance or a live player took a written plan.

  • Contracts first. A formal inter-service document fixes domains, ports, OAuth clients, the wallet API, the Media API and notification semantics before any code moved.
  • Dry-run everything. Each migration script (identity, live/media split, coins, game world tokens) runs read-only by default and only writes with --apply, validated against production snapshots first. Unmappable legacy balances were deliberately left in place for a future claim flow rather than guessed.
  • Three windows. Network and Tools, then Live and Media, then Games, each with timed steps, smoke tests and a rollback path, followed by a two-week soak before decommission.
  • Nothing 404s. hobostreamer.com, hobo.tools and hobo.quest permanently redirect into the new network.