Heroku ist cool, aber wo genau liegen denn die Vorteile?

Heroku gehört zu den beliebtesten Plattformen, wenn es um das Deployment von modernen Websites geht. Wir erklären, warum auch wir die Plattform empfehlen würden.

Auf Facebook teilen
Vorwort

Für diejenigen, die noch nie etwas von Heroku gehört haben, aber wissen, was ein PaaS, dürfte die Definition einleuchtend sein. Heroku ist ein Platform as a Service-Anbieter (kurz PaaS) mit Hauptsitz in San Francisco. Für alle, die sich jetzt fragen, was zum Teufel das PaaS ist, haben wir den Blogpost “Jeder Unternehmer sollte über eine Cloud Computing Lösung nachdenken?” erstellt. Ihr könnt euch also dort informieren. Hier ist der Link zu unserem Blogpost.

Was ist dieses Heroku?

Wie bereits erwähnt, gehört Heroku zu den sogenannten Platform-as-a-service (PaaS) Vertretern und hilft Entwicklern Anwendungen zu veröffentlichen, zu überwachen und bei Bedarf flexibel zu skalieren. Da Heroku eine polyglotte Plattform ist, werden viele Sprachen wie Ruby, Java, Node.js, PHP, Go, Scala oder Clojure unterstützt.

Was macht Heroku so gut, weshalb wir es empfehlen?

Die kurze Antwort ist - es ist die einfache Skalierung von Apps.

Anwendungen lassen sich quasi per Mausklick um weitere Ressourcen erweitern, indem man sogenannte “Dynos” dazu bucht.

Der Dyno type “Free” dürfte jedem bereits aufgefallen sein. Ihr seht richtig, denn Heroku lässt sich frei verwenden. Diese freie Ressource ist nicht für die Live-Version, sondern eher für Testzwecke gedacht, was wir aber trotzdem genial finden. Im Grunde geht die freie Version nach einer gewissen Zeit in den Standby-Modus und braucht beim Starten einige Sekunden zum Hochfahren. Nichtsdestotrotz lassen sich lokale Webanwendungen sehr schnell auf Heroku deployen und testen, auch kostenlos.

Deployment auf Heroku

Eine Anwendung muss zunächst einmal nach Heroku übertragen werden, damit es in irgendeiner Art und Weise läuft. Die Git Versionskontrolle ist das primäre Deployment-Tool von Heroku und dürfte die meisten Entwickler eher erfreuen. Theoretisch wäre ein Deployment auch mit GitHub und Dropbox möglich, aber bei Git ist man auf der sicheren Seite. Das ist auch gut so, denn dadurch wird ein sauberer und für die Entwickler nachvollziehbarer Entwicklungs-Workflow ermöglicht.

Hier ein kurzes Beispiel, wie eine einfach Website auf Heroku übertragen wird.

Zunächst einmal muss eine Git Repository vom entsprechenden Projekt lokal initialisiert werden.

Terminal:

cd projekt
$ git init
$ git add .
$ git commit -m "Die Website wird cool!"

Als nächstes erstellen wir unter https://dashboard.heroku.com ein neues Dyno mit dem Namen “heypickstest”. Nun müssen wir uns über den Terminal bei Heroku einloggen und anschließend Heroku mitteilen, welches Projekt wir nun deployen möchten.

Terminal:

$ heroku login
$ cd projekt
$ git push heroku master

Im Prinzip wars das! Es folgen kleinere Anpassungen, wie z.B. die Anpassung der Startscripte, damit Heroku weiß, welchen Script er als ersten ausführen muss.

Bei Node.js ließe sich z.B. in der package.json das Startscript folgend definieren, wenn wir die app.js als erstes ausführen möchten:

Editor:

"scripts": {
   "start": "node app.js"
 }

Ohne diese Zeile wird Heroku nicht genau wissen, welche Datei er als erstes ausführen muss und somit einen Fehler herausgeben.

Was hat Heroku sonst zu bieten? Na den Heroku Elements Marktplatz.

Bei der Entwicklung von Software wird heutzutage nicht nur der eigene Code verwendet. Entwickler greifen gerne auf vorgefertigte Elemente zurück, weil es viel Arbeit spart und Entwickler von Natur aus ungerne das Rad neu erfinden. Warum soll man sich mit Dingen beschäftigen, die ein Anderer bereits perfekt umgesetzt hat? Die Suche von entsprechenden Komponenten ist jedoch oft ein sehr langwieriges Unterfangen, weil diese Komponenten nicht immer perfekt dokumentiert werden. Hier kommt Heroku Elements ins Spiel. Auf dem Marktplatz wird eine Vielzahl an Komponenten angeboten, die jeder Entwickler nach belieben einsetzten kann.

Heroku Elements Marktplatz Illustration

Schlusswort

Wir lieben es mit Heroku zu arbeiten, weil es uns und unseren Kunden eine gewisse Freiheit gibt. Für diejenigen, die mit Technologien wie Node.js entwickeln, können wir Lösungen wie Heroku oder AWS sehr ans Herz legen, weil man sich auf das Wesentliche konzentrieren kann. Außerdem spart man sich damit eine entsprechende Kompetenz im Bereich der System-Administration, was man nicht unterschätzen sollte. 

Haben wir Ihr Interesse geweckt und Sie möchten nun mit uns zusammen arbeiten?

Dann scheiben Sie uns eine E-Mail und wir kontaktieren Sie schnellstmöglich.

Einfach dieses Kontaktformular ausfüllen
* Pflichtfelder
Mit dem Absenden des Formulares, erklähren Sie sich damit einverstanden, dass Heypicks hier Ihre angegebenen Daten speichern und Sie kontaktieren darf. Ihre Daten sind DSGVO konform und werden nicht an Dritte weitergegeben. Diese Daten dienen nur der Kontaktaufnahme.