Piecing together the NFV provisioning puzzle: Efficient placement and chaining of virtual network functions | Synapse