1. A processor-implemented method for running a distributed computing application on at least one of a plurality of cloud infrastructures, the processor implemented method comprising: deriving an infrastructure independent representation of the distributed computing application; and running the distributed computing application on the at least one cloud infrastructure by utilizing at least one cloud-specific implementation of the infrastructure independent representation of the distributed computing application, and wherein the at least one cloud-specific implementation corresponds to the at least one cloud infrastructure.