Um es für Firmen interessanter zu machen, hat Google sein als App Engine bezeichnetes Cloud-Computing-Angebot um eine ganze Reihe neuer Features erweitert. ZDNet untersucht, was sie bringen - und was noch fehlt.
Google[1] hat kürzlich für die Google App Engine[2] (GAE) neben Java-Support einige andere Features vorgestellt[3], die speziell für Firmen interessant sind. Damit unterstrich der Internetgigant sein Interesse, auch große Firmen und Konzerne für seine Cloud-Computing-Angeboten gewinnen zu wollen. Ein guter Zeitpunkt also, die Neuerungen im Detail zu betrachten und zu analysieren, was GAE Firmen heute bieten kann, aber auch zu untersuchen, was dem Angebot auf dem Weg in Unternehmen noch fehlt.
Googles Cloud-Computing-Palette ist groß. Sie reicht von Suche in unterschiedlichen Ausprägungen bis zu zahlreichen SaaS-Produkten. Google ist damit deutlich breiter aufgestellt und technologisch weiter fortgeschritten als traditionelle Software-Anbieter für Unternehmen, etwa Microsoft, IBM, Oracle und SAP.
Dennoch tut sich der Suchanbieter im Geschäft mit großen Unternehmen schwer. Das könnte sich durch das derzeit rasch wachsende Interesse an Cloud-Computing ändern - vorausgesetzt, Google gelingt es, seine Stärken (technische und betriebswirtschaftliche) richtig auszuspielen. Für Firmen muss ein ansprechendes Paket entstehen, von dem sie sich Kostensenkungen, mehr Flexibilität und effektive Unterstützung beim Übergang zur Computernutzung der Zukunft versprechen.
Die gute Nachricht für Google ist, dass von den vier erwähnten Softwareanbietern augenblicklich nur Microsoft (mit Azure[4]) ein glaubwürdiges und marktfähiges Cloud-Angebot vorweisen kann. Aber IBM und Oracle werden sicher bald folgen. Der Türöffner für Google ist derzeit dennoch, dass es etwas anbieten kann, nach dem Firmen suchen und das die Konkurrenz so noch nicht im Programm hat. Der Nachteil ist, dass Googles Angebot recht unübersichtlich ist.
Das kommt daher, dass GAE ursprünglich ein auf Privatanwender und Web-Anwendungen ausgerichtetes Cloud-Computing-Konzept war. Das Augenmerk seiner Entwickler lag vor allem auf Performance und Skalierbarkeit, weniger auf einem businesstauglichen Funktionsumfang. Vorbildlich war und ist GAE dadurch, dass seine Programmierer Cloud-Computing mit konsequentem Minimalismus angingen - auch wenn dahinter in erster Linie der Gedanke stand, Vorteile bei der Geschwindigkeit zu erzielen.
Aus Sicht von Unternehmen ist GAE bisher aber mit einigen Nachteilen behaftet. Beispielsweise setzte sie Anpassungen hinsichtlich der Programmiersprache (Python), der verwendeten Datenbank (proprietäre Lösung) und dem Abfrageverhalten von Anwendungen voraus. Zwar scheint Google diese Grundvoraussetzungen auch mit den jüngsten Ergänzungen nicht komplett aufzugeben. Es kamen aber einige Fähigkeiten und Technologien hinzu, die von Firmen für Cloud-Computing benötigen werden und die zeigen, dass sich Googles im Entstehen befindliche Plattform dafür einer größeren Bandbreite an Anwendungen öffnet. Google macht damit einen großen Schritt in Richtung Unternehmenseinsatz. Es bleibt aber dennoch einiges zu tun. Die wichtigste Neuerung ist die Unterstützung der Java Virtual Machine[5]. Java-5- und Java-6-Code läuft damit auf der Google App Engine - vorausgesetzt, er verletzt nicht die Sicherheitsrichtlinien der Sandbox[6] der Google-Server. Die meisten Firmen haben sich entweder auf .NET oder Java festgelegt. In der GAE wurde aber bisher nur Python unterstützt. Zwar wird auch künftig ein großer Teil des von den Firmen verwendeten Codes nicht ohne Anpassungen laufen, da er die Richtlinien der Google-Sandbox verletzt. Dennoch senkt dieser Schritt die Einstiegshürde erheblich, da es wesentlich einfacher ist, Code anzupassen, als ihn komplett neu zu schreiben.
Einige andere Zugeständnisse an die Realität[7] erlauben zudem die Nutzung zahlreicher, weit verbreiteter Fähigkeiten der Java-Plattform. Außerdem läuft dadurch nahezu jede Programmiersprache, die in einer JVM läuft, nun auch in der GAE. Getestet hat Google dass bereits mit Groovy, JavaScript, Python, Ruby, Scala und Scheme. Letztendlich können Firmen einen großen Teil ihrer Software so direkt in Googles Cloud transportieren.

Der Stand der Google App Engine im April 2009. Mit einem roten Punkt sind die neuen, enterprisefreundlichen Funktionen markiert (Bild: blogs.zdnet.com/Hinchcliffe).
Mit einem Secure Data Connector[8] (SDC) in der GAE lässt sich zudem ein sicherer Tunnel zu Unternehmen einrichten, die Web-Services und SOAs aus der GAE heraus nutzen wollen, aber nicht bereit sind, ihre Daten in die Cloud zu verlagern. Kleiner Haken an der Sache: SDC setzt Google Apps Premier Edition[9] voraus, deren Einsatz üblicherweise mit einigen Verrenkungen einhergeht. Belohnt wird man dafür mit einer vollständig verschlüsselten Verbindung zwischen den Anwendungen in der Google App Engine und den Firmendaten innerhalb der Firewall.
SDC bietet zudem einige Filtermöglichkeiten und integriert OAuth[10], womit sich sicherer Zugang zu internen SOA-Diensten einrichten lässt. Kurz gesagt: Mit SDC kann GAE auf eine Fülle von Firmendaten zugreifen, die ihr vorher verschlossen waren - und das, ohne gigantische Datenmengen über das Internet in Googles Rechenzentren hochladen und ohne mit den letztendlich doch begrenzten Datenspeichermöglichkeiten der GAE kämpfen zu müssen.
Dennoch kommen Firmen bei einigen Anwendungen, insbesondere sehr leistungsfähigen, nach wie vor nicht darum herum, Daten in Googles Cloud zu transferieren. Dabei sollen die Tools zum Datenimport[11] helfen, die Google nun in die GAE integriert hat. Die umgekehrte Möglichkeit - Daten zu exportieren –, besteht heute noch nicht. Sie soll jedoch in absehbarer Zeit folgen.
Wesentlich erleichtert Firmen auch der integrierte Cron-Support[12] die Nutzung der Google App Engine. Sie sparen sich dadurch künftig die Erstellung von eigenen Batch-Prozessen außerhalb der GAE. Das ist besonders bei Backups, Report-Erstellung oder asynchroner Datenverarbeitung hilfreich. Diese Ergänzungen täuschen aber nicht darüber hinweg, dass Google immer noch viel zu tun bleibt. Wahrscheinlich ermutigen sie aber mehr Firmen als bisher, mit Evaluierungsvorhaben zu beginnen. Sie werden dabei aber auch feststellen, dass der GAE zu einer echten, businesstauglichen Cloud-Computing-Plattform noch einiges fehlt.
So benötigen etwa Anwendungen, die sehr große Datenmengen bearbeiten oder die stark von definierten Events abhängen, eine Möglichkeit, Benachrichtigungen zu speichern, die sich nicht sofort bei ihrer Ankunft komplett abarbeiten lassen. Amazon bietet diese Möglichkeit mit Amazon SQS[13] bereits seit längerem, und Google wäre gut beraten, so bald wie möglich nachzuziehen.
Viele Unternehmenssoftware kann zudem nicht – zumindest nicht kostengünstig – nachfragen, ob sich Daten verändert haben oder ob ein für sie wichtiges Ereignis eingetreten ist. Zwar hat Google die Timeouts für serverseitige Antworten auf 30 Sekudnen verlängert, es gibt aber noch keine effiziente Möglichkeit[14] externe System schnell zu benachrichtigen, wenn Schlüsselereignisse innerhalb der GAE stattgefunden haben.
Die in GAE vorhandenen Möglichkeiten zur Datenablage, die wahrscheinlich auf BigTable[15] basieren, war nie als SQL gedacht und sind es auch nicht. Obwohl für Petabyte an Daten ausgelegt, sind sie doch eingeschränkt, damit das Gesamtsystem verteilt und performant arbeiten kann. SQL-Datenbanken sind heutzutage jedoch einer der tragenden Pfeiler in Unternehmen. Viele Anwendungen lassen sich nicht mit vernünftigem Aufwand in Googles Cloud umziehen, solange sie dort nicht zumindest in irgendeiner Form die Unterstützung für SQL-Datenbanken vorfinden. Auch hier hat Amazon derzeit die Nase vorne.
Und zu guter Letzt sollte sich Google Management und Monitoring nicht außer acht lassen. Sobald Firmen anfangen, ansehnliche Teile ihrer IT in die Cloud zu verlagern, werden sie auch nach Möglichkeiten verlangen, um ihre Cloud-Computing-Ressourcen ebenso wie ihre lokalen IT-Ressourcen zu verwalten. GAE stellt die benötigten Daten zwar heute im XML-Format zur Verfügung, überlässt die Integrationsaufgabe aber den Unternehmen.
Die Anbieter der etablierten Management-Werkzeuge scheinen sich dieser Aufgabe zwar anzunehmen, Google selbst kümmert sich aber nicht darum. Das könnte sich als Fehler herausstellen, böte es doch die Möglichkeit, zu beweisen, dass man die Anforderungen der Kunden kennt und erfüllen kann. Gerade für einen Newcomer wäre das wichtig.
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = http:/
[8] = http:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = http:/
[13] = http:/
[14] = http:/
[15] = http:/