Every day, I walk by a Jamba Juice on my way to work. Today, there was a plain white sign taped to the front of the door, informing patrons that their juicer was broken, and consequently they would only be able to serve orange and carrot juices. Of course, they were very sorry for the inconvenience.
Ignoring the obvious question of how can you produce orange or carrot juice – but nothing else – without a juicer?, I couldn’t help but be amazed that this Jamba Juice (apparently) had only one juicer. Juice is in the name of your franchise! It’s a core component of your business! Further, juicers are presumably not indestructible, so this is likely not the first time their juicer has broken. It would seem prudent to have multiple backup juicers.
This got me thinking about single points of failure more broadly, a popular topic in devops roles (i.e. the kind of work I do). While I do feel for the owners of this Jamba Juice, this was a good opportunity for me to think about what SPOFs I have failed to notice, both in my work and in my personal life. I almost certainly have overlooked something where if it “breaks” I have no recourse or backup. This has been a good reminder for me to reflect on this and try to make the various systems I work both in and on more resilient to failure.
It’s not a matter of if they will fail, but when. As they say, two is one, and one is none.