Categories
News

Windows Azure Konkurrent AppHarbor ist nun in Europa verfügbar

AppHarbor ist ein .NET Platform-as-a-Service, den Entwickler in Kombination mit Git oder Mercurial nutzen können, um ihren Code zu übertragen. AppHarbor kompiliert im Anschluss den Code und führt eine Reihe von Unit Tests durch. Ist die Anwendung fehlerfrei, wird der Code auf die skalierbare Cloud Plattform von AppHarbor ausgerollt. Wie von PaaS Angeboten bekannt, können sich Entwickler bei der Nutzung von AppHarbor auf das Wesentliche konzentrieren und sich nicht um die Installation und Konfiguration der Server und Software kümmern.

Heroku ist ein Platform-as-a-Service, der unterschiedliche Programmiersprachen unterstützt. Die erste war Ruby im Jahr 2007 und wurde zu einem riesigen Erfolg. Es folgten weitere Sprachen wie Java, Node.js, Scala, Clojure, Python und PHP. AppHarbor machte sich im letzten Jahr daran “Heroku für .NET” zu unterstützen.

Zunächst war AppHarbor nur in den USA verfügbar. Seit gestern können nun auch europäische Entwickler den Service nutzen. Die Anwendungen aus der EU werden zwar weiterhin auf den Amazon Web Services gehostet, jedoch nun in der Region EU-West (Dublin) anstatt in der Region US-East, wo sich alle anderen Anwendungen befinden.

Alle Add-ons im AppHarbor Katalog funktionieren mit EU basierten Anwendungen. Einige, wie bspw. der SQL-Server werden je nach Ort der Anwendungen bereitgestellt. Für Add-ons, die derzeit die Nutzung in der EU nicht unterstützen, wird aktuell eine Benachrichtigung angezeigt, wenn das Add-on an eine EU Anwendung ausgerollt wird.

AppHarbor wurde entwickelt, um den Microsoft Windows Azure Einschränkungen, wie dem Lockin in Microsofts eigene Datenbank oder der nicht Unterstützung von Git, zu begegnen.

Categories
Analysen

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.