A method comprising: receiving allocation input identifying virtual computing resources to be attached to a computing session, the computing resources including a first cluster of at least one virtual machine that operates on a first hardware-type and a second cluster of at least one virtual machine that executes on a second hardware-type; receiving secure connectivity input to enable virtual machines of both the first and second clusters to communicate data, wherein at least one of the allocation and secure connectivity inputs is received to update a computing session previously established within a virtual computing environment, the at least one of the allocation and secure connectivity inputs received as an application programming interface (API) or web services call via a network from a program executing within the first cluster; allocating the computing resources within the virtual computing environment to establish a computing session according to the allocation input and establishing secure connectivity between the allocated computing resources according to the secure connectivity input; initiating execution of a program within the first cluster that offloads at least one computing task to the second cluster to leverage a performance enhancing capability of the second hardware-type, the computing task offloaded to the second cluster including the first cluster copying of data from the first cluster to a distributed file system to allow virtual machines of the second cluster to create, read, update, and delete data; and upon completion of program execution, deallocating virtual machines of at least the second cluster, wherein the allocating of computing resources is performed after receiving the secure connectivity input and prior to offloading the at least one computing task to the second cluster. receiving allocation input identifying virtual computing resources to be attached to a computing session, the computing resources including a first cluster of at least one virtual machine that operates on a first hardware-type and a second cluster of at least one virtual machine that executes on a second hardware-type; receiving secure connectivity input to enable virtual machines of both the first and second clusters to communicate data, wherein at least one of the allocation and secure connectivity inputs is received to update a computing session previously established within a virtual computing environment, the at least one of the allocation and secure connectivity inputs received as an application programming interface (API) or web services call via a network from a program executing within the first cluster; allocating the computing resources within the virtual computing environment to establish a computing session according to the allocation input and establishing secure connectivity between the allocated computing resources according to the secure connectivity input; initiating execution of a program within the first cluster that offloads at least one computing task to the second cluster to leverage a performance enhancing capability of the second hardware-type, the computing task offloaded to the second cluster including the first cluster copying of data from the first cluster to a distributed file system to allow virtual machines of the second cluster to create, read, update, and delete data; and upon completion of program execution, deallocating virtual machines of at least the second cluster, wherein the allocating of computing resources is performed after receiving the secure connectivity input and prior to offloading the at least one computing task to the second cluster. <EOS>