Ralf Kretzschmar-Auer

Ralf Kretzschmar-Auer

Executive Consultant

Im Bereich Cloud Computing könnte Cloud Foundry unserer Meinung nach zum Industriestandard werden, wenn es um Anwendungen in der Cloud geht. Aufgrund seiner Möglichkeiten wird cloud-natives Software Development sehr viele bestehende Client-Server-Anwendungen in den nächsten zehn Jahren verdrängen. 

Was ist das Besondere an Cloud Foundry?

Cloud Foundry ist mehr als eine Plattform. Cloud Foundry ist eine Kombination aus Architektur und Designmustern, Tools für die Produktion und Installation von Anwendungen und eine extrem leistungsfähige Unterstützung für den Betrieb. Cloud Foundry ist dazu nicht auf einen bestimmten Cloud-Anbieter festgelegt. Sie sind also frei in der Wahl der Cloud, in der sie Ihre Anwendung betreiben wollen. Analog zu Linux ist Cloud Foundry ein Open Source Projekt, das von namhaften Unternehmen unterstützt und angewendet wird, dazu gehört das CGI Digital Lab in Denver und das Digital Lab in Stuttgart.

Cloud Native: Architektur- und Designmuster

Ein zentraler Begriff in der Cloud Foundry ist cloud-native. Das heißt, Anwendungen werden so erstellt, dass sie von vornherein optimal auf den Betrieb in der Cloud eingerichtet sind.
Architekturmuster geben vor, wie Anwendungen gestaltet sein müssen, damit sie sich gut in der Cloud betreiben lassen. Cloud Foundry setzt auf einfache, schnell startende Webapplikationen, die sich auf Mikroservices abstützen. Gängige Standards im Web und für die Kommunikation mit den Mikroservices werden fortgeschrieben und um Ideen wie die fehlertolerante Implementierung von Funktionen ergänzt.

Zwei wesentliche Konzepte der Architektur sind Resilienz und Fehlertoleranz. Basierend auf den Arbeiten von Netflix bietet Cloud Foundry Designpatterns und Bibliotheken zum Umgang mit typischen Fehlerszenarien verteilter Systeme. Anwendungen und Services können so gestaltet werden, dass sie den Ausfall zugrunde liegender Services erkennen, auf andere Instanzen ausweichen und im Notfall sogar nach Vorgaben provisorische Ergebnisse annehmen. Das System bleibt für den Kunden nutzbar, auch wenn Engpässe und Ausfälle den Betrieb beeinträchtigen.

Automate Everything: Tools für die Produktion und Installation von Anwendungen

In der Regel wird in heutigen Projekten allenfalls eine teilweise Automatisierung der Produktion angewendet. Sind Build-Tools wie Ant, Maven oder Gradle und der allgegenwärtige Jenkins nebst ihren äquivalenten Kollegen aus der Microsoft-Welt mittlerweile Allgemeingut geworden, sieht es bei Testautomatisierung und Deployment oft noch anders aus. Anwendungen werden manuell (Regressions)-getestet und ebenso manuell ausgerollt.

Cloud Foundry verfolgt hier konsequent den Weg das Ziel einer vollständigen Automatisierung: Zwischen der Freigabe einer Änderung und dem GoLive sollen keine manuellen Schritte liegen. Alles wird automatisiert: Zusammenbau, Test, Bereitstellung der VM, Installation und Inbetriebnahme. DevOps wird konsequent zu Ende gedacht. Unter Cloud Foundry können so Änderungen in kürzester Zeit und mit hoher Sicherheit in Betrieb genommen werden. Langwierige Produktions- und Freigabeprozesse gehören der Vergangenheit an, weil immer sichergestellt ist, dass die Anwendung mit der erwarteten Qualität in den Betrieb geht.

Extrem Leistungsfähige Unterstützung für den Betrieb

Auch im Betrieb geht Cloud Foundry den Weg der (möglichst) vollständigen Automatisierung. Ein System unter Cloud Foundry kann bis zu einer vorgegebenen Obergrenze beliebig skalieren. Werden Ressourcen nicht mehr benötigt, nimmt Cloud Foundry sie ohne Zutun eines Administrators wieder aus dem Betrieb und hilft so beim Kostensparen.

Resilienz und Fehlertoleranz finden wir bei Cloud Foundry auch im Betrieb als zentrale Konzepte vor: Cloud Foundry skaliert nicht nur automatisch, sondern es kann im Fehlerfall auch virtuelle Maschinen neu starten oder bei Bedarf auch komplette virtuelle Maschinen durch neue Instanzen ersetzen. Die manuelle Administration reduziert sich damit auf ein Minimum dessen, was in traditionellen Betriebsszenarien notwendig ist.

 

Über diesen Autor

Ralf Kretzschmar-Auer

Ralf Kretzschmar-Auer

Executive Consultant

Ralf Kretzschmar-Auer ist Senior Solution Architekt mit den Schwerpunkten E-Commerce und Digitalisierung. Ganzheitliche Beratung und Betreuung von den ersten Anforderungen bis zum GoLive ist sein Ding. Zur Zeit unterstützt er einen Stuttgarter Automobilkonzern dabei, die Shop-Infrastruktur für seine Produkte und Dienstleistungen zu verbessern. Davor ...