Googles Maschinenraum

Googles Maschinenraum

29. August 2008 - Mit App Engine bietet Google einen integrierten Werkzeugkasten zur Erstellung skalierender Webapplikationen auf ihrer verteilten Infrastruktur.
Artikel erschienen in IT Magazine 2008/15

Nach Salesforce.com und Amazon stieg mit Google ein weiterer Riese des Online-Business ins Cloud Computing ein. Während der Online-Händler Amazon elementare Infrastruktur-Services wie Storage und virtuelle Rechnerinstanzen anbietet, die man selber zu einem hochverfügbaren und skalierenden Rechnerverbund zusammenstecken muss, geht Google mit App Engine in Richtung von Salesforce.com: Wie der Online-CRM-Pionier mit seiner Plattform Force.com bietet App Engine eine integrierte Programmierumgebung, bei der man sich nur auf seine Anwendung konzentrieren muss. Der Rest, sprich Administration und Skalierung, übernimmt Google für einen.


Python-Umgebung

Während man für Force.com mit Apex eine eigene Programmiersprache lernen muss, basiert App Engine auf der freien Scriptsprache Python in der Version 2.5. Zwar mag Python nicht ganz so populär sein wie vielleicht PHP, doch ist der Einstieg nicht allzu schwer. Die Sprache selber ist sehr elegant und mächtig. Für erfahrene Python-Entwickler dürfte es ohnehin recht einfach sein, sich in der neuen Umgebung zurechtzufinden. Allerdings gibt es ein paar Einschränkungen zu vergegenwärtigen, die der verteilten Infrastruktur geschuldet sind und Entwicklern, die bereits in diesem Bereich tätig waren, bekannt vorkommen dürften:



- Die Python-Installation erhält zwar die komplette Standard Library. Allerdings wurden einige Module deaktiviert, beispielsweise cPickle, marshal oder tempfile.



- Festplattenzugriff ist nur lesend möglich. Zur Ablage von persistenten Daten muss der App Engine Datastore genutzt werden.



- Zugriffe auf Remote Hosts sind nicht möglich. Entsprechende Module wie socket können zwar importiert werden, sie sind aber leer.



- Die Erzeugung weiterer Threads oder Prozesse ist nicht möglich. Ebenso können keine periodischen Kommandos ausgeführt oder Signale gesendet werden.



- Die Nutzung weiterer Module ist nur möglich, wenn sie auf reinem Python-Code basieren. Die Python Imaging Library kann so beispielsweise nicht genutzt werden, dafür eine Reihe von populären Frameworks und Werkzeugen wie Pylons oder Cheetah. Google selber stellt Django in der Version 0.96, WebOb 0.9 und PyYAML 3.05 zur Verfügung.



Der Grund für dieses Manko ist einfach: In verteilten Umgebungen sind die Funktionen nicht ohne weiteres problemlos nutzbar oder können beispielsweise zu Sicherheitsproblemen führen.

 
Seite 1 von 4

Neuen Kommentar erfassen

Anti-Spam-Frage Welche Farbe hatte Rotkäppchens Kappe?
Antwort
Name
E-Mail
GOLD SPONSOREN
SPONSOREN & PARTNER