A Framework for QoS-Aware Execution of Workflows over the Cloud