Product: PowerShell Universal
Version: 4.3.2
I have a complex PSU environment, 2 servers, with >100 scripts, many schedules, some APIs and some Apps. I need to minimize downtime.
This is my outline of my side-by-side upgrade plan. It does seem overly labor intensive, but it’s intended to avoid downtime. I curious about your experiences and how you avoided downtime in your upgrade.
• Two existing PSU servers are "4A" and "4B"
• Build 2 new servers ("5A" and "5B")
• Clone PSU SQL database
• Clone Git main PSU repo to branch "v5branch"
• Install PSU v5.latest to 5A and 5B
○ License 5A and 5B with PSU Developers licenses
○ Attach new PSU to cloned SQL database
○ Configure Git to use v5branch
○ Ensure all schedules are paused on 5A, 5B
• Testing and refactoring on 5A, 5B
○ Fix all scripts and Apps
○ Validate all functionality, including roles, etc.
• Cut over
○ Set new VM snapshots on 4A, 4B, 5A, 5B
○ Stop schedules on 4A, 4B
○ Remove production license from 4A, 4B
○ Apply production license to 5A, 5B
○ Merge branch v4branch to main
○ Configure 5A, 5B to use Git main branch
○ Start schedules on 5A, 5B
○ Move PSU DNS alias to point to 5A
• After successful burn-in period
○ Remove VM snapshots
○ Decommission 4A, 4B
○ Delete old PSU database