A computer-implemented method for dynamically managing requests for computing capacity provided by a program execution service, the method comprising: under control of the program execution service that provides a plurality of computing nodes that are each configurable to execute one or more programs of multiple users of the program execution service, receiving from a user of the program execution service a request to generate a virtualization environment for execution of a user application during a requested period of time, the request comprising information associated with the user application that permits the program execution service to execute a program based at least in part on the user application; automatically generating the virtualization environment, the virtualization environment including a user-selectable operating system and one or more program services provided by the program execution service, the program services comprising: a load balancer configured to distribute workload across one or more of the plurality of computing nodes or one or more instances of the virtualization environment, a monitoring interface configured to allow the user to monitor execution of the program, a load scaler configured to scale computing resources of the program execution service in response to variations in demand for execution of the program, and a plurality of database management services; determining from the plurality of computing nodes of the program execution service a group of computing nodes that can satisfy the request by the user; executing one or more instances of the virtualization environment on the group of computing nodes during the requested period of time; receiving from the user a request to make at least one change to the virtualization environment or to the one or more instances executing the virtualization environment on the group of computing nodes during the requested period of time; and automatically implementing the at least one change during the requested period of time. under control of the program execution service that provides a plurality of computing nodes that are each configurable to execute one or more programs of multiple users of the program execution service, receiving from a user of the program execution service a request to generate a virtualization environment for execution of a user application during a requested period of time, the request comprising information associated with the user application that permits the program execution service to execute a program based at least in part on the user application; automatically generating the virtualization environment, the virtualization environment including a user-selectable operating system and one or more program services provided by the program execution service, the program services comprising: a load balancer configured to distribute workload across one or more of the plurality of computing nodes or one or more instances of the virtualization environment, a monitoring interface configured to allow the user to monitor execution of the program, a load scaler configured to scale computing resources of the program execution service in response to variations in demand for execution of the program, and a plurality of database management services; determining from the plurality of computing nodes of the program execution service a group of computing nodes that can satisfy the request by the user; executing one or more instances of the virtualization environment on the group of computing nodes during the requested period of time; receiving from the user a request to make at least one change to the virtualization environment or to the one or more instances executing the virtualization environment on the group of computing nodes during the requested period of time; and automatically implementing the at least one change during the requested period of time.