Rolling upgrades for continuous services

  • Authors:
  • Antoni Wolski;Kyösti Laiho

  • Affiliations:
  • Solid Information Technology, Helsinki, Finland;Solid Information Technology, Helsinki, Finland

  • Venue:
  • ISAS'04 Proceedings of the First international conference on Service Availability
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

With the advent of highly available systems, a new challenge has appeared in the form of the requirement for rolling upgrade support. A rolling upgrade is an upgrade of a software version, performed without a noticeable down-time or other disruption of service. Highly available systems were originally conceived to cope with hardware and software failures. Upgrading the software, while the same software is running, is a different matter and it is not trivial, given possible complex dependencies among different software and data entities. This paper addresses the needs for rolling upgradeability of various levels of software running in high-availability (HA) frameworks like the Availability Management Framework (AMF) as specified by SA Forum. The mechanism of a controlled switchover available in HA frameworks is beneficial for rolling upgrades and allows for almost instantaneous replacement of a software instance with a new version thereof. However, problems emerge when the new version exposes dependencies on other upgrades. Such dependencies may result from new or changed communications protocols, changed interfaces of other entities or dependency on new data produced by another entity. The main contribution of this paper is a method to capture the code, data and schema dependencies of a data-bound application system by way a directed graph called Upgrade Food Chain (UFC). By using UFC, the correct upgrade order of various entities may be established. Requirements and scenarios for upgrades of different layers of software including applications, database schemata, DBMS software and framework software are also separately discussed. The presented methods and guidelines may be effectively used in designing HA systems capable of rolling upgrades.