Methoden und Ansätze

Im Cloud4E-Projekt wurde eine Plattform entwickelt, die es erlaubt, Simulationstools in Form von Services über eine Cloud bereitzustellen. Wie in Cloud-Umgebungen üblich, werden die Simulationen in virtuellen Maschinen (VMs) ausgeführt und der Nutzer hat keinen Zugang zu den physischen Ressourcen der Cloud. Zur Bereitstellung und Steuerung von Services werden die offenen Standards OCCI (Open Cloud Computing Interface) und AMQP (Advanced Message Queuing Protocol) eingesetzt. Dadurch wird eine hohe Portabilität der Plattform und der dafür entwickelten Services sichergestellt, Vendor Lock-Ins werden vermieden und der Einsatz von Federated Clouds ermöglicht. AMQP und OCCI werden in der Cloud4E-Plattform sowohl zur Kommunikation zwischen Clients und Services, als auch zur Kommunikation von Services untereinander genutzt. Die folgende Abbildung zeigt einen Überblick über die Plattform.

cloud4e-architecture

Als OCCI-Server wird der sog. rOCCI-Server zusammen mit einer entsprechenden Client-Bibliothek eingesetzt. Ein im Projekt entwickelter OCCI Service Adapter stellt eine OCCI-Schnittstelle für die Simulations-Software in Form von OCCI-Attributen und OCCI-Actions bereit. In einer Ruby-Klasse namens Service Connector wird mittels einer speziellen Syntax definiert, welche Attribute und Actions die Schnittstelle zur Verfügung stellt und die Actions werden mittels herkömmlicher Ruby-Methoden implementiert. Über eine vom OCCI Service Adapter bereitgestellte Bibliothek, kann ein Client eine Beschreibung der Schnittstelle vom rOCCI-Server abrufen und den Service über die Actions und Attribute der Schnittstelle steuern. Im Projekt wurde dafür ein generischer grafischer Client, wie auf dem folgenden Screenshot zu sehen, entwickelt.

clientDie Ein- und Ausgabedaten von Simulationen werden verschlüsselt in einem Object Store gehalten, auf dem über die Schnittstelle CDSTAR zugegriffen wird. Innerhalb von virtuellen Maschinen können die Daten über ein gemeinsames Dateisystem wie SSHFS geteilt werden und zusätzlich können verschlüsselte Dateisysteme wie EncFS eingesetzt werden, um die Daten nicht unverschlüsselt in einer VM halten zu müssen.

cloud4e-encfsFür das Logging der Services wird AMQP eingesetzt. Die Services können über die API des OCCI Service Adapters Lognachrichten per AMQP versenden, die von mehreren Konsumenten gleichzeitig empfangen werden können. Zum Empfang, der Verarbeitung, der Ablage und der Analyse der Lognachrichten kann das Open Source Tool Logstash genutzt werden.

cloud4e-logDie folgende Abbildung zeigt den kompletten Workflow einer Simulation in der Cloud aus Sicht des Endnutzers:

cloud4e-big-picture-1