Network Function Virtualization (NFV), Cloud Computing, and Software Defined Networking (SDN) are closely related technologies and their combination can provide complete and high quality services to the end users. Multiple Virtualized Network Functions (VNFs) can be implemented as Virtual Machines (VMs) on top of cloud servers, while the traffic flow traversing these VNFs can be facilitated through SDN creating a service chain paradigm. This model promises high performance attracting Service Providers to offer high quality services while reducing the total capital and operating expenses. In this paper, we study the problem of allocating service chains in a multi-cloud environment, where a random number of users are associated with each service chain creating dynamic flow requirements. The framework consists of allocating service chain instances in all the available cloud providers, while associating the incoming users to an appropriate cloud provider based on a number of criteria related to distance and network resource utilization. Towards this extent, a number of algorithms are proposed and evaluated in terms of their overall performance and fairness achieved.