1. A computer system, comprising: one or more processors; and a computer readable medium in communication with the one or more processors, the computer readable medium having encoded thereon a set of instructions executable by the computer system to perform one or more operations, the set of instructions comprising: instructions for storing, in a cloud computing environment, a plurality of machine images, each machine image corresponding to a virtualized computer system; instructions for providing a user interface for users to browse the plurality of images, the user interface providing information about each of the machine images, the information comprising user comments about one or more of the machine images; instructions for receiving, from a first user and via the user interface, a selection of a first machine image corresponding to a first virtualized computer system, the first virtualized computer system comprising an application environment for demonstrating an application; instructions for creating, in response to the selection of the first machine image, a second machine image based on the first machine image, the second machine image corresponding to a second virtualized computer system comprising the application environment; instructions for instantiating the second virtual computer system, based on the second machine image, to display the application environment of the second virtualized computer system for the first user and allow the first user to interact with the application environment of the second virtualized computer system; instructions for customizing the application environment of the second virtualized computer system, based at least in part on user interaction with the application environment of the second virtualized computer system, such that the second virtualized computer system comprises a customized application environment for demonstrating the application for a first customer; instructions for receiving, via the user interface, an indication from the first user that the first user has finished interacting with the customized application environment of the second virtualized computer system but that the customized application environment should be saved for further user interaction at a later time; instructions for storing the second machine image, corresponding to the second virtualized computer system, in the cloud computing environment, based at least in part on the indication from the first user; instructions for receiving, via the user interface, information about the second machine image, the information about the second machine image including an indication that the second machine image can be shared with other users; instructions for displaying, in the user interface, the information about the second machine image, based at least in part on the indication that the second machine image can be shared with other users; instructions for receiving, via the user interface, a request to access the second virtualized computer system for further user interaction; instructions for re-instantiating the second virtualized computer system, in response to the request, to allow further user interaction with the application environment of the second virtualized computer system; instructions for tracking an amount of time in which the second virtualized computer system is instantiated; instructions for accounting for use of the second virtualized computer system, based at least in part on the amount of time in which the second virtualized computer system is instantiated; instructions for receiving, via the user interface, user input indicating that that the customized application environment should be exported; instructions for exporting the customized application environment for installation on an actual computer system; instructions for receiving, from a second user and via the user interface, a selection of the second machine image; instructions for creating, in response to the selection of the second machine image, a third machine image based on the second machine image, the third machine image corresponding to a third virtualized computer system comprising the customized application environment; instructions for instantiating the third virtual computer system, based on the third machine image, to display the customized application environment of the third virtualized computer system for the second user and allow the second user to interact with the customized application environment of the third virtualized computer system; instructions for further customizing the application environment of the third virtualized computer system based at least in part on user interaction with the application environment of the third virtualized computer system, such that the third virtualized computer system comprises a second customized application environment for demonstrating the application for a second customer; and instructions for storing the third machine image, corresponding to the third virtualized computer system, in the cloud computing environment.