Deploying composite applications to Fog nodes in a QoS-and context-aware manner is challenging due to the heterogeneity and scale of Fog infrastructures. Application components must be provided with the software and hardware capabilities they need. Communication links that support interactions between components must meet certain QoS (latency and bandwidth). On the other hand, different Fog and Cloud nodes provide different software and hardware capabilities, and actual communication links support different QoS over time. In this paper we present a prototype (FogTorchII) capable of determining deployments of composite applications to Fog infrastructures, which fulfil software, hardware and QoS requirements. FogTorchII exploits Monte Carlo simulations to take into account possible variations of the QoS of communication links. It classifies eligible deployments both in terms of QoS-assurance and of Fog resource consumption. We illustrate the utility of FogTorchII over a motivating example where we compare different possible deployments for a smart agriculture application.