We have seen significant growth in size and complexity of general purpose OS over a last decade. This expansion has come from its need to support a growing number of applications and devices. To support the increasingly complex needs of this myriad of applications, OS vendors have added more interfaces, libraries, and functions with each release. As a result, operating systems have grown like balloon, becoming bloated, complex, and far less secure. Most operating systems now require at least 1 GB of RAM just to run because of the various necessary and unnecessary services that are loaded into memory, as well as a few GB of disk space. Because the foot print is huge, keeping the OS and your data center secure requires that it be patched more often than ever before.
Most servers today run just a single application – one web server or one print server or one Exchange server – but never multiple applications all at once on the same OS instance. The question then is, if you run just one app per server, wouldn’t it make more sense to have only the OS components needed for that app rather than a general purpose OS that is slow, less secure and hard to manage? Do you really need a Graphics Driver on your Exchange server? Do you really need all those services that are running in memory?
By tweaking the operating system interfaces, functions, and libraries and automatically switching off the unnecessary services that our application does not require, and by tailoring it to the needs of the application, we are now down to a lithe, high performing, secure operating system – Just Enough of the Operating System, that is, or JeOS.
JeOS is the abbreviation (pronounced “juice”) for the concept of Just Enough Operating System.
Ubuntu JeOS is an efficient variant of the popular desktop and server operating system, configured specifically for virtual appliances. JeOS is a specialized installation of Ubuntu Server Edition with a tuned kernel that only contains the base elements needed to run within a virtualized environment.
Users deploying virtual appliances built on top of JeOS will benefit from:
- better perfomances on the same hardware compared to a full non-optimized OS,
- smaller footprint of the virtual appliance on their valuable disk space,
- fewer updates and therefore less maintenance than a full server installation.
Why Should we care?
An OS finely tuned to the application it supports is smaller, more secure, easier to manage, and higher performing than a general purpose OS. A smaller footprint means IT organizations can run more instances per server. Tailoring the OS specifically to the app enables the removal of vulnerable components such as the browser from Windows and therefore significantly reduces the number of vulnerabilities and patches required to address those vulnerabilities.
So finally JeOS makes sense. But, how do one really make software hassle free? How do we enable customers to gain value from their enterprise applications immediately and not get bogged down in managing the OS? We run JeOS in a Virtual Appliance. Virtual Appliances are pre-built, pre-configured, ready-to-run enterprise software applications packaged along with an operating system within a virtual machine. With the ISV tailoring the general purpose operating system down to a JeOS and packaging it along with their app inside a Virtual Appliance, all of the headaches associated with deploying, patching, and managing the OS are removed. The ISV now takes responsibility for managing the Virtual Appliance (which includes both the JeOS and the app) and the customer can now focus managing their business, not the OS. Furthermore, because the ISV now has full accountability for the entire Virtual Appliance, customers can be assured that they will invest more in fully integrating and testing the solution so that it works better together, faster.
- BEA: BEA announced in December 2006 that they are working on a technology that allows Java applications to run directly on virtualized hardware running VMware Infrastructure to offer better flexibility and efficiency. WLS-VE combines WebLogic Server with BEA’s Liquid VM, a virtualization-optimized JVM. Liquid VM is a slimmed down OS written only to run Java virtual machines and is not a general purpose OS. Supposedly it requires only 100MB of RAM. Now you’re talking…
- VMware: As part of VMware ACE 2, VMware is shipping a virtual appliance that offers management capabilities. We ripped out parts of Debian we didn’t need and reduced the OS size to be ~20 MB. That’s all the OS we needed to run the ACE Management Server.
- Microsoft: One of the interesting features first introduced in Windows Server 2003 and enhanced immensely in Longhorn is roles, described in the Server Core section on the Longhorn overview page.