Das Eisen schmieden Was ist, was macht Cloud Foundry?
Anbieter zum Thema
Bei Cloud Foundry (kurz CF) handelt es sich um eine quelloffene PaaS-Anwendungsplattform für die Cloud-agnostische Bereitstellung von Microservice-Anwendungen. Das Wort „Foundry“ bezeichnet im Englischen eine Metallgießerei, eine Art „Werkstatt“ der Stahlindustrie.

Cloud Foundry abstrahiert den Anwendungscode von der Infrastruktur, um so die Portabilität von Microservices zwischen Clouds verschiedener Anbieter in nahe-Echtzeit zu ermöglichen. Durch das Entkoppeln der Anwendungen von der darunter liegenden Infrastrukturebene verleiht die Plattform verteilten Microservices die Fähigkeit zur Cloud-agnostischen Bereitstellung in Rechenzentren unterschiedlicher Anbieter.
Das Eisen schmieden, solange es [in der] Cloud ist
Cloud Foundry-optimierte Anwendungen lassen sich zwischen On-Prem, öffentlichen Clouds und verwalteten Infrastrukturen unverändert hin und her migrieren, falls erwünscht sogar in nahe-Echtzeit. Der betreffende Anwendungscode bedarf hierbei keinerlei Anpassungen.
Cloud Foundry unterstützt OpenStack als einen von derzeit zehn Infrastrukturanbietern neben „AWS“, „Microsoft Azure“, „Google Cloud Platform“, „VMware vSphere“ und „Photon OS“, „IBM Cloud“ und „RackHD“ von Dell EMC.
Vorteile von Cloud Foundry
- Der wesentliche Vorteil von Cloud Foundry bei der Bereitstellung von Microservices besteht in der Flexibilität der Cloud-agnostischen Anwendungsportabilität zwischen Rechenzentren.
- Die Fähigkeit zur bedarfsgerechten Bereitstellung von Cloud-Diensten im Selbstbedienungsverfahren erhöht die Agilität und reduziert den Bedarf der IT-Verbraucher in einem Unternehmen an der sogenannten Schatten-IT.
- Mit Hilfe von Cloud Foundry können Unternehmen den Vendor-Lock-In an Cloud-Anbieter minimieren und die Agilität ihrer Bereitstellungen maximieren.
Die Wurzeln von Cloud Foundry
Cloud Foundry begann vor rund zehn Jahren als eine rein proprietäre Lösung im Hause VMware. Die Wurzeln von Cloud Foundry gehen auf das „Project B29“ zurück, welches in einem kleinen Entwicklerteam bei VMware unter der Leitung von Derek Collison im Rahmen der VMware Cloud Application Platform Geschichte hybrider Clouds schrieb.
Auf den Namen „Cloud Foundry“ hörte ursprünglich ein völlig anderes PaaS-Projekt, welches in Java geschrieben war und ähnliche Ziele verfolgen sollte, aber nur auf „Amazon EC2“ lief. Im Zuge mehrerer Akquisitionen fand jene Lösung zu guter Letzt ihr Heim bei VMware und wurde hier kurzerhand eingestellt. Der Name blieb aber hängen und wurde letztendlich im Jahre 2011 auf die heutige Cloud Foundry umgewidmet.
Cloud Foundry verfolgte von Anfang an das Ziel, den infrastrukturagnostischen Betrieb verteilter Anwendungen in mehreren Cloud-Umgebungen – ob gleichzeitig oder abwechselnd im Sinne eines Failovers – zu ermöglichen. Für die Orchestrierung zeichnete anfangs „Chef“ verantwortlich. Der Ansatz scheiterte an unzureichender Skalierbarkeit, umständlichen VM-Updates und den nicht-vorhandenen Health-Checks.
Eine andere Lösung musste also her. So entstand ein eigener Orchestrierer von Cloud Foundry: „BOSH“.
Architektur und Funktionsweise von Cloud Foundry
Für die Integration von Cloud Foundry mit den verschiedenen Infrastrukturanbietern zeichnet ein Toolchain namens BOSH mit seinen modularen Schnittstellen verantwortlich. BOSH setzt sich aus dem Server „BOSH Director“ und einem CLI-Werkzeug zusammen. Unter Verwendung der passenden CPI (Cloud Provider Interface) kann BOSH sowohl VMs als auch Container auf dem Infrastrukturunterbau der jeweiligen Cloud orchestrieren und befreit so den Nutzer vom Vendor-Lock-In an Cloud-Betreiber. Durch den bloßen Austausch der CPI lässt sich eine Anwendung in wenigen Minuten zwischen verschiedenen Cloud-Umgebungen migrieren.
Cloud Foundry abstrahiert die Laufzeitumgebung von der Komplexität des Infrastrukturunterbaus. Die Plattform automatisiert die korrekte Initialisierung Cloud-nativer Anwendungen samt aller Abhängigkeiten und die bedarfsgerechte Provisionierung der benötigten Ressourcen. BOSH koordiniert hierbei das Verpacken, das Bereitstellen und die Verwaltung von Cloud-Anwendungen während ihrer gesamten Lebenszeit.
Die Bereitstellung von Anwendungen in Cloud Foundry erfolgt mit Hilfe der so genannten Buildpacks. Bei Buildpacks handelt es sich um Skripte, welche die betreffenden Anwendungen fein säuberlich als „Droplets“ ausgeben.
Ist in der betreffenden Umgebung ein anwendungsgerechtes Buildpack vorhanden, reicht ein einfacher cf-Push-Befehl aus, um die Bereitstellung zu initiieren. Unternehmen steht aber auch die Möglichkeit offen, eigene Buildpacks zu erstellen, welche den spezifischen Anforderungen ihrer betreffenden Anwendungsarchitekturen punktgenau gerecht werden. Wem das alles zu kompliziert erscheint, kann immerhin auch einfach „Docker“-Container orchestrieren.
Applikationen schneller bauen, testen, skalieren und infrastrukturagnostisch bereitstellen: Genau diese Versprechen hat sich das quelloffene Projekt Cloud Foundry auf die Fahnen geschrieben.
Die Entwicklung Cloud-nativer, infrastrukturagnostischer Apps in Cloud Foundry folgt einigen klaren Design-Richtlinien. Solange Entwickler diese Grundsätze einhalten, können Apps, die in unterstützten Frameworks geschrieben wurden, in Cloud Foundry oft einfach unverändert laufen und den Infrastrukturunterbau bedarfsgerecht, sogar fast in Echtzeit, wechseln. So kommen Unternehmen in den Genuss infrastrukturagnostischer Anwendungsausführung über die Grenzen eines Rechenzentrums hinweg.
Cloud Foundry unterstützt die OSBAPI-Schnittstelle (kurz für Open Service Broker API), einen quelloffenen, infrastrukturagnostischen Industriestandard für Service-Broker, den auch Kubernetes unterstützt. Dadurch kann Cloud Foundry mit genau denselben Service-Brokern wie Kubernetes kommunizieren.
Der wahre Wert der Broker-API besteht darin, dienstespezifische Lebenszyklusvorgänge von der Cloud-Plattform zu abstrahieren. OSAPI hebt die Abhängigkeit der Entwickler in einem DevOps-Workflow von ihrem Ops-Team auf.
Durch die Konformität mit den Design-Prinzipien von Cloud Foundry können Unternehmen völlig Cloud-agnostische Softwarelösungen ins Leben rufen. Zum Testen der Ausfallsicherheit greifen Entwickler auf Techniken des Chaos Engineering zurück.
Mit den Projekten „Eirini“ und „Quarks“ möchte die Cloud Foundry-Gemeinde die Integration der Plattform in Kubernetes-dominierte Umgebungen zur reibungslosen Bereitstellung containerisierter Anwendungen bewerkstelligen.
Governance von Cloud Foundry
Heute findet die Entwicklung von Cloud Foundry unter der Obhut einer gemeinnützigen Organisation statt, der Cloud Foundry Foundation, einem Ableger der Linux Foundation. Die Stiftung genießt tatkräftige Unterstützung unter anderem von Google, IBM, Microsoft, Pivotal/VMware, SAP, Suse und anderen. Der Code unterliegt der Apache-2.0-Lizenz.
Neben Pivotal haben auch Unternehmen wie SAP, IBM und die Swisscom ganz offiziell eigene Distributionen von Cloud Foundry im Köcher.
* Das Autorenduo Anna Kobylinska und Filipe Pereira Martins arbeitet für McKinley Denali Inc. (USA).
Artikelfiles und Artikellinks
(ID:46687228)