Cloud computing is a highly discussed subject in the technological and economic world, with many of the big players in the software industry having invested in the development of cloud services. Cloud computing promises cost savings, improved scalability and higher availability. But the migration of existing applications to the cloud poses significant challenges to developers and businesses. Developers have to modify their applications to work with the new cloud environment and choose the cloud provider that best matches their requirements and needs. The number of cloud providers is constantly increasing with an ever-growing number of different services per provider. This results in an unmanageably ample configuration space for possible applications. However, with the quickly growing configuration space, the need for systems to compare and calculate the costs of application deployments in the cloud arises. This paper examines available cloud computing services, identifies their main characteristics and proposes a modelling approach to model providers, algorithms and optimizations to cope with the configuration space. We present an implementation that incorporates the proposed aspects that can calculate the costs of application deployments for multiple cloud providers at a time to support the decision-making process of businesses and developers. Our main contributions are a flexible inter-provider data transfer cost calculation algorithm, and a flexible cost model.