Upgrading InterSystems software
Hello community! I'm working on an internal innovation effort at InterSystems considering our documentation/resources around upgrades. As part of this, I'd love to have your answers to any/all of the following questions, either via comment or (if you prefer your answers to be more private) direct message.
Thanks in advance!
What InterSystems products + versions are you running? ($zv is ideal.)
What makes you decide to upgrade?
What are your blockers to upgrading?
What is your process for evaluating and planning a possible upgrade?
What documentation resources do you use?
What gaps/issues do you see in our existing documentation around upgrades?
What would make your InterSystems software upgrade process better?
What has made an upgrade fail?
When have you had to roll-back?
Seeing as I just completed a production upgrade yesterday:
@Julian Matthews thanks for the super quick reply!
A follow-up question - do you tend to do maintenance release updates or just jump major versions?
Mainly major version jumps unless something is problematic in the version that has ended up in our production environment.
Last jump was 2019.1 to the current 2022.1 and I'm blaming the pandemic on no upgrades between those two releases
Thank you - this is a helpful data point too!
We have put our upgrade on pause right now due to constraints, but will be starting it back up and hopefully upgrading by March.
What InterSystems products + versions are you running? ($zv is ideal.) We are currently running HealthShare Health Connect 2018.1.3
Cache for UNIX (IBM AIX for System Power System-64) 2018.1.3 (Build 414U) Mon Oct 28 2019 11:24:02 EDT
What makes you decide to upgrade? Push to move away from AIX and more towards Red Hat for costs, support, additional enhancements and options available to us in IRIS vs 2018.1.3
What are your blockers to upgrading? New network/security policies, new hardware, new OS
What is your process for evaluating and planning a possible upgrade?
What documentation resources do you use? Release notes, installation requirements and guide
What gaps/issues do you see in our existing documentation around upgrades? While the release notes is nice, but more explanation of what is changing, screen shots, etc...
What would make your InterSystems software upgrade process better?
Thank you!
I've added two more questions at a colleague's suggestion:
What has made an upgrade fail?
When have you had to roll-back?
I have added these to my initial response
Probably our biggest pain point related to InterSystems software upgrade, and one we have to try and make sure sites using our Deltanji source code management tool are aware of, is that the procedure can result in class dictionaries of remote databases being upgraded to a dictionary version that the instance hosting the databases cannot handle.
Our Deltanji documentation now includes this paragraph in the section about InterSystems platform upgrades:
Before upgrading an InterSystems IRIS, Caché or Ensemble instance we strongly recommend that you first disable all ECP connections the instance makes to other instances. Leave these connections disabled until after you have completed the upgrade, including execution of any post-upgrade steps recommended by InterSystems such as the recompilation of code in all namespaces. These precautions should prevent the upgrading instance from inadvertently upgrading class dictionary entries and routines on remote instances which may still be running an earlier InterSystems platform version.
This is a good point. Fortunately, dictionary version updates are few and far between these days. (They used to happen all the time.)
I think docker is ideal for upgrading - just change the line of the docker image or just use the latest.
It may not be the case for production, but for development, docker is a no-brainer IMHO.
@Evgeny Shvarov agreed - although it's good to be sure that you're developing on the same version that you're targeting in production.