Network Functions Virtualization (NFV) is an emerging initiative where standard IT virtualization evolves to consolidate network functions onto high volume servers, switches and storage that can be located anywhere in the network. One of the main challenges to implement NFV is the problem of allocating Virtual Network Functions (VNFs) on top of the physical network infrastructure. Up to now, existing approaches dealing with this problem have not considered the possibility of failures in this infrastructure. This paper discusses several measures on how backup resources can be integrated into the embedding of VNFs in order to protect network services from failures; furthermore, a resource allocation algorithm is proposed that considers resilience constraints. The algorithm exploits the benefits of sharing backup network resources in order to reduce the resource cost spent for providing resilient allocations.