Kategorien
News

Unternehmen aufgepasst: Red Hat schiebt Java EE 6 in die Cloud

Die neue JBoss Enterprise Application Platform 6 kann nun auch als Developer Preview zusammen mit dem Platform-as-a-Service (PaaS) Red Hat OpenShift eingesetzt werden. Damit wäre OpenShift der erste PaaS, der mit der Java EE 6 läuft. Das gab Red Hat während seines Red Hat Summit 2012 bekannt.

Unternehmen aufgepasst: Red Hat schiebt Java EE 6 in die Cloud

Java EE in der Cloud

Die Enterprise Application Platform 6 steht aktuell als Developer Preview kostenlos auf OpenShift.com bereit. Die neue Version ermöglicht das Code Deployment mit Hilfe des JBoss Developer Studio 5 direkt auf OpenShift. Zudem unterstützt sie Java Funktionen wie EJB 3.1 und JMS und erlaubt die Konfiguration und Administration entweder über das Web oder eine Kommandozeile. Weiterhin können eine Reihe an Java Framework für die Entwicklung von Web, Mobile, HTML5 und komplexen Anwendungen genutzt werden.

Kostenpflichtiger Support

Im Laufe des Jahres plant Red Hat einen kostenpflichtigen Support als Teil seines „MegaShift“ Angebots. Zudem sind weitere Optionen wie Auto-Clustering oder Skalierung in Vorbereitung.

Kategorien
News

Red Hat stellt die Strategie für seinen OpenShift Platform-as-a-Service vor

Red Hat hat gestern seine weiteren Pläne für die Platform-as-a-Service Lösung OpenShift vorgestellt. Red Hat unterstützt mit OpenShift PaaS sowohl die traditionellen Methoden als auch moderne Verfahren der Applikationsentwicklung. Auch in OpenShift PaaS für Unternehmen nutzt Red Hat seine Kerntechnologien, wie sie bereits im OpenShift Public PaaS zum Einsatz kommen und ermöglicht Organisationen, mit einer Cloud-Umgebung ihre operative Flexibilität und die Effizienz der Applikationsentwicklung zu optimieren.

Red Hat stellt die Strategie für seinen OpenShift Platform-as-a-Service vor

Red Hat hat OpenShift 2011 vorgestellt und bietet Entwicklern damit eine Cloud-Application-Plattform, die sie mit einem breiten Spektrum von Programmiersprachen, Frameworks und Application-Lifecycle-Tools nutzen können. Im Verlauf des letzten Jahres sind weitere, gerade entstehende Programmiersprachen, wie Node.js, hinzugekommen. Zudem unterstützt OpenShift Java EE6 sowie den gesamten Lebenszyklus von cloudbasierten Java-Applikationen. Ferner hat Red Hat im Rahmen des Projekts OpenShift Origin den Sourcecode quelloffen zur Verfügung gestellt.

Viele interne und externe Anforderungen werden von PaaS-Angeboten nicht erfüllt. Dazu zählen beispielsweise Compliance-Vorgaben, Architektur- und Servicestandards wie ITIL, IT-Governance, Sicherheitsrichtlinien, Application-Lifecycle-Management, unterschiedliche Methoden und Verfahren zur Applikationsentwicklung, organisatorische und prozessurale Restriktionen oder Datenschutzvorgaben. PaaS-Lösungen müssen heute all diese Anforderungen erfüllen und gleichzeitig den Entwicklern ein leistungsfähiges Spektrum an Tools zur Verfügung stellen.

Die vorgestellte Roadmap adressiert genau diese Anforderungen und eignet sich für vielfältige Einsatzgebiete einer PaaS. Open Shift verfügt über eingebaute Sicherheits- und skalierbare Multi-Tenancy-Funktionen, bewährte Application Container, Middleware, Services und die neuesten Technologien. Red Hat unterstützt den Einsatz in Public Clouds, in Rechenzentren und hybriden Einsatzszenarien, ergänzt um umfangreiche Managementfunktionen. Basierend auf den Kerntechnologien von OpenShift PaaS – einschließlich Red Hat Enterprise Linux, Red Hat Storage, JBoss Enterprise Middleware und den mit OpenShift verfügbaren integrierten Programmiersprachen, Frameworks und Entwickler-Tools – stellt Red Hat eine PaaS für den Einsatz in Unternehmen sowie in offenen und hybriden Clouds bereit.

Red Hat plant, die OpenShift-Plattform für den Einsatz in Unternehmen um weitere Betriebs- und Managementoptionen zu erweitern, beispielsweise ein:

  • DevOps-Modell, bei dem Entwickler ihre Applikationen entweder als Public-PaaS-Lösung unter openshift.redhat.com oder als Private-PaaS-Lösung bereitstellen und verwalten können.
  • ITOps-Modell, bei dem eine interne IT-Abteilung die Vorteile von PaaS ihren Entwicklern bereitstellt und gleichzeitig die volle Kontrolle über ihre Applikationen und die Infrastruktur behalten kann – und dies alles auf Basis von OpenShift und Red Hat CloudForms.
  • Self-Managed-Modell, bei dem OpenShift auf dem Notebook eines einzelnen Entwicklers läuft.
Kategorien
News

Red Hat startet OpenShift Origin Projekt

Mit OpenShift Origin startet Red Hat ein Open Source Projekt, in dem alle Komponenten des OpenShift PaaS Angebots enthalten sind, die unter die Apache v2 License gestellt werden.

Das Origin Projekt dient der Verbesserung der OpenShift Plattform, indem ständig Code Optimierungen in den PaaS einfließen werden. Dieser läuft aktuell auf der Infrastruktur der Amazon Web Services und steht im direkten Wettbewerb zu VMwares Cloud Foundry.

Red Hat PaaS Evangelist Mark Atwood beschreibt einen PaaS grundsätzlich als eine Anwendungsplattform inkl. einem Betriebssystem sowie einer Middleware, mit der Anwendungen in der Cloud betrieben werden. Dadurch können Entwickler schneller ihre Anwendungen ausrollen und innerhalb der Cloud skalierbarer entwickeln.

Der Origin Quellcode steht auf GitHub bereits zum Download bereit und ermöglicht Entwicklern eine OpenShift Installation auf dem eigenen Laptop oder einem Server im Intranet oder Rechenzentrum zu nutzen.

Kategorien
Analysen

Eine Analyse der Microsoft Windows Azure Plattform

Neben Platform-as-a-Services wie Cloud Foundry, Force.com, Google App Engine oder Red Hat OpenShift sollte man einen Service nicht vergessen: Windows Azure. Microsoft verfügt historisch bedingt über eine weltweit riesige Entwicklergemeinde, die nicht unterschätzt werden sollte. Die Microsoft Windows Azure Plattform wurde 2008 angekündigt und 2010 veröffentlicht. Seitdem hat Microsoft sein PaaS Angebot stetig um neue Funktionen erweitert.

Die Windows Azure Referenzarchitektur

Die Windows Azure Plattform wurde speziell für Entwickler konzipiert, um Anwendungen auf Basis von Microsoft Technologien wie bspw. .NET zu entwickeln. Dennoch können auch Java, PHP oder Node.js Entwickler die Umgebung für ihre Zwecke nutzen. Dazu bietet Microsoft ausreichend Tools und Plugins für Eclipse und anderer bekannter Entwicklungsumgebungen, um dieses zu ermöglichen.

Zunächst werden die einzelnen Komponenten der Windows Azure Platform betrachtet. Im Anschluss folgen dann ein paar Szenarien, wofür Azure genutzt werden kann.

Windows Azure

Bei Windows Azure handelt es sich um Herz und Seele der gesamten Azure Plattform. Es ist das Betriebssystem, dass auf jedem Server innerhalb der weltweit verteilten Rechenzentren der Azure Cloud läuft. Anders als die anderen Windows Versionen kann Windows Azure nicht käuflich erworben werden und ist speziell auf die Bedürfnisse der Cloud Infrastrukturen von Microsoft abgestimmt. Windows Azure abstrahiert dabei die darunterliegende Hardware und suggeriert somit, dass es sich dabei um lediglich eine Instanz des Betriebssystems handelt. Da das Betriebssystem über mehrere physikalische Server hinweg operiert, sorgt eine spezielle Schicht für die Koordination und Ausführung der jeweiligen Prozesse. Diese Schicht wird auch Fabric bezeichnet. Zwischen der Fabric und dem Windows Azure Betriebssystem befinden sich die virtuellen Maschinen (VM), auf denen der eigentliche Quellcode und die Anwendungen ausgeführt werden. Entwickler sehen jedoch nur zwei Services dieses Stacks, Windows Azure Compute und Windows Azure Storage.

Windows Azure Compute

Windows Azure Compute wird bspw. genutzt, wenn eine Anwendung auf Windows Azure ausgerollt werden soll. Dazu werden Anwendungen in drei möglichen Rollen ausgeführt, Web Role, Worker Role oder VM Role. Die Web Role wird genutzt um typische ASP.NET Web Anwendungen oder jede andere Art von CGI Web Anwendungen zu betreiben. Die Worker Role wird benötigt um langlaufende Prozesse, die über keine Benutzeroberfläche verfügen, auszuführen. Eine Web Role könnte in diesem Zusammenhang z.B. ein IIS Container und eine Worker Role ein Windows Service sein. Beide können auf mehreren Wegen miteinander kommunizieren, wobei der Quellcode innerhalb der Worker Role jedoch unabhängig von der Web Role läuft. Über die Worker Role können dann sowohl .NET Anwendungen als auch native COM Anwendungen auf Windows Azure portiert werden. Über die Worker Role unterstützt Windows Azure zudem Microsoft fremde Umgebungen wie PHP, Java und Node.js. Die VM Role ermöglicht es schlussendlich, Anwendungen innerhalb eines angepassten Windows Server 2008 Image auszuführen. Damit sind Unternehmen in der Lage Anwendungen auf Windows Azure zu portieren, die z.B. Abhängigkeiten zu Komponenten von Drittanbietern haben.

Windows Azure Storage

Um eine Anwendung ausführen zu lassen wird auf jedenfall Speicherplatz für die Konfiguration und weiterer Daten benötigt. Windows Azure Storage bietet hier drei unterschiedliche Möglichkeiten: Blobs, Tables und Queues.

Blobs sind dafür geeignet, um große binäre Objekte wie Bilder und Videos, Dokumente usw. zu speichern. Tables bietet einen skalierbaren Key/ Value basierten Speicher. Queues werden genutzt, um Nachrichten zuverlässig zwischen einzelnen Anwendungen zu übertragen. Daher sind Queues die beste Lösung, um eine Web Role und Worker Role miteinander kommunizieren zu lassen. Der Zugriff auf die Daten in Windows Azure Storage erfolgt per HTTP und REST.

Windows Azure Service Bus

Der Windows Azure Service Bus sorgt für eine nahtlose Integration von Services die sich innerhalb eines Unternehmens hinter einer Firewall und einem Service in der Cloud befinden. Damit wird quasi eine sicherer Brücke zwischen den klassischen on-Premise Anwendungen im Unternehmen und den Cloud Services hergestellt. Dazu werden die Services die sich hinter der Firewall oder dem NAT befinden bei dem Service Bus registriert, wodurch ein Cloud Service diese anschließend aufrufen kann. Der Service Bus abstrahiert den physikalischen Ort des Service, indem er eine URI bereitstellt, die jeder für den Aufruf nutzen kann.

Access Control Service

Bei dem Access Control Service handelt es sich um einen Mechanismus, der für die Absicherung der Cloud Services und Anwendungen genutzt wird. Dazu können auf eine sehr deklarative Art und Weise Regeln definiert werden, mit denen bestimmt wird, wie ein Cloud Service aufgerufen werden darf. Dabei werden eine Vielfalt von unterschiedlichen Identity-Management Infrastrukturen unterstützt. Der Access Control Service ermöglicht es bspw. Unternehmen ihre on-Premise Sicherheitsmechanismen der Active Directory mit den Cloud basierten Authentifizierung zu integrieren.

Windows Azure Caching

Windows Azure Caching stellt Anwendungen, die auf Windows Azure gehosted werden, einen In-Memory Caching Service zur Verfügung. Dieser vermeidet die Schreib/- und Lesezugriffe auf die Festplatte und ermöglicht den Anwendungen einen schnellen Zugriff auf die Daten aus einem High-Speed Cache. Der Cache kann mehrere Arten von Daten speichern, darunter XML, Binärdaten oder serialisierte CLR Objekte. Web Anwendungen die häufig nur lesende Zugriffe benötigen, können den Cache nutzen, um die Geschwindigkeit zu erhöhen.

SQL Azure

SQL Azure ist der Microsoft SQL Server in der Cloud. Anders als Azure Storage, das für das Speichern von unstrukturierten Daten genutzt wird, handelt es sich bei SQL Azure um eine vollständige Relationale Datenbank Engine. Sie basiert auf der selben Datenbank Engine wie der MS SQL Server und kann per T-SQL abgefragt werden. Auf Grund der Nähe zu MS SQL können on-Premise Anwendungen ohne weiteres auf SQL Azure zurückgreifen. Entwickler können mit ADO.NET oder ODBC API auf SQL Azure zugreifen. PHP Entwickler nutzen dazu die PHP API. Mit Microsoft SQL Azure Data Sync können Daten zwischen dem on-Premise SQL Server und SQL Azure synchronisiert werden. Dabei handelt es sich um eine sehr mächtige Funktion, um Datenknoten innerhalb der Cloud aufzubauen, die ständig mit den lokalen on-Premise Datenbanken synchronisiert werden. SQL Azure kann zudem exakt so behandelt werden wie ein gewöhnlicher Datenbank Server im eigenen Rechenzentrum. Da Microsoft hier allerdings für die Installation, Wartung und Verfügbarkeit des Datenbank Service zuständig ist, können sich Unternehmen darauf konzentrieren, den Service einfach nur zu nutzen.

Nun folgen ein paar Szenarien, die Ideal für die Nutzung der Microsoft Windows Azure Plattform sind.

Skalierbare Web Anwendungen

Da die Windows Azure Plattform auf den bekannten .NET und ASP.NET Plattformen basiert, ist es für Entwickler dieser Technologien einfach zu wechseln und Web Anwendungen kostengünstig auf Windows Azure zu betreiben. Damit erhalten Sie die Möglichkeit die Skalierbarkeit ihrer Web Anwendungen deutlich zu erhöhen ohne sich Gedanken über die dafür
notwendige Infrastruktur zu machen. Selbst PHP, Java oder Node.js Entwickler können von Azure profitieren.

Rechenintensive Anwendungen

Die Windows Azure Plattform kann für sehr prozess- und rechenintensive Anwendungen genutzt werden die gelegentlich eine große Menge an Rechenressourcen benötigen. Durch die Nutzung der Worker Role können Entwickler ihren Quellcode über mehrere Instanzen parallel ausführen lassen. Die entweder durch die Web Role oder der on-Premise Anwendung generierten Daten können anschließend der Worker Role via Azure Storage zugeteilt werden.

Zentraler Zugriff auf Daten

Wenn Daten für eine Vielzahl von Anwendungen, den Zugriff durch mehrere Browser, Computer und mobile Endgeräte zugänglich gemacht werden sollen, macht es Sinn, diese an einem zentralen Ort zu speichern. Windows Azure Storage ist hier eine gute Lösung, um Daten zentral zu speichern und zu pflegen sowie Desktop Anwendungen, Silverlight, Flash und AJAX basierten Web Anwendungen oder mobilen Applikationen bereitzustellen.

Hybride Anwendungen – verteilt in der Cloud und on-Premise

Es kann Bedingungen für die Erweiterung eines Teils einer Anwendung für die Cloud oder den Aufbau einer Cloud-Oberfläche für eine bestehende Anwendung geben. Durch die Nutzung des Service Bus und Access Control können on-Premise Anwendungen nathlos und sicher um bzw. in die Cloud erweitert werden. Dazu kann der Service Bus sowie eine weitere Technologie – Azure Direct Connect – dabei helfen, ein hybrides Cloud Szenario aufzubauen.

Cloud basierte Datenknoten

Mit Hilfe von SQL Azure können Unternehmen Datenknoten aufbauen, die den Zugriff durch externe Partner oder mobile Mitarbeiter ermöglichen. So könnte bspw. ein Unternehmen einen Teil seiner Daten in der Cloud bereitstellen, die ständig mit der lokalen Datenbank synchronisiert werden. Die Datenbank in der Cloud wird dann für B2B Partner für Abfragen und Bestellungen geöffnet. Hier helfen SQL Azure und SQL Azure Data Sync bei der Umsetzung so eines Szenarios.

Kategorien
Analysen

Red Hat OpenShift – Ein Blick hinter die Kulissen

Red Hat gehört zweifelsohne zu den bekannten Unternehmen die Plattformen in ihrem Portfolio haben. Zudem haben sie es geschafft das Open Source Konzept in ein rentables Business Model zu überführen. Mit der damaligen Akquisition von JBoss wurde der Weg in den lukrativen Markt der Middleware und Application-Server geebnet. In der Szene gilt der JBoss darüber hinaus zu den Entwickler freundlichen J2EE Application-Server.

RedHat: Von Open-Source zur Open-Cloud

Red Hats Cloud Strategie hat sich mit der Zeit entwickelt. Begonnen hat alles mit der klassischen Virtualisierung basierend auf KVM gefolgt von Red Hat MRG, mit dem Messaging-, Realtime- und Grid-Technologien für Unternehmen angeboten werden. Mit CloudForms erschien dann der erste vollständige IaaS Stack zum Aufbau einer Private Cloud, die im direkten Wettbewerb zu VMware und Microsoft Hyper-V steht. Somit hatet RedHat alle notwendigen Komponenten zusammen, um eine PaaS Angebot zu veröffentlichen: Virtualisierung auf Basis von KVM, Self Service und Private Cloud Möglichkeiten anhand von CloudForms sowie Application Services via JBoss.

Red Hat hat erkannt, dass wenn es im PaaS Bereich erfolgreich sein will, ein mehrsprachiges Angebot in den Markt bringen muss. Die Stärke von Red Hat besteht, unterstützt durch JBoss, in der Java EE Plattform. Durch die Akquisition von Makara wurde ein PaaS Anbieter gekauft, der sich auf PHP und Python Umgebungen spezialisiert hat. Ein kluger Schachzug, da Makara um Java EE erweitert werden konnte, um damit ein PaaS Angebot für Unternehmen anzubieten. Im May 2011 wurde mit OpenShift dann endgültig ein PaaS für Unternehmen veröffentlicht.

OpenShift gibt es in zwei unterschiedlichen Varianten: Express und Flex.

OpenShift Express ist ein kostenloses Angebot für Entwickler, dass zwar über keine graphische Managementoberfläche verfügt, aber eine Reihe von Sprachen wie Java, Perl, PHP, Python und Ruby unterstützt. Die Anwendungen werden in einer Shared-Umgebung betrieben und können über diverse Kommandozeilentools deployed werden. Die Möglichkeiten die einem Entwickler zur Verfügung stehen sind recht umfangreich. OpenShift Express unterstützt neben GIT Deployments eine gute Auswahl an Sprachen und Datenbanken.

OpenShift Flex läuft auf Amazon EC2 und benötigt die AWS Anmeldedaten, um Deployments von Anwendungen vorzunehmen. Während der 30 tägigen Probezeit werden die AWS Anmeldaten nicht benötigt und ermöglichen für diesen Zeitraum die kostenlosen Nutzung. OpenShift Flex ist für Unternehmen und Anwendungen mit einer Hochverfügbarkeit gedacht. Dazu werden neben dem JBoss Application Server ebenfalls der Apache Web Server, Apache Tomcat, MySQL, PHP, Zend Framework, Java, Memcached, Membase, Infinispan, MRG Messaging und MongoDB unterstützt. Die Architektur von OpenShift Flex wurde für Cloud Skeptiker entwickelt. Das bedeutet, das Flex technisch auf mehreren Public Cloud Anbietern und ebenfalls innerhalb eines eigenen Private PaaS eingesetzt werden kann.