1 октября, 2013
In 2005, Sun Microsystems open sourced Solaris, its renowned Unix operating system, eventually to be released as a distribution called OpenSolaris. Among the earliest adopters and most effective advocates of OpenSolaris was Ben Rockwood, who wrote The Cuddletech Guide to Building OpenSolaris in June, 2005 – the first of his many important contributions to the nascent OpenSolaris community. Meanwhile, Joyent’s CTO Jason Hoffman was frustrated by the inability of most operating systems to answer seemingly-simple questions like: “Why is the server down? When will it be back up? … Now that it’s back up, why is my database still slow?”
Jason knew that these questions would be a lot easier to answer on Solaris-based systems, and recognized Sun’s open-sourcing initiative as a huge opportunity. He hired Ben, and Joyent became one of the most innovative users of the open sourced Solaris kernel (“Solaris 11 Nevada builds”), over the years amassing a great deal of know-how in tweaking and tuning it for Joyent’s cloud computing needs.
After acquiring Sun Microsystems in 2010, Oracle Corp. closed OpenSolaris. Fortunately, an alternative — Illumos, a new fork of Solaris – wasalready in the works , and many Solaris engineers had left Oracle and were free to contribute to it. Unsurprisingly, some of those engineers ended up at Joyent, as part of a talented team that now contributes very substantially to Illumos, extending it in key areas like KVM (kernel virtual machines), as well as enhancing the Illumos kernel specifically for cloud use.
What does it mean for an operating system to be designed “for” cloud computing? The fundamental challenge for a cloud computing OS is to present a single server to many (and varied) customers, while making each customer feel as if they are the only one using that machine. From the user’s perspective, a cloud OS has to be:
For the cloud datacenter operator, the OS additionally must provide:
From Illumos, SmartOS inherits powerful features that address these needs. We’ll give a brief overview here; some of these topics will be covered in depth in future posts.