Aufbau einer eigenen PaaS-Lösung (mit Dokku)

Einer der beliebtesten PaaS-Anbieter (Platform-as-a-Service) ist derzeit Heroku. Zusammen mit anderen PaaS-Anbietern wie Engine Yard ist Heroku bei Entwicklern beliebt, weil die Bereitstellung einer neuen Anwendung damit extrem schnell und einfach erfolgt. Seine Beliebtheit liegt nahe, wenn man bedenkt, dass die meisten Entwickler lieber Code schreiben als Server einzurichten und Fehler zu beheben.

Eine grundlegende Technologie von Heroku ist Docker. Wer nicht vertraut ist mit Docker: Es ist ein Wrapper für LinuX-Container (LXC). Das Konzept ist jedoch nicht neu. Es ist seit über einem Jahrzehnt in FreeBSD Jails und Zones von Solari im Einsatz). Kurz gesagt, bietet diese Technologie viele der Vorteile, die virtuelle Maschinen (VM) bieten können (Kompartimentierung und Isolation), jedoch ohne die Komplexität (und den Overhead).

Wenn Sie sich nicht auf einen PaaS-Dienst wie Heroku oder Engine Yard verlassen möchten, können Sie jetzt mit Hilfe von Tools wie Dokku und Fig schnell Ihren eigenen PaaS-Service einrichten, der auf die gleiche Weise funktioniert (jedoch ohne die hübsche Web-Schnittstelle). Es gibt auch noch ein deutlich ambitionierteres Projekt namens Flynn, das eine vollständige PaaS mit Unterstützung für mehrere Server erstellen soll.

In diesem Artikel verwenden wir jedoch Dokku. Für den Einstieg benötigen Sie:

  • Eine Ubuntu 12.04 VM
  • Einen richtig konfigurierten FDQN (’some.domain.com‘ verweist auf den Server)
  • Optional: Eine statische IP (verwendet mit dem FQDN)

Je nach dem, was Sie in Ihren Containern ausführen möchten, unterscheiden sich die Ressourcen, die Sie zuweisen müssen. Wenn Sie nur 2 GB RAM austesten, sollten 2 GHz CPU und 20 GB Speicher ausreichen. Wenn Sie noch kein CloudSigma-Konto haben, können Sie hier sofort eines einrichten.

Nachdem Sie das System installiert haben und es läuft, müssen Sie nur die folgenden Befehle ausführen (aus den Installationsanweisungen):
[bash] $ sudo apt-get update
$ sudo apt-get install -y python-software-properties
$ wget -qO- https://raw.github.com/progrium/dokku/v0.2.2/bootstrap.sh | sudo DOKKU_TAG=v0.2.2 bash
[/bash]

Nachdem Sie Dokku installiert haben, müssen Sie die Konfigurationsschritte befolgen.

Sobald Dokku installiert und konfiguriert ist, können Sie ganz einfach Ihre erste Anwendung ähnlich wie mit Heroku (via Git) – implementieren. So sieht das in Aktion aus.

Das war’s. Jetzt haben Sie Ihre eigene PaaS und können ganz einfach Ihr eigenes Projekt implementieren. Bitte beachten Sie: Falls Sie es in einer produktionsähnlichen Umgebung einsetzen wollen, sollten Sie etwas ähnliches wie Nginx auf dem Host installieren und als Reverse-Proxy für die Anwendung nutzen (d.h. Proxy zwischen ‚http://some.domain.com‘ und ‚http://your.server:portnumber‘).

About Viktor Petersson

Former VP of Business Development at CloudSigma. Currently CEO at WireLoad and busy making a dent in the Digital Signage industry with Screenly. Viktor is a proud geek and loves playing with the latest technologies.