VM template assembly details: Step 1 - Create JeOS Instance
By Gabor Puhalla on Jul 06, 2009
This is the fourth entry in a series that's objective is to share our experience with building VM templates. Rather then describing a general approach or process, we are sharing our experience through the specific example of building the Sun Glassfish Web Space Server 10 VM Template that we announced in June this year.
Introduction of the OpenSolaris 2008.11 JeOS
The OpenSolaris 2008.11 JeOS prototype
used as the foundation for building our VM template. You can use the JeOS as a building block, customize it by adding and subtracting
packages and configuring it to meet the needs of your specific
template/application. Existence of a pre-built and pre-configured JeOS
simplifies the assembly process by avoiding template developers having
to build JeOS building block images from scratch.
The OpenSolaris JeOS is a headless (CLI only), reduced size (150+MB compressed), server oriented OS (includes sysadmin utilities or security libraries, excludes developer and office productivity tools) image. It is designed for building VM templates for middleware products or enterprise applications and it is geared towards sysadmin or enterprise users.
And BTW, the OS supports both 32 and 64 bit execution to enable usage on older hardware or virtualization platforms. It includes GNU tooling too to make the usage convenient for Linux and other Unix-like OS users - hoping that it can reach a broad audience.
The JeOS is available in various VM formats (VirtualBox, xVM Server/Hypervisor or VMWare). You need to chose, which fits best your development environment. Starting with a server based platform (xVM Server/Hypervisor of VMWare ESX on a physical machine that is strong on resources) is practical in case that you have a server machine handy. It may be difficult to estimate resources that your final VM template will need, before you start the assembly process. A strong, server machine with virtually endless resources can give you space for experimentation and allow you to reduce the size later on in the process, as you learn more about the dynamics of the integrated stack. If you feel comfortable with developing the image on a desktop or on a notebook, you are still welcome to start off with one of desktop oriented formats.
The screenshot of the OVF processing wizard of VirtualBox shows, how we configured the VM. This configuration needs to be tailored to suite specific deployment needs. You will likely need to increase the memory assignment, if you build enterprise software deployments or may decide decreasing it in case of need (384 MB, for example, may be still acceptable for an evaluation of the JeOS or even development use on systems weaker on HW resources). Network configuration is an aspect to consider carefully too dependently on, whether you want to make your application available for the outer world or not. To get a better sense for what VM attributes to we considered for the GlassFish Web Space Server 10 VM Template, you could take a look at the blog about its technical design.
Should you be interested in learning more about the background of the image, I recommend to take a look at Rudolf VirtualGuru Kutina's blog, who led the definition and the technical implementation of the JeOS.
Find the next entry in the series here.