Serverlose Entwicklung mit Bluemix

gezeichnete WolkeBei Entwicklung von Web-Applikationen wird man immer wieder vor die Wahl gestellt: betreibt man die Applikation auf dem eigenen Webserver oder nimmt man eine der vielzähligen Cloud-Plattform Anbieter um seine Applikation darauf zu hosten. Aus diesem Grund haben wir uns das IBM-Produkt Bluemix etwas genauer angesehen und werden heute zeigen, wie man eine NodeJS Applikation erstellen, verwalten und weiterentwickeln kann. Außerdem werfen wir einen Blick auf die Vor- und Nachteile des Konzeptes Platform-as-a-Service(PaaS).

Wie arbeitet man mit Bluemix

Vorweg mussten wir die benötigte Software installieren, damit später alles reibungslos funktioniert. Wir erstellen einen kostenfreien Account auf der Bluemix Webseite. Nachdem wir später eine NodeJS Applikation in die Cloud stellen wollen, benötigen wir natürlich NodeJS selbst. Um die Applikation später lokal weiterzuentwickeln bzw. zu starten, brauchen wir noch den Paket Manager npm. Zu guter Letzt ist noch eine passende Kommandozeile nötig, die das Hochladen unserer Applikation ermöglicht. Bluemix selbst bietet hier ein Kommandozeilen-Tool (IBM-Cloud-CLI) an, ich hab mich jedoch für Cloud-foundry-CLI entschieden. Nun da wir alles vorbereitet haben können wir beginnen eine neue Ressource anzulegen.

Bluemix und Ressourcen

Bluemix arbeitet mit Ressourcen. Jede Applikation, jede Datenbank, jedes Service wird als Ressource bezeichnet und in verschiedene Kategorien eingeordnet. Um nun unsere bereits vorhandene NodeJS Applikation hochladen zu können, brauchen wir eine neue Ressource. Dazu wechseln wir einfach auf das Dashboard und klicken auf „Ressource erstellen“.


Wie im Bild angezeigt, wählen wir hier „SDK for Node.js“ aus. Nun geben wir einen Namen für unsere Applikation ein und wählen einen geeigneten Standort für den Server. Außerdem verfügen wir hier noch über die Möglichkeit, die Skalierung unserer Web-Applikation zu bestimmen. So lange wir ein kostenfreies Konto verwenden, können wir hier maximal 256mb für unsere Applikation einstellen.
Hier sehen wir nun unsere erstellte Ressource. Derzeit wird unter der App-Url nur ein Hello-World angezeigt. Damit wir unsere NodeJS Applikation nun hochladen können, müssen wir in unserem NodeJS Projekt in der Datei „manifest.yml“ ein paar Zeilen hinzufügen.


Das wichtigste hier ist der gewählte Name, da dieser mit dem Ressourcen Namen in Bluemix übereinstimmen muss. Ansonsten kann diese nicht hochgeladen werden. Wenn man nun das Manifest eingestellt hat, kann man noch die API festlegen. Dazu öffnet man die Kommandozeile und gibt den Befehl „cf api api.eu-gb.bluemix.net“ ein damit unsere Applikation später auf den richtigen Server geladen wird. Nun müssen wir uns noch über den Befehl „cf login“ einloggen. Nachdem wir eingeloggt und mit dem Server verbunden sind, wechseln wir nur noch in den Ordner in dem das „manifest.yml“ liegt und führen den Befehl „cf push“. Der komplette Ordner befindet sich nun in der erstellten Instanz und die Anwendung wird automatisch gebaut und gestartet. Nun sollte unsere Applikation über Bluemix erreichbar sein.

Warum sollte man Bluemix in Betracht ziehen

Auch wenn Bluemix einer der neueren Cloud-Plattform Anbietern ist, bietet die Plattform schon einige Vorzüge, aber auch ein paar kleinere Nachteile. Im Gesamten ist die Plattform durchwegs positiv und bietet durch ihre Einfachheit in der Entwicklung sowie das flexible Zahlungsmodell einige Vorzüge.

Vor- und Nachteile

+ Hohe Sicherheit der Server-Infrastruktur
+ Hohe Verfügbarkeit
+ Leichte Skalierbarkeit
+ Bietet einen leichten Einstieg
+ Flexibles Zahlungsmodell
+ Kostenlose Benützung
+ Einfacher Codeexport
– Die Plattform ist etwas unübersichtlich aufgrund der vielen Features
– Der Code liegt auf einem externen Server

Fazit

Wie man hier sieht ist es nicht sonderlich aufwändig eine NodeJS Applikation in Bluemix zu erstellen und online zugänglich zu machen. Ein Großer Vorteil von Bluemix ist, dass es viel kostenfreien Content gibt, den man verwenden kann. Außerdem bekommt man von IBM genug Speicherplatz zur Verfügung gestellt um kleinere Applikationen zu hosten und das ohne viel Aufwand. Falls ihr irgendwelche Fragen zur Umsetzung oder Verbesserungsvorschläge zu diesem Thema habt, hinterlasst uns doch einfach einen Kommentar.

Bildquellen

  • Bluemix_179985267: fotolia.com