Operating System

Suggested Approach

Consensus seems to drive us towards VMware and CentOS5 for our first release (and then add more later).

Creation of minimal VMWare Image

This is partly a concept process but is based on the work described at the Scientific Linux site for production of Live CD / USB images. http://linux.web.psi.ch/livecd/build.html - obviously without the stuff specific to the Live process.

In outline an empty VMWare server image is created at a suitable size. Presently this will be 2G but potentially this could be as small as 1G. The script process then mounts the image as part of the host file system ( see http://communities.vmware.com/thread/38764 ) and does the minimal install using yum as described at the Scientific Linux Site. This stage will then make the disk bootable and will put in any required helper scripts.

NB

    * This process should be done on a Centos 5 host. For production purposes perhaps this could be in a VMWare host run on the iptel.org server?

Generation and publication of full VMWare image

This stage again is quite straightforward. A copy of the minimal image is fired up and then (perhaps automatically) it does a yum install SIPExpressBundle. Once the install is complete the image should be cleaned - empty blocks zeroed, spurious logs removed etc and then shut down, compressed and released.

Alternatively a 'primed' minimal image can be published which automatically does the install at the customer site using iptel rpms and other rpm from the Centos system.

Review Of Options

Operating System

The two primary operating systems used by people seem to be Debian-based and RedHat-based (RHEL/CentOS). An interesting (though not surprising) observation is that developers and long-term users of SERi seem to prefer Debian-based distros, while newer users and people trying to run  iptel.org software without own modifications in a production environment seem to prefer RHEL-based distros. 

Debian pros/cons

  • the distro where the developers have the most experience => easier to get help from developers in building the appliance
  • at least seri (semsi? serwebi?) has official Debian packages for releases
  • many, many flavors and people seem to have their preferences, so it is difficult to choose the "right" one
  • seen as a more challenging environment for production use (i.e. easier to f*-up if you don't know what you are doing when installing packages)
  • Ubuntu might be a compromise, but seen by some as a semi-commercial distro not suitable for open-source

RHEL/CentOS pros/cons

  • seems to be the preference of "enterprise" people looking for restricted number of packages with large degree of cross-compatibility between packages, long release and maintenance cycles (v5 will be maintained until 2014)
  • a commercial distro (though CentOS is not, it is based on RHEL), which some people don't want to support, even by using CentOS
  • lack of availability of packages and slow release cycles means that OS packages may be outdated or missing and source compile is required
  • newer, more advanced functionality is not available in the distro (is there any actual things people will miss?)

Virtual Machine Environment

The main idea is to make iptel.org software VERY available for people, both for testing and to quickly get something running with production quality. Thus, we need to select the best distribution of the virtual machine, so we actually reach people. There are the following choices: LiveCD, vmware, Amazon EC3, Xen, rpath. LiveCD seems not suited for some of the production-setting goals and Xen in itself is probably not that available for the target group (who has a Xen-ready server around?).

VMware pros/cons

  • Very available on Windows, Mac and Linux through VMware Player (free), Server (free), Workstation, Fusion, and ESX
  • Straight-forward packaging of a "virtual appliance"
  • Recommended disk size and packaging creates a small OS image in zipped format (something like 3-400 Mb) as long as the disk has zero-filled empty space
  • As iptel.org software really needs a public IP to function properly, a server with VMware Server or ESX is required (testing on a personal computer is possible, but NATi handling etc must be tweaked and Internet calling is not possible)
  • Probably having the broadest reach
  • CentOS and Ubuntu "starting" appliances are available, so we don't have to start from scratch

Amazon EC3

  • As it also hosts the virtual machine, as well as stores a template for a machine, a running server with a public IP address is available within minutes
  • No local computer or software installation is needed
  • Hosting of the template(s) costs money (S3 storage) (can we find a sponsor?)
  • Creation and running of a virtual machine instance costs money for the user
  • Packaging and deployment of the virtual machine can be entirely scripted
  • http://www.rightscale.com/ has a free web-based interface to EC3 that allows use without any scripting or command line work. It also has a free 10 hour server run time as part of the offering to attract people
  • CentOS and Ubuntu "starting" appliances are available, so we don't have to start from scratch

RPath

  • Has a life-cycle model where patching and maintenance can be done very effectively
  • the packaging is quite complex and proprietory (though open-source), so the learning curve is steep for those who shall manage the virtual machine
  • No CentOs or Ubuntu "starting" appliance seems to exist, only an rpath linux distro, which people probably don't want to run
  • seems to be more suited for appliance vendors that want to standardize and don't allow others into the OS
  • allows building of iso, amazon ecc, and vmware image

Scripted Alternative

There's possibly a way to automate and create Amazon ECC, xen, and vmware images for both centos and ubuntu (if we want to).

Steps:

  1. Use a linux vmware machine  (with apt and/or yum installed).
  2. Bootstrap a new OS installation into either a dd image or a physical (empty) disk using the same principles found in the scripts used by Rightscale (http://info.rightscale.com/content/rightimages-changelog, btw, Rightscale, thanks for publishing the scripts!). Make sure that the script has sections for installing both vmware tools and Amazon stuff (with a selection), and Xen based on options
  3. Upload the image to Amazon S3 if that was the target
  4. ...or create vmdk file for vmware either by using qemu-img or http://liveview.sourceforge.net/ or by simply run the whole process inside a vmware virtual machine and not use dd, but a virtual disk as target for the OS bootstrap (voila! you already have a vmdk file)
  5. A dd image should also be easy to convert to iso or Xen

The script bootstrapping the OS installation can also install and configure all iptel.org software.  If we force ourselves to put all steps into a script, we will benefit greatly in maintenance of the image, and the script itself documents all the details.

Home |  Recent changes |  Search |  Glossary |  Sitemap |  Login