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 the streams manager determines a first operator of the flow graph is underperforming and a second operator of the flow graph is overperforming, the streams manager modifies the flow graph to move the second operator of the streaming application to a virtual machine.