As the sizes of cloud infrastructures continue to grow, the complexity of the cloud is becoming more and more difficult to manage. Currently, centralised management schemes dominate and there are already signs that these are no longer fit for purpose. The CloudLightning project takes a novel route, making use of self-organisation techniques to address the problems emerging from the confluence of issues in the emerging cloud: rising complexity and energy costs, problems of management and efficiency of use, the need to efficiently deploy services to a growing community of non-specialist users and the need to facilitate solutions based on heterogeneous components. CloudLightning efficiently addresses three main challenges in the domain of heterogeneous cloud computing: energy efficiency, improved accessibility to cloud and support for heterogeneity. The chapter provides an overview of the CloudLightning system.