Cloud-Architekturen im Vergleich
Bis Prism war die Cloud ein großer Hype, jetzt rudern Anwender und Anbieter zurück. Dabei fordern Cloud-Architekturen nicht zwingend die Speicherung irgendwo im Internet. Cloud ist mehr als Dropbox und Facebook. Moderne Ansätze optimieren IT-Prozesse und die Art und Weise, wie Unternehmen mit ihrer internen EDV umgehen.
Mit Cloud-Computing begann wieder einer dieser nebulösen Hypes, von dem irgendwie keiner genau wusste, was eigentlich dahinter steckt. Dazu trugen letzten Endes auch die Hersteller bei, die alles und jedem den Stempel Cloud aufdrückten und damit eine klare Definition verhinderten. Ein guter Erklärungsansatz für Enterprise-taugliche Cloud-Lösungen kann das Wort »Cloud« alleine schon liefern.
Keine Transparenz
Was ist der Unterschied zwischen einem Bergpanorama bei klarem Wetter und bei Bewölkung? Richtig, bei Bewölkung sieht man die Berge nicht, weil Wolken im Weg stehen. Die »Cloud« versperrt die Sicht – und so simpel das klingen mag: Das ist im übertragenen Sinne einer der wesentlichen Aspekte von Cloud-Computing.Cloud-Architekturen trennen den Nutzer von der dahinter liegenden Technik ab. Wer eine virtuelle Maschine für einen Dienst benötigt, bekommt diese aus einer Iass-Cloud und muss sich nicht darum kümmern, welcher Hypervisor wo läuft, was für Server im Spiel sind und wo auf welchem Storage das Ganze landet.
Bei Paas-Clouds erhalten Entwickler ihre Tools und die nötigen Software-Komponenten wie eine Datenbank, welche sie für ihre Applikation benötigen. Das kann zum Beispiel eine Kombination aus MySQL, PHP und Apache sein. Auf welchem Betriebssystem diese Dienste laufen, ob dahinter virtuelle oder physische Systeme oder gar Container stehen, ist dem Anwendungsentwickler erst einmal egal.
Saas als am höchsten abstrahierte Form der Cloud-Lösung liefert am Ende nur noch den Dienst an den Nutzer: Niemand kümmert sich darum, auf welchen Servern, Betriebssystemen oder Anwendungsplattformen nun Salesforce, Google oder Facebook laufen: Einloggen und Benutzen, basta.
IT-Prozesse anpassen
Keine der drei grundlegenden »as a Service«-Cloud-Architekturen nötigt den Anwender, Daten im Internet abzulegen oder zugänglich zu machen. Viele Produkte und Lösungen laufen problemlos im Intranet eines Unternehmens. Allerdings erfordern Cloud-Ansätze bei vielen Unternehmen Änderungen bei den internen IT-Prozessen. Pass & Iaas rollen enorm schnell virtuelle Entitäten aus, welche IP-Adressen benötigen, auf zentrale Benutzerkonten zugreifen und ebenso schnell wieder verschwinden können, wie sie entstanden. Die IT muss agil sein und häufige Änderungen zulassen, ohne dabei aber die Kontrolle zu verlieren. Dem gegenüber stehen eingeführte IT-Prozesse, bei denen Administratoren Systeme & Adressen in Excel-Listen pflegen, und neue Systeme erst nach einem komplexen & langwierigen Anforderungs- und Bewilligungsprozess bereitstellen können. Ebenso statisch und unflexibel stellen sich häufig bestehende Konfigurationen für Monitoring, Logging und Security dar.
Bevor sich IT-Leiter also konkrete Gedanken über Cloud-Produkte machen, müssen sie ihre Prozesse zur Bereitstellung, Accounting und Überwachung neu definieren -- ohne dabei natürlich die bestehenden Sicherheitsrichtlinien aufzugeben. Der Schlüssel zum Erfolg heißt Standardisierung. Die Auswahl der „golden Master“ für virtuelle und physische Systeme muss klein und deren Konfiguration modular gehalten bleiben. Händische Anpassungen neu ausgerollter Systeme müssen auf die Streichliste. Alle Standard-Aufgaben gehören automatisiert.
Auch die richtige, organisatorische Position der IT-Abteilung im Unternehmen hilft bei Cloud-Konzepten. Flexible IT-Konzepte funktionieren am besten, wenn die IT als eigenständige Abteilung des Konzerns auftritt und andere Abteilungen als Kunden behandelt. Damit greifen mandantenfähige Lösungen und interne Abrechnungsverfahren.
Danach kann das Unternehmen die passende Cloud-Technologie als »Private« im Intranet in Betrieb nehmen. Das Gute daran: Wenn die IT-Abteilung ihre Prozesse und Zuständigkeiten einmal »Cloud-fähig« angelegt hat, lassen sich bestehende private Clouds problemlos später auf hybride Clouds ausdehnen. Letztere verlagern einen Teil der IT-Ressourcen zu externen Dienstleistern. Dabei lassen sich die Konzepte so ausarbeiten, dass unternehmenskritische Daten in der privaten Cloud verbleiben und nur unkritische Teile zum Dienstleister und im Internet landen.
Iaas, Paas, Saas
Die derzeit populärste Basisarchitektur für Cloud-Installationen ist die »Infrastructure as a Service«, kurz Iaas. Anwender bekommen hier virtuelle Maschinen – vorkonfiguriert mit Storage, Netzwerk und Betriebssystem – zur Verfügung gestellt. Die IT-Abteilung als Cloud-Betreiber gibt dabei vor, welche Systeme und Konfigurationen als Vorlage zur Verfügung stehen und welche Ressourcen die Gast-VMs beanspruchen dürfen. Der Anwender an sich bekommt lediglich die Maschine, nicht jedoch die Kontrolle über den Hypervisor auf dem sie läuft. Das zentrale Element einer Iaas-Cloud ist dabei das Self-Service-Portal, über das die Anwender Zugriff auf Ihre VMs erhalten. Zu den bekannten Software-Lösungen dieser Fraktion gehören das freie »OpenStack« oder »VMwares vCAC« (Vmware Cloud Automation Center). Bekannte Public-Cloud-Iaas-Dienste sind Amazon »EC2« und Microsoft »Azure«.
Eine sinnvolle Iaas-Infrastruktur gibt in einer Private-Cloud keine »nackten« virtuellen Maschinen aus. Die IT-Abteilung sorgt dafür, dass die vom Unternehmen verwendeten Standard-Applikationen und Dienste bereits vorkonfiguriert vorliegen.
Iaas lässt sich relativ leicht einführen. Die Herausforderung liegt dabei gar nicht bei der Installation der Plattform an sich. Weitaus mehr Aufwand dürfte es bereiten, die IT-Prozeduren wie bereits erwähnt zu ändern, die passenden VM-Templates zu erstellen und diese zu testen. Zudem müssen die bestehenden Infrastrukturdienste wie Monitoring, Directory Services, Firewalls, File-Services dafür bereit sein, die neuen Systeme automatisiert aufzunehmen.
Iaas: Dienst ohne Maschine
Eine Stufe oberhalb von Iaas siedeln sich »Plattform as a Service«-Lösungen an. Bei genauerem Hinsehen handelt es sich hier eigentlich um die Cloud-Architektur mit dem größten Potential überhaupt. Anstelle virtueller Maschinen rollt Paas Anwendungsumgebungen aus. Diese enthalten alle nötigen Komponenten, um eine Applikation zu betreiben. Zu den Komponenten können Datenbanken wie MySQL oder »Mongo DB«, Middleware wie »Tomcat« oder »Jboss« ebenso gehören, wie Runtime-Umgebungen für Java, Python oder Ruby. Nur der eigentliche Applikations-Code fehlt. Welches Betriebssystem darunter liegt und ob die Umgebung mit einer physischen Maschine, VM oder lediglich einem OS-Container läuft, ist dabei unerheblich. Der Anwendungsentwickler bekommt vorkonfiguriert, was er benötigt. Ist seine Applikation erst einmal getestet, kann die Paas-Umgebung zigfach geklont und betrieben werden. Auch hier ist es erst einmal unerheblich, ob Paas als Private oder Public Cloud läuft. Dort kann der Betreiber das Szenario mit privaten und öffentlichen Umgebungen zur Hybrid Cloud mischen.
Das tolle an Paas ist die enorme Packungsdichte. Applikationscontainer brauchen keine eigene Betriebssysteminstanz und stellen sich daher auch nicht als vollwertige VM dar. In der Praxis belegt ein App-Container im Schnitt nur ein Zehntel der Ressourcen, welche eine vollwertige VM mit einer eigenen Betriebssysteminstanz verschlingt. Zudem arbeiten Applikationscontainer unabhängig vom verwendeten (Linux)-Betriebssystem und dessen Version. Allerdings funktioniert Paas auch nur auf Linux/Unix-Umgebungen. Microsoft hat eine eigenwillige Auffassung von Pass und liefert nicht die benötigte Containertechnologie.
Auch bei Paas hakt es nicht an der Technik oder an der Komplexität der verfügbaren Produkte. Hier treffen menschliche Gegensätze aufeinander. IT-Operatoren und Administratoren müssen Entwicklerkomponenten verwalten, Versionen bestimmen und pflegen. Entwickler hingegen müssen sich diesen strickten Vorgaben unterordnen und können nicht »mal eben« das neueste und tollste Tool irgendwo herunterladen und in ihre Umgebung einbauen. Paas erfordert Disziplin von zwei IT-Bereichen, die normalerweise nicht gerne miteinander zusammen arbeiten und in der Unternehmenskantine stets getrennte Tische aufsuchen.
Zu den bekanntesten Paas-Lösungen und Services gehören »CloudFoundry« (Vmware), »OpenShift« (Red Hat) oder auch »AppEngine« (Google). Noch in Beta befindet sich ein Vielversprechendes Konzept Namens »Docker« der mit LXC-Containern arbeitet.
Saas: völlig losgelöst
Eigentlich sollte die »Höchste Form« der Cloud die »Software as a Service« (Saas) sein. Neu ist an diesem Betriebskonzept allerdings nichts. Wer einen unternehmensweiten Exchange-Server oder SAP-Instanz installiert, hat mehr oder weniger Saas etabliert. Als moderne Saas stufen viele Anwender daher eigentlich nur Software-Lösungen im Internet ein, welche historisch lokal installierte Dienste übernehmen. Als Branchenprimus gilt die CRM-Lösung salesforce.com. Bei genauerem Hinsehen ist es aber auch erstaunlich, wie viele vergleichsweise große Unternehmen bereits ihre lokalen Mail-Server entsorgt haben, und sich die Groupware-Dienste bei Google-Mail mieten.
Cloud: als Betriebskonzept nicht am Ende
Trotz der totalen Internet-Überwachung ist Cloud-Computing als Betriebskonzept nicht am Ende, da es auch alleine im Intranet gute Dienste liefern kann. Der größte Stolperstein auf dem Weg zu flexiblen und agilen Cloud-Lösungen im Internet ist dabei wieder einmal nicht die Technik, sondern die Organisation und die Prozesse innerhalb der Unternehmens-IT. Nur wer hier aufräumt, standardisiert und automatisiert, kann von flexiblen Cloud-Architekturen profitieren.