Building and managing remote appliances takes a different approach from the processes used on a regular server.

First of all, upgrades must be easy and simple. This includes upgrading from any point in time to any other point in time. One of the best ways to accomplish this is to use multiple partitions to boot off of, so that an upgrade can be done to a partition that is not currently booted off of. This provides a mechanism to roll back to a previous image if something is wrong. With ZFS this can be accomplished using Boot Environments to give nearly unlimited rollback.

Brad has built firmware images based on these different ideas and used them in production at different companies to enable reliable upgrades.