As with most of you, I’ve been involved in updating software for most of my technical career - whether they be for the operating system of choice, or application specific - homegrown or otherwise. Having used Microsoft technologies such as SMS and WUS/SUS/insert your own acronym, patch management solutions like Shavlik, and others, I can appreciate that applying a hotfix or update can be a time consuming task!
The Early Years…
Hotfixing Enterprise Vault has recently gone through a renaissance-like transformation. For a number of years, we released hotfixes in the form of one or more binaries, sometimes with a .SQL file, packaged in an ZIP file with instructions on how to manually apply them. This would usually entail taking a backup of the binaries to be replaced (along with a full backup of databases etc.), then copy/pasting the hotfixed binaries, and opening up SQLM and running the .SQL file manually against any applicable databases.
Sometimes overlapping hotfixes meant that customers sometimes had to choose between one fix or another. Keeping track of what hotfixes had been applied to a system was difficult for everybody involved - customers, support engineers, even Engineering! As environments continued to grow, applying even a single hotfix manually meant having to log onto 10 or 20 servers. Not only did this take time, but the likelihood of missing a server out, or making a mistake, increased exponentially…especially when more than one hotfix was applied, or a large number of binaries needed to be manually copied to multiple folder locations, some requiring command line instructions post-application, service restarts etc..
Time for a Change
In October 2012, we took the first step in our transformation to improving the hotfixing landscape by releasing our first cumulative hotfix on Enterprise Vault 9.0.4. It was a basic cumulative hotfix with no frills - each logical ‘area’ of the product family had its own zip file that contained a collection of binaries and .SQL files applicable to the area in question. The major difference with this release over previous hotfix releases was that it contained all available fixes for the 9.0.4 version, without the worry of mutually exclusive fixes or incompatible binaries. Each zip also had a more productised list of fixes, available in the same HTML standardised format that the major and minor versions of the product are released with. Having only the binaries relevant to the particular logical area of the product also made the cumulative hotfix more easy to deploy.
This cumulative hotfix format was successful over a number of different Enterprise Vault releases (9.0.X and 10.0.X). However, there was still the problem of having to manually apply these cumulative hotfixes that needed to be overcome.
In October 2013 our efforts in the background culminated with the release of the first automated cumulative hotfix installer kit, for the 10.0.4 CHF1 release. Immediately identifiable in the same way that one would obtain the Enterprise Vault media kit, the cumulative hotfix kit is wrapped up in an .ISO file.
Within, the folder structure again mimics the Enterprise Vault media kit, with folders for each of the various packages we release.
Figure 1 - screenshot of Enterprise Vault kit layout
Figure 2 - screenshot of Compliance Accelerator kit layout
The differentiator between earlier cumulative hotfixes and this one, relates to the installation of the server-side components. Enterprise Vault, Compliance Accelerator, and Discovery Accelerator cumulative hotfixes now came packaged with their own installation wizards!
Figure 3 - example of the welcome page for the 10.0.4 CHF1 installation wizard.
The installation wizard did what one would expect from an installation wizard - it backed up the binaries that were about to be updated, then it updated the server with the new binaries. Most importantly of all, it also automated any SQL database that needed updating, slipstreaming the changes in so that new databases would be created with the updates as well.
The experience was now on a par with the installation capabilities of the regular Enterprise Vault releases…or so it would seem! In actual fact, with the cumulative hotfix installer, we moved a step ahead of the curve and provided an automated rollback capability that would downgrade both the binaries deployed and the database changes that might have been made - a first for the product!
The Future
Given the capabilities that exist in the cumulative hotfix installer, one may think that there isn’t much more that can be done with it. To a certain extent, there is some truth to that statement. However, there are always updates that are required. For example, with the release of Enterprise Vault 11.0 in May, a new utility has been introduced to upgrade Directory and Storage databases, a command line utility called Database Upgrader. This allows for faster, concurrent and more convenient upgrades of databases to occur. Enterprise Vault 11.0 CHF1, due out in the not-so-distant future (watch the blog for updates!), will be updated to make use of this great new feature for it’s database upgrading functionality. Anything that we can feasibly do to help reduce TCO and improve manageability will be considered for future releases.
Feedback
Have you installed one of the recent cumulative hotfix releases? What was your experience like (good and bad)? What can we do to improve? Your feedback may help shape future releases!