In the last decade, there has been a strong drive to consolidate the operating systems that are used in the enterprise. Many enterprises have selected modern versions of Windows and Enterprise Linux as their strategic OS choices, and have migrated a large portion of their infrastructure to these platforms.
The above doesn’t mean though that non-modern, non-Windows and non-Linux platforms will soon be extinct. On one side, the consolidation is not complete. There are still a lot of Solaris, other Unix, and ancient Windows OSs like 2000, XP and 2003 around that is due to be migrated. In this case, these OSs are often classified as “legacy”.
More strategically though, we see that certain companies are making deliberate choices for non-Windows and non-Linux OSs. For example, hosting providers often choose FreeBSD, while security conscious organizations might prefer OpenBSD. In addition, there are the mobile device operating systems like Android and iOS.
This trend should be seen as an extension to the freedom that developers have recently acquired to select “the right tool for the job”. While previously it seemed that Java and .NET, together with C at the low level, were poised to become the only permissible choices in enterprise application development, that notion has become completely obsolete. And with great results. New advanced programming languages have popped up (and existing ones have come back in vogue), and developers are now more productive than ever.
Back to operating systems… In the cloud, support for OSs other than Windows and Linux is very poor, and if they are at all supported it is often as second class citizens. And the issue is even broader than the cloud providers. When implementing an enterprise devops model, you also want your automation to support these OSs. While most configuration management and automation systems do support other OSs, their level of support for these platforms differs greatly. Every tool under the sun supports provisioning a Linux system from scratch and fully automatically installing a full application stack on top. It’s a lot harder with Windows, and you can just forget about doing this for anything else.
These trends resonate well with our belief that the cloud should be made more similar to the datacenter, and should support a customer running any OS of his liking. Also, we believe that snapshot-based automation is a key feature and removes the unfortunate dependency between configuration management and automation. Implementing a full CM solution is hard enough in and of itself, but when used to manage “non-standard” OSs it becomes even harder.
The video below shows four “non-standard” OSs running in the cloud. In this case the VMs run on Amazon Web Services (AWS), but they can run on any cloud that is supported by the Ravello service. The OSs are Solaris 11.1, FreeBSD 10, OpenBSD 5.4 and the soon to be end-of-lifed Windows XP. And not only can these OSs be run on the cloud, full snapshot-based automation capabilities are available to implement fast and repeatable deployments to a known state.
http://www.youtube.com/watch?v=G7BXC0uDxb0Legacy or Freedom to Choose? Running Solaris, *BSD and Windows XP on AWS