PHP Clouds und Platform as a Service (PaaS): Übersicht
„Claudia hat in der Cloud Klaus das Herz geklaut“. Die Cloud ist mittlerweile kein reiner Hype mehr, sondern scheint sich zu manifestieren, und es gibt mehr und mehr Anbieter mit interessanten Angeboten, wo in bestimmten Situationen eine Cloud Sinn macht. Wir sollten uns aber klar machen, dass die Cloud nicht die Lösung für alles ist, denn es gibt technische und (datenschutz) rechtliche Probleme und Beschränkungen.
Die Cloud-Angebote kann man grob in 3 Teilbereiche gliedern:
- Infrastructure-as-a-Service (IaaS): Der Anbietet gibt mir Hardware soviel ich möchte, und damit kann ich anfangen was ich möchte. Ich darf (bzw. muss) mit das Betriebssystem selbst installieren und kann tun was immer ich möchte. Es gibt häufig fertig vorkonfigurierte Images, die als Startpunkt dienen.
- Platform-as-a-Service (PaaS): Der Anbieter gibt mir Zugriff auf eine Umgebung, in der ich mich nicht um das Betriebssystem kümmern muss, sondern nur meine Software hochladen muss damit sie läuft. Diese Anbieter sind spezialisiert auf eine bestimmte Programmiersprache (.NET, Python, Java, PHP), und ich erhalte beispielsweise einen klassischen LAMP-Stack inklusive Datenbank-Diensten.
- Software-as-a-Service (SaaS): Der Anbieter gibt mir Zugriff auf eine bestimmte Software, die ich nutzen kann. Ich habe keinen Zugriff auf die darunter liegenden Schichten, kann also nur die Software nutzen, sonst nichts, um alles andere kümmert sich der Anbieter.
Da wir hier über PHP reden, möchte ich mal die PHP-Clouds und PHP Platform-as-a-Service Angebote kurz anschneiden, die es aktuell gibt. Obwohl PHP die Nummer 1 im Web ist, waren andere Sprachen schneller als PaaS verfügbar: Google App Engine mit Python/Java, Microsoft Azure mit .NET, Heroku mit Ruby und weitere. Seit Mitte 2010 gibt es mit cloudControl einen ersten großen (deutschen) PHP PaaS Anbieter, wo wir unsere PHP-Anwendungen deployen und laufen lassen können.
Ein weiterer Anbieter, PHPFog, hat gerade 1,8 Millionen Dollar gesammelt und startet in die private Beta, es kommt da also ein Konkurrent. PHPFog stelle ich hier vor sobald ich einen Beta-Zugang habe.
Der dritte im Bunde ist Orchestra, wo man sich aktuell nur für die private Beta-Phase bewerben kann, dort soll es aber auch bald losgehen.
CloudControl bietet uns also die Möglichkeit, PHP-Applikationen hochzuladen, die dann direkt online verfügbar sind. Keine Installation eines Linux-Servers, keine Installation von Loadbalancern, Apaches, MySQL, Memcached usw. Man braucht sich also nicht um Installation, Updates, Backups oder Sicherheit des Systems kümmern, alles ist bereits da, man kann es direkt nutzen. Und das schöne an der Cloud ist, dass man nach Verbrauch zahlt. Wenn anfangs wenig los ist, bezahlt man wenig, man hat keine hohe Anfangsinvestition, nicht wie sonst x Rechner laufen und zahlt monatlich Betrag Y, egal ob man sie nutzt oder nicht. Und im Fall eines Besucheransturms kann man innerhalb von Minuten die Performance erhöhen indem man horizontal skaliert, etwas was mit traditioneller eigener Hardware nicht funktioniert.
CloudControl betreibt einen Loadbalancing-Dienst und Caches (Varnish), dann in der Mitte die App Server (Apache + PHP-FPM), und im Backend Dienste wie MySQL, Memcached oder MongoDB, auf die wir zugreifen können. Es gibt noch weitere Addons. Ein paar Details: MySQL bis 1TB, Memcached bis 10GB, MongoDB bis 5GB oder custom. CloudControl (PaaS) läuft auf Amazon EC2 (IaaS). Problematisch sind aktuell vor allem Cronjobs sowie der Versand von Mails, da muss man sich etwas einfallen lassen, aber das ist lösbar (hoffentlich gibt es da bald eine Lösung via Addon oder so).
Wenn unsere Applikation also in diese Umgebung passt, können wir cloudControl nutzen.
Zusammengefasst: PaaS macht Sinn wenn man keine Lust und Zeit hat für Systemadministration, Kosten durch eigene Hardware scheut und eine flexible Umgebung für seine Applikation benötigt, und das wichtigste: Mit den Einschränkungen (technisch, rechtlich etc.) klarkommt.
Eine schöne Übersicht über die drei Konkurrenten findet man bei Quora oder in dieser Präsentation.
Ich habe bereits meine erste Testanwendung bei cloudControl laufen, wie das geht zeige ich im Detail in diesem Artikel.
[…] bereits gestern in der PHP-PaaS-Übersicht angekündigt hier nun die Nutzung eines PHP-PaaS-Dienstes anhand von cloudControl, dem aktuell […]
PHP Clouds und Platform as a Service (PaaS): cloudControl | PHP Gangsta - Der PHP Blog
23 Feb 11 at 10:40
Hallo Michael,
vielen Dank für den interessanten Artikel. Mir ist nicht ganz klar, wieso es mit Cronjobs und Mailversand Probleme gibt, kannst du das etwas mehr zu sagen?
Vielen Dank und schönen Gruß
Ray-D
24 Feb 11 at 00:33
@Ray-D: Cronjobs sind bei beiden (cloudControl und PHPFog) aktuell nur ganz rudimentär umgesetzt. Bei CloudControl gibt es seit neuestem Worker, die man nutzen können soll für Cronjob-Arbeiten (noch nicht in der Doku, genaueres weiß ich nicht, kommt aber bald). Bei PHPFog kann man in das Hauptverzeichnis eine cronjob.php ablegen, die alle 10 Minuten aufgerufen wird.
Also man ist noch weit entfernt von „richtigen“ Cronjobs, aber beide arbeiten dran.
Mailversand: Mit beiden Diensten kann man über den lokalen Server Mails versenden. Da sowohl cloudControl als auch PHPFog auf Amazon EC2 Instanzen laufen, werden die Emails auch von den IP-Adressen versand, und leider sind die EC2-IP-Adressen auch gern mal auf Spamlisten, von daher ist der Mailversand problematisch. cloudControl arbeitet bereits an einem Addon, oder man nutzt externe SMTP-Server, über die man die Mails rausschickt.
Michael Kliewe
24 Feb 11 at 02:35
Hallo Michael, sorry, dass ich deinen alten Blogeintrag hier so spamme, aber er ist nun mal mein erster Google Hit in DE auf „PHP PaaS“ und das ist einfach zu verlockend.
Mir gehts ja nur drum schnell unseren tollen neuen PHP Cloud Dienst unterzuschummeln. Um das nicht ganz so plump zu machen verlinke ich mal in unseren Blog wo ich vor nicht allzu langer zeit mal ein bisschen den Markt beleuchtet habe:
http://blog.fortrabbit.com/comparing-cloud-hosting-platforms/
Zusatzlink: Kollege Phil Sturgeon ist nach einem Jahr PHP PaaS Anwendung zu diesem etwas ernüchterndem Zwischenfazit gekommen:
http://philsturgeon.co.uk/blog/2012/10/cloud-hosting-php-pipe-dream
Frank Lämmer
24 Okt 12 at 21:25
Hi Frank,
ich verfolge euch schon länger, habe einen Account bei euch und auch über euren Start getwittert. Leider kam ich noch nicht dazu mir das ganze im Detail anzuschauen, die Zeit fehlt, und mir fehlt meistens ein Projekt das ich „in die Cloud“ legen kann. Ihr seid aber auf jeden Fall neben CloudControl mein Favorit, da in Deutschland beheimatet, mit aktuellsten PHP-Versionen ausgestattet usw.
Michael Kliewe
24 Okt 12 at 21:49
Keinen der hier erwähnten Anbieter gibt es noch auf dem Markt.
CloudControl ist fusioniert mit Exoscale, PHPFog und Orchestra sind weg vom Markt. Schade, denn die Idee, seine PHP-Apps in der Cloud zu hosten und sich nicht um den Server kümmern zu müssen, gefällt mir sehr – in diesem Segment müsste es mehr Anbieter geben.
Vitali Lutz
3 Nov 18 at 13:08