Over the recent years, cloud computing and the Internet of Things (IoT) have been converging ever stronger, sparking creation of large-scale, geographically distributed systems. Such IoT Cloud systems have fostered proliferation of various applications, driven by an urgent need to respond to volume, velocity and variety of IoT data, but also to enable timely propagation of business-crucial decisions to the edge of the infrastructure. The benefits of IoT Cloud are undoubtable, but they are also accompanied with a number of challenges. Programming IoT Cloud applications is challenging due to the need to handle large volumes of IoT data in a nontrivial manner, plethora of domain-dependent IoT controls and, inherently complex dependencies between application business logic and novel infrastructure features. Because of dynamicity, heterogeneity, scale and geographical distribution of IoT Cloud, traditional provisioning approaches, which implicitly assume on-site presence or manual interactions with IoT devices are hardly feasible in this novel landscape. Finally, IoT Cloud systems are becoming an integral part of existing business models and key enabler for new business opportunities. This calls for systematic approach to IoT Cloud governance, which to date remains largely underdeveloped. This doctoral thesis contributes a rich ecosystem comprising novel models, frameworks and tools, intended to facilitate programming, provisioning and governing IoT Cloud systems. First, a comprehensive programming framework is introduced, which raises the level of programming abstraction, enabling easier and more intuitive development of cloud-centric IoT Cloud applications. On the other side, it provides a flexible programming model, specifically tailored for resource-constrained IoT devices, which is intended to support domain expert developers. Second, a provisioning model and middleware are introduced, which among other, offer: i) Light-weight mechanisms for resource abstraction and application-specific customizations; ii) Support for automated provisioning of IoT Cloud resources, application components and configuration models in a logically centralized manner through middleware managed APIs and; iii) Flexible provisioning models, supporting on-demand consumption of both IoT and Cloud resources. Finally, the thesis introduces GovOps - a novel governance model for IoT Cloud systems. It enables seamless alignment of high-level governance objectives with executable operations processes and supports GovOps managers to: i) Implement time-consistent governance processes for IoT Cloud systems and; ii) Develop uncertainty- and elasticity-aware governance strategies. The proposed approaches have been evaluated based on real-world Fleet- and Building Management Systems.