Tag: Cloud Foundry


Die Top 15 Open Source Cloud Computing Technologien 2014

Open Source Technologien blicken auf eine lange Geschichte zurück. Dabei gehören Linux, MySQL und der Apache Webserver zu den populärsten und erfolgreichsten Technologien, die von der Community hervorgebracht wurden. Im Laufe der Jahre hat sich um das Thema Open Source ein wahrer Hype entwickelt, der von Entwicklern getrieben in die Unternehmens-IT eingezogen ist. Heute sind IT-Umgebungen ohne Open Source Technologien nicht mehr vorstellbar. Vorangetrieben durch das Cloud Computing rückt Open Source wieder stärker in das Rampenlicht. Continue reading “Die Top 15 Open Source Cloud Computing Technologien 2014” »



Ein balzender Silberrücken: SAP unterstreicht die Bedeutung von OpenStack und Cloud Foundry

Was hat es zu bedeuten, wenn ein 800 Pfund schwerer Gorilla in für ihn eher fremden Gefilden herumwildert? 1. Er will sein Hoheitsgebiet erweitern. 2. Er ist auf der Suche nach neuen attraktiven Partnerinnen. Ein ähnliches Verhalten legt aktuell SAP an den Tag. Wie der ERP-Primus im Rahmen der OSCON 2014 angekündigt hat, werden die Walldorfer ihr Engagement in den zwei derzeit angesagtesten Open-Source Communities (OpenStack, Cloud Foundry) intensivieren. Was dieser strategische Schritt zu bedeuten hat, welcher Einfluss damit entsteht und welche Vorteile davon für die SAP-Anwender ausgehen, erläutert dieser Analyst View. Continue reading “Ein balzender Silberrücken: SAP unterstreicht die Bedeutung von OpenStack und Cloud Foundry” »



Pulse 2014: IBM stellt die Open Cloud ins Zentrum seiner Strategie

Während seiner Hausmesse Pulse 2014 in Las Vegas hat IBM seine Unternehmensstrategie für die kommenden Jahre deutlich kommuniziert. Open-Source wird einmal mehr zur zentrale Säule und soll dem Unternehmen den Weg zu den Enterprise-Workloads und Entwicklern ebnen. Eine weitere wichtige Rolle wird Softlayer einnehmen. Crisp Research hält die Open Cloud Strategie für eine erfolgsversprechende Strategie, sieht im Bare Metal Ansatz von Softlayer die logische Ergänzung des IBM Portfolios. Continue reading “Pulse 2014: IBM stellt die Open Cloud ins Zentrum seiner Strategie” »



HP Discover: HP hat nun einen eigenen Private Platform-as-a-Service im Portfolio

Auf der HP Discover ist es zwar leider ein wenig untergegangen, aber wie Ben Kepes über PR-Kanäle erfahren konnte, hat HP ebenfalls nun einen eigenen Private Platform-as-a-Service (PaaS) im Portfolio. Dieser basiert auf Stackato, welches wiederum ein sogenannter Fork von Cloud Foundry ist.

HP Platform-as-a-Service

HP selbst bezeichnet seine neue, auf Unternehmen fokussierte Plattform, als eine Applikations-Plattform zur Entwicklung, Bereitstellung und dem Management von Cloud Applikationen unabhängig von der Programmiersprache und dem dafür benötigten Stack.

Partnerschaft mit ActiveState

Um den eigenen PaaS anzubieten, geht HP eine Partnerschaft mit ActiveState, der treibenden Kraft hinter Stackato ein. Dazu greift HP auf eine OEM Lizenz von Stackato zurück, um den PaaS in die eigene Cloud Infrastruktur zu integrieren.

Für ActiveState bedeutet dies eine Art kleiner Ritterschlag. Normalerweise sollte man davon ausgehen, dass ein so großes Unternehmen wie HP selbst die Expertise besitzt, einen PaaS zu entwickeln. Es zeigt jedoch, wie gut Stackato scheinbar in die Infrastruktur von HP passt.

Was ist Stackato?

Stackato selbst erlaubt es Entwicklern eine Vielzahl von unterschiedlichen Programmiersprachen zu nutzen, darunter Java, Ruby, Python, Perl, Node.js und PHP, halt ein typischer Polyglot PaaS.

Der Platform-as-a-Service Markt

Der PaaS Markt gehört zu den am schnellsten wachsenden Bereichen im Cloud Computing Markt. Glaubt man Gartner, wird dieses Marktsegment in den nächsten fünf Jahren von 1,2 Milliarden US-Dollar in 2012 auf 2,9 Milliarden US-Dollar in 2016 wachsen. Im Vergleich dazu lag der Wert in 2011 noch bei 900 Millionen US-Dollar. Gartner geht zudem davon aus, dass gegen Ende 2013 alle großen Softwareanbieter einen eigenen PaaS im Markt platziert haben werden.



SOASTA bietet CloudTest auf VMware Cloud Foundry

SOASTA hat seine Funktions- und Performance Test Plattform CloudTest als Service auf VMWares Platform-as-a-Service Cloud Foundry veröffentlicht. Dabei wird es sich nach Angaben von SOASTA um den ersten und ebenfalls einzigen automatisierten Test Service innerhalb des Cloud Foundry Ökoysystems handeln. Das gab das Unternehmen während der Feierlichkeiten zum einjährigen Bestehen von Cloud Foundry bekannt.

Mit CloudTest können Entwickler auf der Cloud Foundry Plattform oder einem Cloud Foundry basiertem Service nun Tests in Echtzeit durchführen und sogleich mögliche Fehlerquellen identifizieren und Lösungsmöglichkeiten finden.

In Zeiten von stetig wachsenden Anforderungen und dem Wunsch nach immer neuen Funktionen sind Entwickler von Web- und mobilen Anwendungen darauf angewiesen, sich auf Echtzeit Funktionstests verlassen zu können, die ebenfalls die Skalierbarkeit und weitere Performance Eigenschaften einer Anwendung überprüfen. Der einzige Weg dieses zu gewährleisten ist die Automatisierung von Testfunktionen, um den Entwickler bei seiner eigentlichen Arbeit zu entlasten.

CloudTest steht im Beta Status auf Cloud Foundry bereit und kann mit jedem CloudFoundry.com Account genutzt werden.



Analyse: Die Platform-as-a-Service Umgebung von VMware Cloud Foundry

Ursprünglich startete Cloud Foundry als Plattform für das Deployment von Java Spring Anwendungen auf die Amazon Web Services. Im April 2011 folgte dann die Übernahme durch VMware, wodurch Cloud Foundry zu einem Open Source und Multi-Framework Platform-as-a-Service Angebot wurde, das eine Vielzahl von unterschiedlichen Sprachen und Laufzeitumgebungen unterstützt. Dazu gehören u.a. Java, Spring, Ruby, Scala und Node.js. VMware bezeichnet Cloud Foundry auch als ein Open PaaS, da die Plattform vom gewöhnlichen Notebook, über einen PC bis hin zu einer Public Cloud auf unterschiedlichen Systemen und Umgebungen genutzt werden kann.

Cloud Foundry ermöglicht das Multi-Cloud Deployment

Die Cloud Foundry Plattform setzt sich aus drei Bereichen zusammen. Der Erste bezieht sich auf die Wahl des Frameworks, der Zweite auf die Serviceunterstützung der Anwendung und die Dritte auf das Deployment.

Die Wahl des Frameworks

Cloud Foundry unterstützt neben Spring for Java, Rails und Sinatra for Ruby und Node.js ebenfalls JVM Sprachen wie Groovy, Grails und Scala. Hinzu kommt die Unterstützung für das Microsoft .NET Framework wodurch Cloud Foundry zur ersten nicht Microsoft Plattform gehörte, auf der .NET Anwendungen ausgerollt werden konnten. Alles zusammen macht Cloud Foundry zu einem der ersten mehrsprachigen PaaS.

Services für die Anwendung

In der Cloud sind Entwickler auf zuverlässige Messaging-Systeme, NoSQL Datenbanken zusammen mit relationalen Datenbanken angewiesen. Cloud Foundry unterstützt dafür neben RabbitMQ als Messaging-System sowie MongoDB und Redis als NoSQL Datenbanken, MySQL als relationale Datenbank. Die Liste der unterstützten Dienste wächst, so hat die Plattform zuletzt eine PostgreSQL-Unterstützung erhalten.

Das Deployment

Anhand von "Micro Cloud Foundry" kann Cloud Foundry auf gewöhnlichen Notebooks oder Computer genutzt werden. Dazu beinhaltet die Micro Cloud Foundry den vollständigen Cloud Foundry Stack, mit dem virtuelle Maschinen auf einem PC oder Mac gestartet werden können. Cloud Foundry kann zudem in Private Cloud oder Public Cloud Umgebungen wie den Amazon Web Services betrieben werden. Das macht Cloud Foundry zu einem äußerst flexiblen PaaS.

Ausrollen von Anwendungen auf Cloud Foundry

Entwickler können Anwendungen entweder mit der SpringSource Tool Suite (STS) oder VMC, einer Ruby Gem Kommandozeile deployen.

Das Messaging System ist das Rückgrat von Cloud Foundry. Es handelt sich dabei um das zentrale Kommunikationssystem, über das alle Komponenten miteinander sprechen. Der HTTP Verkehr zu den einzelnen Anwendungen wird von Routern gesteuert. Diese routen die URLs zu den jeweiligen Anwendungen und übernehmen ebenfalls das Load Balancing des Verkehrs über die Instanzen.

Cloud Controller sind die Schlüsselkomponenten, die für die Verwaltung der Anwendungen zuständig sind. Sie verknüpfen die verschiedenen Services mit einer Anwendung und ermöglichen den Zugriff durch die externe REST API.

Ein Health Manager überwacht den Zustand aller ausgeführten Anwendungen. Fällt eine Anwendung aus, informiert er den Cloud Controller. Dieser ergreift die weiteren Maßnahmen.

Der ausführbare Code wird in Cloud Foundry zu Einheiten zusammengefasst und wiederum zu einem Droplet verpackt. Ein Droplet abstrahiert den zugrunde liegenden Code und stellt eine generische ausführbaren Code Einheit dar. Ein Droplet Execution Agent ist für die Ausführung des Codes innerhalb jedes Droplets verantwortlich und stellt das Betriebssystem und die Laufzeitumgebung bereit.

Fazit

Cloud Foundry ist ein schnell gewachsener und offener PaaS. Viele Hersteller haben ihre Unterstützung angekündigt und werden mit weiteren Plattformen und Services den Stack erweitern, was Cloud Foundry zu einer echten Alternative zu kommerziellen PaaS Angeboten wie Microsoft Windows Azure oder der Google App Engine werden lässt.



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.