I was having a discussion with a new Unitrends customer the other day who told me he thought we should be more explicit concerning the architecture of our systems and the reasons for some of the choices that have been made.  It turns out this new customer didn’t know what operating system we were running on our backup appliances and assumed it was Windows.  Once I explained that the basis of our RecoveryOS, the core operating system that we use on our appliance, was Linux, he said that he understood better much of the overall reasoning for the architectural choices that had been made.

First, a disclaimer.  I’m a fan of both Microsoft and Windows.  I’m typing this from a Dell M1730 with Windows 7 at home on Christmas morning before my family wakes up.  If you’re not familiar with the Dell M1730, it’s a massive gaming notebook.  I bought it about two years ago because at the time I was writing a lot of software that required a tremendous amount of computational power (Adobe Flex) and it has a 1920×1200 monitor.  I really like it – and I like Windows 7.  I have a Dell 730 system at Unitrends with 4 1920×1200 monitors with Windows  as well.  (Note: I have an iPhone, and a MacBook, and a lot of other computers as well – I really like this stuff!)

But I’m pretty careful when I buy computer platforms which will host Microsoft products.  I make sure I have a lot of processor, a lot of memory, and a lot of disk.  Microsoft’s products have quite a bit of “bloat” associated with them due to the legacy base of the products.  And of course Microsoft Windows, due to its popularity, is by far the leading candidate for attacks.

Our backup appliances use an operating system we’ve coined RecoveryOS.  It is based on a version of Linux, specifically on a distribution of Linux called CentOS.  We chose Linux because we could optimize it to execute within a relatively small footprint and we could increase the performance and decrease the latency associated with the operating system.  The great “sin” in terms of performance on backup systems is allowing the disk platters to rotate past the correct sector when writing a backup – that creates milliseconds of latency that causes the system to in essence force either everything to wait the disk platter to complete its rotation – or, even worse – causes another seek which moves the disk head to move which can cause “thrashing” of the drives.  In addition to having the smallest, most reliable, code execution path possible the other thing that can kill you is fragmentation of the file system – and when you’re doing big write operations you can quickly fragment an NTFS file system (the most common Windows file system these days.)  Linux and the file systems we use are much more resistent to fragmentation.

We also chose Linux because we were very concerned about attacks.  We’ve even borrowed a term, Immunilogical, to refer to some of the steps that we take to protect against viruses, worms, and other forms of attacks.  At the basis of this is the fact that we don’t operate on Windows and are thus immune from most of the attack vectors typically used.  To me, this is even more important than performance.  We sell to very few customers who do not have a single Windows server, PC, workstation, or notebook to protect – and most of our customers have a strong Windows presence.  So being able to protect those systems without being corrupted by the attacks that are such a threat to Windows computers is incredibly important.