1. A computer-implemented method of deploying a service workflow for a business process in a hybrid cloud environment, the computer-implemented method comprising: receiving, by a computing device, a service workflow comprising an ordered plurality of services; for each of the plurality of services, calculating, by the computing device, a heuristic utility value for the service; choosing a best node for a first service of the plurality of services having a smallest heuristic utility value; placing, by the computing device, an identifier for the best node in a node list; identifying, by the computing device, a plurality of potential next nodes by: if the best node comprises a parallel sub-workflow, selecting a data center that has a minimum run-time value from a plurality of data centers that can perform one or more services associated with the best node and generating the plurality of potential next nodes from the selected data center, and otherwise, generating the plurality of potential next nodes based on a data center associated with the service for the best node; determining, by the computing device, a heuristic utility value for each of the plurality of potential next nodes; adding, by the computing device, identifiers for the potential next nodes to the node list; selecting, by the computing device, a new best node based on the heuristic utility values associated with the nodes in the node list; repeating the identifying, determining, adding and selecting operations until the best node equals a node containing only the last service in the plurality of services; and identifying, by the computing device, one or more data centers for each service in a service workflow based on the best node.