A computer-implemented method for provisioning a cloud-based service, comprising: a) receiving at a cloud marketplace server a user request to provision a cloud-based service element, wherein the user request includes a condition; in response to the user request: b) provisioning the cloud-based service element, the cloud-based service element providing an application service from a data center (104, 120), the application service accessible using an application program interface via a network, wherein the provisioning b) includes scheduling the cloud-based service element according to when the condition occurs; c) selecting, based on a location of the user, the data center (104, 120) to provide the cloud-based service element from a plurality of data centers (104, 120) in disparate locations such that the selected data center (104, 120) is in proximity of the location of the user; and d) determining a topology of the dedicated network connection based on location of the selected data center (104, 120); and e) provisioning a dedicated network connection on the network connected to the data center (104, 120), wherein the dedicated network connection is a connection with bandwidth reserved for the user, the dedicated network connection connecting the data center (104, 120) to another location geographically disparate from the data center (104, 120) and reserving network resources on the network between the data center (104, 120) to the other location to be used by the cloud-based service element, wherein the provisioning e) includes scheduling the dedicated network connection according to when the condition occurs and configuring switching devices (110, 112) on the network, the switching devices (110, 112) selected based on the topology, wherein the provisioning the cloud-based service element in b) is performed together with the provisioning the dedicated network connection in e), to thereby enable the cloud-based service element to utilize the dedicated network connection. a) receiving at a cloud marketplace server a user request to provision a cloud-based service element, wherein the user request includes a condition; b) provisioning the cloud-based service element, the cloud-based service element providing an application service from a data center (104, 120), the application service accessible using an application program interface via a network, wherein the provisioning b) includes scheduling the cloud-based service element according to when the condition occurs; c) selecting, based on a location of the user, the data center (104, 120) to provide the cloud-based service element from a plurality of data centers (104, 120) in disparate locations such that the selected data center (104, 120) is in proximity of the location of the user; and d) determining a topology of the dedicated network connection based on location of the selected data center (104, 120); and e) provisioning a dedicated network connection on the network connected to the data center (104, 120), wherein the dedicated network connection is a connection with bandwidth reserved for the user, the dedicated network connection connecting the data center (104, 120) to another location geographically disparate from the data center (104, 120) and reserving network resources on the network between the data center (104, 120) to the other location to be used by the cloud-based service element, wherein the provisioning e) includes scheduling the dedicated network connection according to when the condition occurs and configuring switching devices (110, 112) on the network, the switching devices (110, 112) selected based on the topology,