With regard to the configuration question: Imagine if you wanted to build an personalized email client that talks to different providers. One person may use only gmail, while another would use both gmail and hotmail. When deploy the xen image, each person will have their own personalized URI that they will talk to.
Prior to actually creating the image, would you build a personalized
config.ml with personalized oauth keys ( for instance ) or other tokens specific to the image that your are building or is there another way to handle that situation? I know it's possible to customize the config.xl ( for MAC or IP address ), so you would follow a similar idea for the application image specific things?
Another example would be a generic worker process that handles messages from an AMPQ server. You will have a different AMQP server in production and a different one in dev/QA. How would you handle the differences in configuration, while keeping the application logic the same?