Cloud computing is offering utility-oriented IT services to users worldwide. Based on pay-as-you-go model, it enables hosting of pervasive applications from consumer, scientific, and business domains. However, data centres hosting cloud applications consume huge amounts of energy, contributing to high operational cost and carbon footprint to the environment. This project aims to transform cloud computing by developing: (a) architectural principles for energy-efficient management of clouds; (b) energy-efficient resource allocation policies and scheduling algorithms considering quality-of-service expectations, and devices power usage characteristics; and (c) a novel software technology for energy-efficient management of clouds.