Cloud Computing ist eine etablierte Technologie, die es ermöglicht, Rechenkapazitäten auf Abruf zur Verfügung zu stellen. Cloud-Betriebssysteme managen die Ausführung von Rechenressourcen, z. B. von physikalischen Maschinen oder virtuellen Maschinen, unter Einhaltung von Benutzerbedingungen. Eine Applikation ist üblicherweise auf einer Cloud installiert. Die heutigen komplexen und ultra-scale Applikationen aus dem sozialen und Lifestyle-Bereich, wie z. B. Applikationen für das Management von Smart Cities oder Applikationen für Medical Body Area Networks, werden immer mehr in Clouds installiert und ausgeführt. Solche komplexe Applikationen haben allerdings sehr herausfordernde Benutzeranforderungen und benötigen mehrere Clouds, um sinnvoll installiert und ausgeführt werden zu können. Vermehrt sind es auch ökonomische und ökologische Gründe, die dazu führen, mehrere Clouds für die Installation einer Applikation in Betracht zu ziehen. Dieses Konzept, bei dem ein Service Provider (SP) für die zusätzliche Komplexität der Koordinierung von multiplen Services auf externen Infrastruktur-Anbietern (IA) einer Applikation zuständig ist, wird Multi Cloud genannt. Obwohl nicht-funktionale Garantien in einzelnen Clouds ein sehr etabliertes Forschungsgebiet darstellen, sind nicht-funktionale Garantien in Multi Clouds derzeit ein ungelöstes Forschungsproblem.
In den letzten Jahren hat autonomes Computing als ein neues Paradigma für das Management von komplexen Systemen sehr an Bedeutung gewonnen. In autonomen Systemen wird die Interaktion zwischen Maschinen und Menschen minimiert. Das Ziel dieses Projekts ist die Entwicklung neuer autonomer Methoden für das Garantieren von nicht-funktionalen Anforderungen in Multi Clouds. Basierend auf der Komplexität von Multi Clouds, auf dem Typ und der Qualität der Monitoring-Daten und auf der Fähigkeit, ein Verhaltensmodel der Applikation zu bilden, werden die prominentesten autonomen Methoden untersucht. Diese Methoden reichen von Heuristiken über kontroll-theoretische Ansätze bis hin zum maschinellen Lernen. Anstatt die ganze Applikation selbst-adaptiv zu machen, versuchen wir, jeden Teil der Applikation, der auf einem anderen Cloud installiert ist, adaptiv zu machen.