主权项 |
1. A system for generating a virtual server image of a software application, which is suitable for cloud deployment, comprising:
a computer including a processor, and a memory for use in creating virtual server images; an appliance configuration file that indicates configuration settings for use with a software application that includes an application code and application data, wherein the configuration settings include one or more virtual machine, classpath, and environment-variable settings to be used with the software application; and an appliance builder which is used to generate a virtual server image containing both the software application and a virtual machine capable of executing the software application, including performing the steps comprising
receiving an indication as to a hypervisor type that will be used with the application,reading the appliance configuration file to determine the configuration settings therein,writing, into the memory or a similar storage, a bootable component of a virtual machine particular to the hypervisor type and in accordance with the configuration settings, wherein different forms of bootable component are used for different hypervisor types,writing, into the memory, a non-bootable component of the virtual machine, together with the software application, wherein the non-bootable component is used to execute the software application,configuring the bootable component to load and execute the non-bootable component, including updating the bootable component with the location of the non-bootable component and the configuration settings provided by the appliance configuration file, andoutputting the bootable component and the non-bootable component, as configured by the configuration settings, as the virtual server image of the software application;wherein the virtual server image is preconfigured for deployment to a cloud comprising a plurality of physical computing machines that includes the hypervisor type indicated such that the bootable component is preconfigured to boot, and load and execute the non-bootable component and application without further configuration on said plurality of physical computing machines. |