The emergence of Network Function Virtualization (NFV) technology has aroused keen interest to design, manage and deploy network services in a flexible, automated and vendor-agnostic manner. Implementing NFV technology is expected to be a win-win solution for both service providers and costumers. However, this paradigm shift, sparked by NFV, calls for a progressive abandon of network services that are provided as hardware appliance and rather it proposes a fully or partially virtualized environment that offers software modules called Virtual Network Functions (VNFs). This shift rises a set of challenges related to service deployment and operation such as orchestration and management, service resiliency, Quality of Service (QoS) and resource provisioning among others. Furthermore, the core question that needs to be solved within NFV context is “What is the best way to place and chain VNFs that form a service in order to meet Service Level Agreement requirements (costumer side) while optimizing resource usage (service provider side)?”.This thesis investigates the problem of VNF Placement and Chaining considering service requirements such as end-to-end delay, service availability and energy consumption and proposes a set of algorithms and mechanisms that aim to achieve an optimized deployment of the requested/provided services. Our contributions in this thesis are threefold. First, we propose a delay-aware Placement and Chaining algorithms for delay-sensitive applications over NFV networks. The proposed algorithms aim to meet the appropriate end-to-end delay defined according to the deployed service (VoIP, Streaming, etc.). Second, we provide a comprehensive service availability benchmarking and we propose two availability-aware mechanisms for VNFs chain. The aim is to provide resilient service provisioning by fine-tuning the parameters of the protection scheme (the number, the type, the placement and the size of the spare instances) needed to reach a predefined availability level, despite network failures. Finally, we propose a framework architecture that explores the possibility to extend the virtualization paradigm to Internet of Things (IoT). Toward this end, we define an energy-aware Placement and Chaining for IoT services where inherent IoT functionalities are decoupled from specific dedicated IoT devices and instantiated on-demand. By bringing together NFV and IoT paradigms, this extension opens new perspectives and push toward designing new use cases.