Red Hat OpenShift vorgestellt

PaaS: so entwickelt man Applikationen effizienter
Kommentare

Unternehmen können mit einer PaaS-Umgebung die Geschwindigkeit und Produktivität in ihren Entwicklungsprojekten deutlich erhöhen. Eine geeignete Plattform muss dazu Kriterien wie hohe Verfügbarkeit, automatisches Provisioning, dynamische Skalierung und den Einsatz in privaten, öffentlichen und hybriden Clouds erfüllen. All das bietet Red Hat OpenShift.

Platform as a Service (PaaS) deckt ein breites Themenspektrum ab – sehr weit gefasst, ist es ein generischer Begriff für Web-APIs. Im engeren Sinne ist damit ein Set von Programmierschnittstellen für gehostete Applikationen gemeint. Red Hat versteht darunter eine konfigurierbare Black Box, die Entwicklern ermöglicht, sich auf die Erstellung, den Betrieb und die Verwaltung von Applikationen zu konzentrieren. Sie müssen sich dann nicht mehr um Infrastrukturaufgaben wie Provisionierung, Anpassung von Betriebssystem-Images, Firewall-Konfigurationen oder andere Infrastrukturaufgaben kümmern. Das Ergebnis: Die Entwickler können produktiver arbeiten. Gleichzeitig arbeiten sie auf einem System, das der Zielumgebung schon in der Entwicklung ähnlich sieht.

Einige dieser Vorteile ergeben sich daraus, dass Entwickler schneller auf die benötigten Ressourcen in einer Cloud zugreifen können. Sie müssen nicht mehr auf eine interne IT warten, die ihnen für ein neues, eiliges Entwicklungsprojekt zunächst einmal Server bestellen und sie konfigurieren müssen. Wobei dieser Aspekt eher zu den generellen Vorteilen von Cloud Computing zählt – egal ob es sich dabei um eine Public oder gut ausgestattete Private Cloud handelt. Gerade in einer Private Cloud kommen die Stärken eines PaaS zum Zuge. Neu ist bei OpenShift, dass sich durch die Provisionierung eines Teils einer virtuellen Maschine zur Laufzeit auch eine Reihe manueller Prozesse zum Provisionieren von virtuellen Maschinen umgehen lässt. Die Neu-Provisionierung einer OpenShift-Umgebung ist nur bei größerem Anstieg der Entwicklungsprojekte nötig. Entwickler können sich damit ausschließlich auf ihre Kernaufgaben fokussieren, nämlich Applikationen mit intuitiver Benutzeroberfläche zu erstellen sowie die dazu notwendigen Datenbankarchitekturen aufzubauen.
Anfangs war PaaS nahezu ausschließlich ein Thema für Early Adopter, die Neues ausprobieren, erste Ergebnisse testen und Erfahrungen sammeln wollten – oder für Start-up-Unternehmen, die als unabhängige Softwarefirmen anfangen und (noch) nicht über eine eigene Entwicklungsinfrastruktur verfügen. Das hat sich in der Zwischenzeit geändert, weil die PaaS-Angebote ausgereifter sind. Waren viele früher auf eine einzige Cloud-Plattform und eine geringe Auswahl an Programmiersprachen beschränkt, sind diese Einschränkungen heute nicht mehr gegeben. Red Hat OpenShift etwa unterstützt Java EE 6, Ruby, Node.js, PHP, Perl sowie Python und verfügt außerdem über Support für weit verbreitete Middleware-Komponenten wie beispielsweise JBoss; dazu kommen die Datenbanken MongoDB, MySQL und PostgreSQL sowie gängige Entwicklungstools wie Maven, Jenkins und Eclipse.

Neue Applikationen erstellen

Dieses breite Spektrum an unterstützten Programmiersprachen und Datenbanken spielt eine wichtige Rolle bei der Einführung von PaaS in Unternehmen, denn hier verfügen Entwickler über die unterschiedlichsten Vorkenntnisse. Während einige nahezu ausschließlich über Erfahrungen mit Drop-and-Click-Interfaces verfügen, arbeiten andere traditionell mit Command-Line-Tools.
Grundsätzlich betrachtet gibt es drei Möglichkeiten, um mit der PaaS-Umgebung Red Hat OpenShift eine neue Anwendung zu erstellen: Der schnellste Weg erfolgt via Browser, eine zweite Möglichkeit ist die per Kommandozeile und die dritte Variante nutzt dazu eine integrierte Entwicklungsumgebung wie Eclipse.
Verfügbar ist OpenShift in zwei Betriebsmodi: erstens als reiner Onlineservice seit Mai 2011 (OpenShift Online), dessen Sourcecode als OpenShift Origin quelloffen zur Verfügung steht und zweitens als OpenShift Enterprise. Die Enterprise-Variante stellt Unternehmen eine Applikationsplattform einschließlich eines automatisierten Betriebssystems und Middleware bereit, mit der Anwendungen in der Cloud entwickelt und betrieben werden. Unternehmen können die Enterprise-Variante im eigenen Rechenzentrum, aber auch in Public, Private oder Hybrid Clouds einsetzen (Abb. 1). OpenShift Enterprise unterstützt die JBoss Enterprise Application Platform 6 und ist für Java EE 6 zertifiziert. Davon profitieren vor allem Unternehmen mit umfangreichem Java-Know-how, die jetzt einen Einstieg in eine PaaS-Umgebung planen.

Abb. 1: Hybrid Cloud bedeutet, dass ein Unternehmen seine Infrastruktur teils im eigenen Rechenzentrum und teils in einer öffentlichen Cloud betreibt (Quelle: Red Hat)

OpenShift Enterprise ist eine kommerzielle Lösung, die Red Hat im Rahmen seines Subskriptionsmodells unterstützt. Bei der Weiterentwicklung nutzt Red Hat Ergebnisse und Beiträge aus dem Communityprojekt OpenShift Origin. Unternehmen können die PaaS-Lösung direkt auf einem Server unter Red Hat Enterprise Linux implementieren, sie kann aber auch mit Red Hat Enterprise Virtualization oder einer anderen Virtualisierungsplattform laufen.
Der OpenShift Broker verwaltet eine oder mehrere Instanzen von Red Hat Enterprise Linux (die Nodes). Für einen Entwickler bildet der Broker die Schnittstelle, um mit OpenShift zu kommunizieren. Angesprochen wird der Broker über ein REST-API. Auf Basis der Cartridge-Architektur von OpenShift können Entwickler weitere Services einbinden (Abb. 2). Cartridges bieten spezielle Funktionen und können in einem oder mehreren Gears (sichere Red Hat Enterprise Linux Container) laufen. Ein Gear kann eine oder mehrere Cartridges aufnehmen. In der Onlinevariante von OpenShift stehen pro Benutzer drei Gears mit jeweils 512 GB RAM, 100 Swaps und 1 GB Festplattenspeicher bereit. Mit dem Prinzip der Cartridges können Entwickler ihre Applikationen um die benötigten Funktionalitäten erweitern. Bei den Cartridges lassen sich unterschiedliche Typen unterscheiden: Programmiersprachen, Administration, Datenbanken und Entwicklungstools.

Abb. 2: Mit Cartridges installiert OpenShift Programmiersprachen und Middleware (Quelle: Red Hat)

Umfangreiche und ausgereifte Sicherheitsfunktionen

Mehrere Applikationen können dem Multi-Tenancy-Modell entsprechend auf einem Node laufen, wobei jede Applikation aus einem oder mehreren Gears besteht. Securityregeln, erstellt mit SELinux (Security-Enhanced Linux), isolieren sicher die einzelnen Node-Instanzen. Mit MAC (Mandatory Access Control) stellt SELinux eine verpflichtende Zugangskontrolle und somit wirksame Sicherheitsfunktionen zur Verfügung, die für eine vertrauenswürdige PaaS-Lösung in einer Public, Private und Hybrid Cloud von entscheidender Bedeutung sind. SELinux ermöglicht eine fein abgestufte Vergabe von zentral gesteuerten und überwachten Rechten an Applikationen sowie Benutzer und sorgt so für eine hohe Sicherheit.
Control Groups (cgroups) bieten leistungsfähige Funktionen, um Prozessoren, Speicher und I/O-Ressourcen zwischen Applikationen aufzuteilen. Damit können Entwickler die Ressourcennutzung bezüglich Memory-Verbrauch, Speicher- und Netzwerkanforderungen sowie Verarbeitungsprioritäten detailliert steuern und überwachen. Gleichzeitig bieten diese Funktionen die Möglichkeit, Regeln für Service-Level-Agreements zu implementieren.
Kernel-Namespaces separieren Prozessgruppen, damit die jeweiligen Ressourcen einander nicht beeinflussen können. Aus Sicht einer Applikation, die in der PaaS-Umgebung OpenShift läuft, hat diese Applikation Zugriff auf eine einzelne Instanz von Red Hat Enterprise Linux, obwohl sie sich in der Realität gemeinsam mit anderen Applikationen eine einzelne Instanz teilt. All diese Sicherheitsvorkehrungen zusammengenommen ähneln dem Konzept von Containern, bieten aber eine bessere Trennschärfe. Die generellen Securityfunktionen von OpenShift entstanden bereits im Zusammenhang von OpenShift Online und finden nun auch Eingang in Red Hat OpenShift Enterprise. Unternehmen, die damit Applikationen erstellen und betreiben, können ihre Entwicklungs-Workflows effizienter organisieren und Anwendungen bereitstellen, die hohen Anforderungen an Konsistenz, Sicherheit und Flexibilität genügen.

Aufmacherbild: Business improvement and finance success analyzing concept. Tablet PC with pie chart and growth diagram on a screen. 3d image von Shutterstock / Urheberrecht: Umberto Shtanzman

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -