This paper introduces a Content Delivery Network as a Service (CDNaaS) platform that allows dynamic deployment and life-cycle management of virtual Content Delivery Network (CDN) slices running across multiple administrative cloud domains. The CDN slice consists of four Virtual Network Function (VNF) types, namely virtual transcoders, virtual streamers, virtual caches, and a CDN-slice-specific Coordinator for the management of the slice resources across the involved cloud domains. To create an efficient CDN slice, the optimal placement of its composing VNFs using adequate amount of virtual resources for each VNF is of vital importance. In this vein, this paper devises mechanisms for allocating an appropriate set of VNFs for each CDN slice to meet its performance requirements and minimize as much as possible the incurred cost in terms of allocated virtual resources. A mathematical model is developed to evaluate the performance of the proposed mechanisms. We first formulate the VNF placement problem as two Linear Integer problem models, aiming at minimizing the cost and maximizing the Quality of Experience (QoE) of the virtual streaming service. By applying the bargaining game theory, we ensure an optimal trade-off solution between the cost efficiency and QoE. Extensive simulations are conducted to evaluate the effectiveness of the proposed models in achieving their design objectives and encouraging results are obtained.