Network Function Virtualisation and Software Defined Networking are innovating the way network services are provisioned, by introducing a level of flexibility that is key for coping with requirements of complex traffic patterns in modern networking systems, such as the Internet of Things (IoT). Network services may be provisioned to cope with IoT traffic requirements by deploying Virtual Network Functions (VNFs) chains over virtualised infrastructures. The availability of Edge resources may be exploited to cope with IoT traffic latency and bandwidth requirements but, on the other hand, it may introduce variations in the available infrastructure. In this paper, we present a declarative solution, EdgeUsher, to the problem of how to best place VNF chains onto Cloud-Edge infrastructures. EdgeUsher prototype can determine all eligible placements for a set of VNF chains onto an Edge infrastructure so to satisfy all the hardware, IoT, security, bandwidth, and latency requirements associated with the input VNF chains. It exploits probability distributions to model the dynamic behaviour of Edge infrastructures, and it correspondingly ranks the set of valid placements according to such probabilities. EdgeUsher also returns, for each placement, the set of function-to-function paths that can be exploited to route traffic flows through the deployed chain.