1. A method of network resource management, the method being implemented by a physical processor that executes machine readable instructions, the method comprising: responsive to determining that a scalable cloud application is to be scaled from a first network to a second network, creating a model of the scalable cloud application by: defining a set of substitution points within the model, wherein each substitution point comprises information about a set of requirements for the model at the substitution point and a set of resource candidates that could be used to satisfy the set of requirements; and codifying a set of policies that express which sourcing option to use for each substitution point; determining, based on the set of policies and the set of substitution points, a set of sources that comprise resources used to deploy the scalable cloud application; instantiating the scalable cloud application in the second network based on the model; and during instantiation of the scalable cloud application in the second network, receiving an indication of a first resource from the set of sources to use at a first substitution point in deployment of the scalable cloud application.