OpenShift – JBoss in den Wolken

Für unser Beispiel wählen wir als Applikationstyp und Applikationsserver den JBoss Application Server 6 und als Sprachversion JDK 6.0. Als Datenbank wählen wir mySQL aus.

Schritt 4: Installation der Anwendung

Nun kommt man zum eigentlichen Hinzufügen der vorbereiteten Anwendung. Im Reiter Files hat man die Möglichkeit, seine Applikation einfach per Upload einzufügen. Dasselbe gilt für die Data-Source, einer Konfigurationsdatei für die Datenbankanbindung, und die ganze Arbeit ist getan. In unserem Beispiel mussten wir allerdings feststellen, dass für den Zugriff auf eine externe mySQL-Datenbank der JDBC-Treiber fehlt und nicht über die Weboberfläche hinzugefügt werden konnte. Per SSH konnten wir ihn dennoch direkt installieren, und er war danach auch über die Verwaltungsoberfläche verfügbar. Benutzt man statt dessen die von OpenShift verwaltete mySQL-Datenbank, dann wird der JBoss automatisch mit dem JDBC-Treiber versorgt.

Als letzte Handlung ist der Deploy-Button im Reiter Deploy Changes zu betätigen. Die Anwendung wird gestartet und ist unter der angezeigten DNS-Adresse, erweitert um den Anwendungsnamen, zu erreichen.

Der Betrieb der Anwendung

Wenn man mit dem Deployment der eigenen Anwendung fertig ist, stehen eine Vielzahl an Monitoring-Möglichkeiten zur Verfügung (Abb. 5). Im Abschnitt Performance kann man sich einen ausführlichen und frei veränderbaren Überblick über die eigene Anwendung verschaffen. Neben diversen Filterfunktionen darf man sich einer frei verschiebbaren Zeitachse sowie mehrerer zu betrachtender Zeitfenster erfreuen. Die Übersichten über Transaktionszeiten und mehr lassen sich, per „Drag & Drop“, frei zusammenstellen. Zusammenfassend bietet der Performance-Bereich eine gelungene Übersicht. Neben diesem Abschnitt steht noch ein ausführlicher Log-Bereich zur Verfügung, in welchem alle wichtigen Meldungen gesammelt und per Filteroptionen angezeigt werden können.

Abb. 5: Übersicht über die ClusterknotenAbb. 5: Übersicht über die Clusterknoten (Vergrößern)

Resümee

Mit OpenShift ist eine Cloud-Plattform angetreten, die all das bietet, was Java-EE-Entwickler mit einem Schwerpunkt auf die JBoss-Plattform benötigen. Sie bietet eine Abstraktionsschicht zwischen unterschiedlichen IaaS-Anbietern und unterstützt die Jboss-Applikationserver als Cloud-Plattform. Sie bindet damit nur an den JBoss-Technologiestack aber nicht an Cloud-Anbieter. Orientiert man sich bei der Anwendungsentwicklung an die Java-EE-Standards, kann so ein Lock-In zu einem bestimmten Hersteller vermieden werden.

Der aktuelle Leistungsumfang von OpenShift ist allerdings noch sehr eingeschränkt und für einen produktiven Einsatz kaum brauchbar. Es fehlen neben Amazon EC2 noch weitere IaaS-Anbieter. Die Verwaltungsoberfläche hat noch einige Mängel. Teilweise ist man gezwungen, doch per SSH direkt auf die Server zuzugreifen, um diese zu konfigurieren. Die Antwortzeiten der Dialoge sind manchmal quälend langsam. Teilweise sind auch noch echte Mängel vorhanden, wie z.B. die Nichtänderbarkeit von EC2-Authentisierungsinformationen, die eine Korrektur von Fehleingaben verhindert.

Ein großes Manko ist auch noch die Anbindung von Datenbanksystemen. Die Dokumentation ist in dem Bereich noch sehr spärlich. Zusatzkomponenten, die zur Datenspeicherung in der Cloud angeboten werden, entstammen größtenteils noch der Makara-Vergangenheit. Bei einer JBoss-orientierten Plattform erwartet man auch eine direkt Unterstützung von Infinispan, dem Cloud-fähigen Daten-Cache [2].

Nichtsdestotrotz werden wir OpenShift weiter evaluieren. Besonders interessant wird die Unterstützung von automatisch skalierenden Clustern werden. Wenn OpenShift irgendwann eine automatische Anpassung der JBoss-Clusterkonfiguration, z.B. beim Second-Level-Cache oder beim Nachrichtendienst, an Änderungen des Rechenclusters bieten wird, dann steht dem erfolgreichen Einsatz von Java EE in einer Cloud-Umgebung nichts mehr im Wege.

Dr. Torsten Fink ist Geschäftsführer der akquinet tech@spree und Leiter des JBoss Competence Centers. Neben der Leitung von Java EE-Projekten führt er Architektur- und Technologieberatungen durch.

Florian Schneble studiert Informatik an der HTW Dresden. Er schreibt gerade seine Diplomarbeit mit dem Thema „Einflüsse von Cloud-Konzepten auf unterschiedliche Architekturklassen von Geschäftsanwendungen unter Berücksichtigung der Java EE“.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.