Definition

Cloud Foundry

Was ist Cloud Foundry?

Cloud Foundry ist eine Open Source Platform as a Service (PaaS), mit der Entwickler Anwendungen erstellen, bereitstellen, ausführen und skalieren können. Cloud Foundry wurde ursprünglich von VMware entwickelt. Heute ist die Plattform Teil von Pivotal Software – einem Joint Venture von EMC und VMware (beide Dell EMC) sowie General Electric.

Cloud Foundry ist unter der Apache-Lizenz 2.0 lizenziert und unterstützt Java, Node.js, Go, PHP (Hypertext Preprocessor), Python, Ruby, .NET Core und Staticfile. Das Open-Source-PaaS ist hochgradig anpassbar und erlaubt es Entwicklern, in mehreren Sprachen und Frameworks zu programmieren. Dadurch wird das Risiko eines Vendor Lock-ins, wie er bei PaaS häufig vorkommt, beseitigt.

Ein Diagramm der Cloud-Foundry-Architektur
Abbildung 1: Dieses Diagramm zeigt die Cloud-Foundry-Architektur.

Entwickler entscheiden sich für Cloud Foundry aufgrund der freien und quelloffenen Merkmale der Plattform. Ein großer Vorteil ist, dass man auf der Plattform eigene Tools und Codes verwenden kann. Unternehmen können Cloud Foundry in ihrer eigenen internen Infrastruktur einsetzen.

Zusätzlich lässt sich Cloud Foundry auf der Infrastruktur vieler Cloud-Anbieter einsetzen – darunter Amazon Web Services (AWS), OpenStack sowie Cloud-Foundry-zertifizierte Plattformen wie IBM Cloud Foundry, Pivotal Cloud Foundry, SAP Cloud Platform, Huawei FusionStage und Swisscom Application Cloud.

Ähnliche Plattformen und Wettbewerber sind OpenShift, Google App Engine und Heroku.

Im folgenden Video diskutieren Maria Ntalla und Jatin Naik, Entwickler bei Pivotal, die Grundlagen von Cloud Foundry und bieten ein Tutorial an:

Komponenten der Cloud-Foundry-Plattform

Laut der Cloud Foundry Foundation besteht die Plattform aus sieben Kernkomponenten:

  • Routing: leitet den in die Cloud-Foundry-Plattform eingehenden Datenverkehr auf die entsprechende Komponente um.
  • Authentifizierung: enthält einen OAuth2-Server und einen Login-Server für die Verwaltung der Benutzeridentität.
  • Application Lifecycle: bietet die Anwendungsbereitstellung und Verwaltungsdienste. Dazu gehören 1. der Cloud Controller – ein Dienst, der ein Anwendung an Cloud Foundry weiterleitet oder bereitstellt – 2. Teile der Diego-Architektur von Cloud Foundry für das Management von Containeranwendungen und 3. nsync, das den Zustand einer Anwendung überwacht.
  • Anwendungsspeicherung und -ausführung: Enthält ein Blobstore Repository für große Dateien sowie Diego Cell, eine weitere Komponente der Diego-Architektur. Jede virtuelle Maschine (VM) verfügt über eine Diego Cell. Diese managt, wann eine Anwendung startet und stoppt, und kümmert sich um die Container der VM.
  • Service Broker: Dieser hilft bei der Verknüpfung von Anwendungen mit bestimmten Diensten, wie zum Beispiel Datenbanken.
  • Messaging: Bietet virtuellen Maschinen die Möglichkeit, über HTTP- oder HTTPS-Protokolle zu kommunizieren. Zum Messaging gehören der Consul-Server, der langfristige Steuerungsdaten wie Komponenten-IP-Adressen speichert, sowie das Bulletin Board System (BBS). BBS speichert Daten, die häufiger aktualisiert werden, wie zum Beispiel der Applikationsstatus.
  • Metriken und Protokollierung: Stellt den Loggregator bereit, der Anwendungsprotokolle an Entwickler streamt, und den Metrics Collector, der Daten bereitstellt, die Unternehmen bei der Überwachung ihrer Cloud-Foundry-Umgebung unterstützen.
Vergleich der Open-Source-PaaS
Abbildung 2: Open-Source-PaaS-Optionen wie Cloud Foundry können auf verschiedenen Stacks aufgebaut sein und unterscheiden sich in Bezug auf GUIs und CLIs.

Erstellen einer Cloud-Foundry-Anwendung

Sobald Cloud Foundry im gewünschten Cloud-Service gestartet wurde, wird durch das Öffnen der Kommandozeile für Cloud Foundry der Prozess zur Erstellung einer App eingeleitet. Ein Buildpack-Framework bietet eine Struktur zum Kompilieren und Starten der App.

Buildpacks sichern die notwendigen Programmierschnittstellen (APIs), Bibliotheken, Automatisierungswerkzeuge, Laufzeitwerkzeuge und andere Ressourcen, wie das BOSH-Automatisierungs-Framework und GitHub, um den Entwicklungsprozess zu unterstützen. Der Anwendungsentwicklungsprozess erzeugt Container, in denen die Anwendung bereitgestellt wird.

Garden ist das Laufzeit-Tool für die Verwaltung von Container-Anwendungen in Cloud Foundry. Ein Orchestrierungswerkzeug wie Kubernetes kann dem Prozess hinzugefügt werden, um die Containerinhalte zu erstellen.

Die Geschichte von Cloud Foundry

Im Jahr 2009 fingen die VMware-Entwickler Mark Lucovsky, Derek Collison und Vadim Spivak an, ein Team zu leiten, das die Cloud-Foundry-Plattform entwarf und entwickelte. Am 11. April 2001 wurde Cloud Foundry von VMware gestartet. VMware bezeichnete die Plattform als das erste Open-Source-PaaS der Branche.

Im Jahr 2012 enthüllten VMware und die Muttergesellschaft EMC Pläne zur Ausgliederung von Teilen ihres Cloud- und Software-Geschäfts – einschließlich Cloud Foundry – in ein neues Unternehmen namens Pivotal Software.

Im September 2016 übernahm Dell Technologies EMC, einschließlich der Geschäftsbereiche VMware und Pivotal.

2019 übernahm VMware jedoch Pivotal, wobei Dell Technologies ein Mehrheitsaktionär von VMware blieb. Diesem Schritt folgten die vollständige Abspaltung der Beteiligung von Dell an VMware im November 2021 und die Ankündigung der Übernehme von VMware durch den Chiphersteller Broadcom im Jahr 2022.

Mitglieder der Cloud Foundry Foundation

Im Februar 2014 kündigte Pivotal an, ein offenes Governance-Modell für die Cloud-Foundry-Plattform einzuführen und eine gemeinnützige Stiftung (Foundation) zu gründen. Die Cloud Foundry Foundation widmet sich der Weiterentwicklung der Technologie und des damit verbundenen Ökosystems.

Die Cloud Foundry Foundation ist inzwischen auf mehr als 50 Mitglieder angewachsen, darunter befinden sich folgende Unternehmen und Organisationen:

  • Accenture
  • Allianz
  • Allstate
  • APL Software
  • AppDynamics
  • Armakuni
  • Atos
  • Biarca
  • Bloomberg
  • BNY Mellon
  • Bosch
  • CA
  • Capgemini
  • Cisco
  • Cloudsoft
  • Cognizant
  • Comcast
  • Dell EMC
  • Docker
  • ECS Team
  • Evoila
  • Fidelity International
  • Ford
  • Fujitsu
  • GE Digital
  • Gemalto
  • Google
  • Grape Up
  • Hazelcast
  • Hexad
  • Hitachi
  • Honeywell
  • Hewlett Packard Enterprise
  • Huawei
  • IBM
  • Intel
  • JPMorgan Chase
  • Mendix
  • Mimacom
  • MoPass
  • NIA
  • NTT
  • Philips
  • Pivotal
  • Proximetry
  • Qio
  • RBC
  • Redis Laps
  • Resilient Scale
  • SAP
  • SAS
  • Stark & Wayne
  • SUSE
  • Swisscom
  • Telstra
  • TIBC
  • Toshiba
  • VMware
  • Volkswagen

Vorteile von Cloud Foundry

Cloud Foundry ist nicht nur ein Open-Source-PaaS-Produkt, sondern bietet auch alle Tools und Ressourcen, die für die Entwicklung von Cloud-Anwendungen und Containern erforderlich sind. Es gibt Tutorials und eine Zertifizierung als Cloud Foundry Certified Developer für diejenigen, die regelmäßig mit Cloud Foundry arbeiten.

Die Kosten für die Entwicklung von Anwendungen und Containern lassen sich mit Cloud Foundry erheblich senken. Es verfügt über einen eigenen nativen Workflow, der sich von anderen PaaS-Produkten wie Kubernetes unterscheidet, die flexibler sind und sich an die Workflow-Anforderungen der Benutzer anpassen lassen.

Viele Cloud-Anbieter wie AWS, Microsoft Azure und Google Cloud bieten Cloud Foundry in ihren Servicekatalogen an.

Nachteile von Cloud Foundry

Die grundlegende Prämisse von Cloud Foundry ist die Erleichterung der Entwicklung von Cloud-Anwendungen sowie von Container-Anwendungen. Wie bereits erwähnt ist der Arbeitsablauf streng und weniger flexibel als bei anderen Entwicklungsplattformen.

Es ist nützlich, Cloud-Foundry-Implementierungen zu prüfen, die von Drittfirmen und Cloud Service Providern angeboten werden, um etwaige Abweichungen im Code und in den Anweisungen zu erkennen.

Benutzer, die eine Bindung an einen bestimmten Anbieter vermeiden möchten, verwenden stattdessen die Open-Source-Version.

Diese Definition wurde zuletzt im Oktober 2023 aktualisiert

Erfahren Sie mehr über Business-Software