1. A method for providing a cloud-based computing service to a user, said method comprising: receiving a request for the computing service to be performed for the user, wherein the request includes a selection of at least one flow-slice, said at least one flow-slice comprising a unit of network use that is defined based upon a user selection of a subset of a plurality of parameter options associated with the network use and a user selection of at least one connection between the selected subset of the plurality of parameter options, and wherein the at least one flow-slice comprises a first type of flow-slice and a second type of flow-slice, wherein the first type of flow-slice includes a connection that connects a pair of end-point networking components to each other, wherein the second type of flow-slice includes a connection that connects groups of end-point infrastructure components together; estimating workloads to be performed by a plurality of infrastructure components to satisfy the user-selected subset of the plurality of parameter options and the at least one connection between the selected subset of the plurality of parameter options of the at least one flow-slice; and determining, using a processor, a provisioning scheme for the plurality of infrastructure components to implement the estimated workloads on the plurality of infrastructure components.