Listen to this post here: As I am reviewing the design considerations for the processes of updating and upgrading Virtual Appliance's software, I decided to take a look at how leading Virtual Appliance vendors are updating their appliance's software.
The method I used for this quick research was very simple: I looked at the Virtual Appliance's documentation, where it discussed the update and upgrade process. I then deduced how the software update process was designed. The "Known Issues" and "Troubleshooting" sections in the vendor's release notes, were a very good resource as well.
Stay tuned for my design considerations checklist, while this article reviews the flaws of the leading Virtual Appliance Software Update Design.
VMware ESXi Host
That's not a virtual appliance, as it usually runs on real hardware, except for testing purposes where it can run as a virtual machine. Still I thought it is worth a look at, due to its core role in VMware's virtual solutions, as they should have used methods to update its software, that may be worthy for a Virtual Appliance as well.
- Upgrade across major versions (4 to 5) seem to work seamlessly if you use the update manager via vCenter, because it preserves virtual machines, even if they reside along with the Hypervisor and it goes through all the steps in the process (verify, stage updates, update, test, reboot), without your intervention.
- However, if update is interrupted during upgrades or updates, the system may become unusable (no quick rollback option).
- The basic vCenter update manager, update process requires your input. But you could automate it if you can standardize on your hardware and configuration and then use options such as customized ISOs and other methods offered by VMware as well as 3rd party hardware vendors.
- In general you could automate the process of a specific update, but you still have to screen and test new updates, review their impact and effect on your environment, to customize your own automated process. You can't really automatically stream updates to your ESXi.
VMware vCenter Server Appliance (Linux Based)
- The main method described for an update required creation of a new fresh vCenter Server Appliance instance, then creating a trust relationship of the new and current vCenter Server, allowing the transfer of the current appliance configuration settings to the new fresh appliance. As this process completes, you could shut down the current appliance and leave the new fresh appliance running.
- This does not look like a process that could be easily automated or simplified.
- To apply updates rather than an upgrade, you are supposed to manually run the process through your browser. So this process is manual as well and it is not clear if and how you can quickly and easily recover if the updates cause issues.
VMware Storage Appliance
- As you upgrade the appliance you may be required to uninstall the current version, adding complexity to the process.
- You are required to manually address dependencies, such as upgrading ESX hosts only AFTER you upgrade the Storage Appliance software. This is very disturbing if you are looking for an automated, bullet proof simple process.
- There is a mentioning of a rollback the update process may activate in case of an upgrade failure, but it is not clear how it works.
- It is not clear how and if updates / patches can be applied, since all documents I reviewed refer to upgrades only.
Indeed in most cases we refer in this case to hardware based appliances (routers), and yet, I'd expect the design concepts of such a major, long term appliance vendor, have lots of wisdom implanted in its update architecture. Of course Cisco has incorporated various platforms and solutions it either developed or acquired through the years. Still I reviewed the common IOS update process.
- Updates can be activated interactively or for a group of appliances via update manager software.
- Although in general they recommend running the update at the physical console, I believe remote consoles and remote power controllers could suffice in most cases as well.
- The update process seems to be pretty failsafe, as you could upload an update to the appliance's flash memory. The flash memory, if properly sized, could hold up several update images, which you could select from to boot the appliance. So if you stumbled into a bad update, you could easily reboot the appliance with the previous good image.
- All together the basic design concepts of simple, automated, safe process that can be mass deployed seem to apply in this case. Of course in my future Appliance Software Update design considerations checklist, I will try to highlight additional innovative ideas.
F5 BIG-IP Virtual Edition (top performer in the VMware Appliance Market)
- I found lack of automation and mass deployment options. You basically have to download the update ISOs, use a web browser to import them, check for their MD5 checksum, and execute them on the appliance.
- There is no mentioning of automated or manual recovery or options for mass-deployment.
Looking at the cases I inspected, you could be critical of those solutions (except for Cisco's solution). However, we should also consider, maybe after all, it is not worthy enough to address those lacks. Those vendors are still massively selling those products…
Maybe it is because in the IT arena, people do not take the time to show management, how much the lack of better software update features, resulting in extra down time, really costs…
Or maybe that's because the Virtual Appliance is just an in-between phase, leading us from computers to cloud services. Maybe the lack of robustness of the Appliance maintenance mechanisms cause, is that vendors are merely taking the minimum amount of effort required to dump their software, as is, into the virtual appliance, knowing that the real effort should be invested in restructuring their solutions as generalized cloud services. That's where the computer entity is irrelevant. In this case the whole Virtual Appliance market is destined for doom, in spite of the seemingly vibrant state it appeaars to be nowadays.
What do you think?