OpenSolaris for building VM templates?
By Gabor Puhalla on Jul 09, 2009
We suggested to try the OpenSolaris 2008.11 JeOS prototype as a building block for building application VM templates earlier this week. Check out the blog entry. I thought, it would be worth spending a couple of words on, why should
a VM template developer consider using OpenSolaris as a foundation of
his/her VM Template at all. Hence, let me list a couple of features that can make OpenSolaris compelling for VM Template developers.
- Zettabyte File System (ZFS) - It enables snapshotting on file system level. Snapshotting is becoming more modular on this level. One doesn't need to snapshot the whole VM, a particular portion of the file system can do the job. These snapshots would be self-contained too - they could stay within the VM. All in all, you could save time, space and deployment of VM level tooling. These may be useful both in development or production, dependently on the use case.
- Solaris Containers - They can enable a multi-OS instance deployment within a single VM. Again a self-contained multi-OS deployment option that is native to OpenSolaris that one can implement within a VM without a need for extra VM level tools that handle multiple instances. You could forget about adapting your multi-instance deployment to various virtualization platforms that you target with your VM template. May be useful again both in development or production, dependently on the use case.
- Image Packaging System (IPS) - Enables easy updates of the OS and layered software, besides others. This could allow you to build VM templates their's download size is small and their's functionality you could update incrementally after the initial deployment of your template.
- Service Management Framework (SMF) - A mechanism to define, deliver, and manage
self-healing application services in OpenSolaris.
It doesn't only help users to build services on their systems. They can be used to implementing some of the VM template internals. We used it to build GlassFish Web Space Server 10 VM Template internals - handling dynamic assignment and display of IP
addresses in the console, for example.
- Crossbow network virtualization - Provides the building blocks for network virtualization and resource control by virtualizing the stack and NIC around any service (HTTP, HTTPS, FTP, NFS, etc.), protocol or virtual machine.
ZFS, IPS and SMF are part of the OpenSolaris 2008.11 JeOS prototype already. Try it out! Solaris containers and Crossbow are yet to come in subsequent iterations of the JeOS, specifically in the OpenSolaris 2009.06 JeOS prototype.
There are, of course, more OpenSolaris features and benefits that may be worth mentioning in the list above. I understand that each feature listed above have many more benefits than what I mentioned and that some may have certain limitations, when it comes to building VM templates. My intention isn't to give a comprehensive study on them. It is more to scratch the surface of OS features that VM template developers can benefit from. I'm looking forward to seeing a continued discussion about OpenSolaris features and more specifically about features that VM template developers or users could appreciate.