Computers break, drives crash, kids try to see if CD drives will cure play-dough, “somebody” causes virus infestations to occur.
In short. Stuff happens.
So I’ve decided that rather than try to prevent any of these things from happening. A truly impossible feat. It is better to plan in advance for these events. In other words, view information systems as if their malfunctioning is a foregone conclusion and plan accordingly.
Recovery oriented computing1 is not a new concept. Already it has provided rich rewards to businesses, particularly internet-based businesses such as Google, Amazon, eBay, E*Trade, etc. Unfortunately, however, this same computing practice has not filtered down to the average consumer.
The basic idea behind recovery oriented computing is quite simple. From the abstract on the initial paper on ROC:
Our approach, denoted recovery-oriented computing (ROC), recognizes the inevitability of unanticipated failure and thus emphasizes recovery and repair rather than simple fault-tolerance. We define the properties that a ROC system must provide, and briefly consider how they might be achieved.
While this paper and approach are largely geared towards large internet services with many critical systems in the back-end. I believe the same approach can and should be adapted to the average household which tends to contain multiple computers, making many recovery oriented techniques possible.
One such principle is to keep critical data replicated automatically in multiple places. I’ve written about how network attached storage systems can aid in this endeavor. However I have been increasingly impressed by the ability of cloud-based solutions such as Dropbox to achieve an even greater degree of data replication and availability.
Along these lines it is also helpful to plan for your systems to die. So I would argue that it is worthwhile to keep in mind the cost of repair and replacement when purchasing new systems. For me, this means that a slightly less powerful system that costs 1/2 the price of a top-of-the-line model is far more desirable since it can theoretically last twice as long as the other model (possibly even with upgrades if replaced with newer technology in the future) since the cost is about half of the other system. Cheaper systems also mean that it is feasible to have a spare or two (or three) lying around as “hot standbys”.
While recovery oriented computing is geared mostly towards large businesses, getting in the mindset recovery oriented computing promotes can yield rich rewards.