1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a streaming application residing in the memory and executed by the at least one processor, the streaming application comprising a flow graph that includes a plurality of operators that process a plurality of data tuples; and a streams manager residing in the memory and executed by the at least one processor, the streams manager monitoring performance of the streaming application, and when performance of the streaming application needs to be improved, the streams manager requests a cloud manager to provision at least one virtual machine with logic to implement at least one of the plurality of operators, wherein the request to the cloud manager specifies: a number of virtual machines to provision; for each of the number of virtual machines to provision: a specified streams infrastructure to provision; and at least one specified component of the streams application to provision in the virtual machine; and after the cloud manager provisions the at least one virtual machine, the streams manager modifies the flow graph to include the at least one virtual machine in the flow graph of the streaming application.