1. A method for sharing resources in a network, the method comprising: creating, by an abstraction layer, a virtual resource, the virtual resource corresponding to a task to be performed by the network on behalf of a customer; and mapping, by a network device, the virtual resource to multiple physical resources in a resource pool of the network.