Abstract:
Some embodiments provide a method that, at a caching network of a hosting and storage system that includes several nodes for hosting virtual machines for users, receives a request for an image of a particular computer system configuration for deployment as a virtual machine on a particular node of the hosting system. The method determines whether the requested image is presently stored on the caching network. When the image is present on the caching network, the method streams the image to the particular node of the hosting system for deployment as a virtual machine on the particular node. When the image is not presently stored on the caching network, the method retrieves a copy of the image from a permanent storage network and then streams the image to the particular node of the hosting system for deployment as a virtual machine on the particular node.
Abstract:
Some embodiments provide a method that defines a user interface (UI) that displays several UI elements representing several virtual machines deployed in a particular configuration for a particular user in a hosting and storage system that includes several nodes for hosting user specified virtual machines. The method receives input from the user through the UI to save the particular configuration of virtual machines. For each virtual machine in the particular configuration, the method stores an image of the virtual machine. The method stores data representing the particular configuration of virtual machines. The data includes references to the stored images of the virtual machines and connections between the virtual machines.
Abstract:
Some embodiments provide a method for creating an image of a virtual machine. The method identifies a particular computer system operating as a virtual machine with a particular configuration on a hardware resource of a hosting system that includes several hardware resources. The method captures data representing the particular computer system. Capturing the data includes copying a particular section of the data, computing a checksum for the particular section of the data, and streaming the particular section with the computed checksum to a storage.
Abstract:
Some embodiments provide a method for managing a hosting system that includes several nodes for hosting several virtual machines. The method identifies a particular size of disk volume to monitor within the hosting system. The method determines whether the number of disk volumes of the particular size that are (i) built on a set of hardware resources of a node of the hosting system and (ii) not allocated to a specific virtual machine falls below a threshold. When the number of disk volumes of the particular size falls below the threshold, the method determines at least one particular node on which to build a new disk volume of the particular size. The method sends instructions to the particular node to build a disk volume of the particular size. Some embodiments monitor images of a particular computer system within the hosting system.
Abstract:
Some embodiments of the invention provide a graphical user interface for receiving a server configuration (e.g., receiving a new configuration or a modification to an existing configuration). The graphical user interface (UI) includes several UI control elements for defining components of the server configuration. It also includes a display area for displaying graphical representations of the defined components of the server configuration. Examples of control elements in some embodiments include control elements for adding, deleting, and modifying servers. In some embodiments, at least one control element is displayed when a cursor control operation is performed on the UI. The cursor control operation (e.g., a right hand click operation) in some embodiments opens a display area that shows the control element. In some embodiments, at least two different components in the server configuration correspond to two different layers (e.g., a web server layer and a data storage layer) in the server configuration. The display area of some embodiments includes multiple tiers, where each tier is for displaying graphical representation of components in a particular layer of the server configuration. At least two tiers in some embodiments are displayed simultaneously in the display area.
Abstract:
Some embodiments provide a method for automatedly allocating hosting resources controlled by different hypervisors. The method receives a configuration for a computer system specifying a set of resources required to operate as a virtual machine on a node of a hosting system. The hosting system includes several nodes, where each node includes resources for hosting at least one virtual machine and one of several hypervisors for managing access of the virtual machine to the resources of the node. The method identifies a particular node from the several nodes with sufficient available resources to host the virtual machine based on the set of resources specified in the configuration. The method allocates the set of resources from the particular node by directing a hypervisor of the particular node to apportion the set of resources on the particular node, the set of resources for hosting the virtual machine on the particular node.
Abstract:
Some embodiments provide a method. The method interfaces with several nodes of a hosting system to collect statistics that includes available resources of each node for hosting virtual machines. The method identifies a set of nodes with sufficient available resources to host a configuration for a virtual machine based on the collected statistics. The method determines an optimal node from the set of nodes that hosts the configuration with a particular set of performance parameters that yields improved performance than when hosting the configuration using any of the other nodes in the set of nodes. The method deploys the configuration for the virtual machine to the optimal node.
Abstract:
Some embodiments provide a hosting system for managing virtual and dedicated servers. The system includes a front-end user interface (UI) that allows users to configure, provision, and control virtual and dedicated servers through UI elements. The back-end system includes different actuators that perform different tasks related to the virtual and dedicated server. To interface with these different actuators, the hosting system includes a remote management component (1) that receives a user request from the front-end UI, (2) identifies an actuator that can fulfill the user request, and (3) sends the user request to the identified actuator.
Abstract:
Some embodiments provide a method for a server hosting environment that includes several nodes, where each node is for using one or more hypervisors in order to host several configurations of several computer systems. The method receives a first configuration of a particular computer system. The first configuration accesses a first set of virtual hardware provided by a first hypervisor of a first node. The method generates a second configuration that is based on the first configuration. The second configuration is operable on a different second hypervisor of a second node in the several nodes. The method installs the second configuration on the second node. The second configuration accesses a second set of virtual hardware provided by the second hypervisor to host the second configuration using the second hypervisor.
Abstract:
Some embodiments of the invention provide a graphical user interface for receiving a server configuration (e.g., receiving a new configuration or a modification to an existing configuration). The graphical user interface (UI) includes several UI control elements for defining components of the server configuration. It also includes a display area for displaying graphical representations of the defined components of the server configuration. Examples of control elements in some embodiments include control elements for adding, deleting, and modifying servers. In some embodiments, at least one control element is displayed when a cursor control operation is performed on the UI. The cursor control operation (e.g., a right hand click operation) in some embodiments opens a display area that shows the control element. In some embodiments, at least two different components in the server configuration correspond to two different layers (e.g., a web server layer and a data storage layer) in the server configuration. The display area of some embodiments includes multiple tiers, where each tier is for displaying graphical representation of components in a particular layer of the server configuration. At least two tiers in some embodiments are displayed simultaneously in the display area.