1. A processor-implemented method comprising: obtaining, based, in part, on system and pattern constructs associated with an application, a cloud-infrastructure independent representation of the application, wherein the cloud infrastructure independent representation comprises a representation of an underlying pattern of resource utilization of the application, and wherein the application is part of a class of applications comprising one of: master-slave applications, or map-reduce applications, or multi-tier applications; and deploying the application on one or more cloud infrastructures, based, in part, on the cloud-infrastructure independent representation of the application.