Solving upgrade issue of SpectraGuard and other development process improvements

In 2005, AirTight released the product to very small set of customers. I was primarily responsible for product verification (software testing) at that time and also looking after customer support. Almost all the customers were reporting data loss during the upgrade. We have already tested the product properly and found it working. However, upgrade bundle was prepared late in the cycle and the assumption was if the freshly installed product works fine, upgraded one will also work. But that was not happening in the field.

I analyzed the process and found that AirTight’s product has a different relationship with data and hence upgrade of the data has to be dealt differently. I proposed the new architecture of upgrade solving both the problems of data loss and timeliness. Senior management of AirTight liked the idea and gave me the responsibility to get that implemented. This architecture got very tough challenges from the branching strategy and parallel development prevailing at that point in time.

  1. Founded CLI group taking full responsibility of product installation, upgrade

· Definition of long lasting upgrade architecture to support version dependent, automated data migration and operating environment upgrades during installation of new version

· Management of disk partitions to utilize space available on newer drives as well as operating system and product software upgrades in a seamless manner

  1. Created in-house tools for build and sanity test execution

· This involved development and maintenance of build scripts and creation of database sanity tools to ensure build sanity

Challenges

· AirTight ships its main product as an appliance and set of sensor boxes

· The boxes have no interface for external media; only Ethernet is available for communication

· The system stores different types of data viz. information about wireless air-space, policy and other configurations defined by administrators, metadata and environment configuration parameters etc.

· The boxes run customized Linux as base OS and users have access to a restricted shell only which require handling runtime environment changes along with seamless data migration, during upgrade

Upgrade is carried out by customer in absence of AirTight engineer while the customer might have skipped last few releases

No comments:

Post a Comment