I am interested in trying to package a software product consisting of a large linux software stack as a so-called "virtual appliance" to avoid a painful, painful installation procedure. My needs are probably similar to the author of this question and the answers here were helpful, but I have some specific questions.
The app I am trying to distribute consists of several rails apps and some other servers, daemons, and jobs that need to run via cron, etc. Currently it is running in a Ubuntu server.
What is the best way currently available to create and package a virtual machine like the above? I have been looking at JeOS which appears to be outdated, but has some tutorials written about the process. Also apparently the Open Virtualization Format is a good one for distributing virtual appliances, but I can't find any tutorials on creating such an image.
How would we go about distributing the image and updates in such a way that user data is preserved?