Heroku

WebApp in Europa hosten

Da beim Hosten einer Applikation auf dem Webservice von Heroku standardmäßig der US Server gewählt wird, zeige ich nun einen Weg wie wir unsere App innerhalb Europas hosten können.

Anstatt des üblichen Befehls heroku create verwenden wir den Zusatz –region eu. Testen wir das doch gleich einmal mit einer Beispiel App. Wie bereits in meinem Video Webseite erstellen mit Ruby On Rails Teil 3 ist es notwendig, dass wir sowohl unsere App als GIT Verzeichnis angelegt als auch das gemfile für Heroku vorbereitet haben.

Wir erstellen also im ersten Schritt die neue Applikation mit heroku create --region eu

Danach können wir über heroku info weitere Einzelheiten erfahren. Nun nehmen wir unser Git Repository der App und übertragen dies auf den Heroku Server. Zum Abschluss die Migration der Datenbank nicht vergessen. Perfekt unsere App läuft und wenn wir uns in das Heroku Dashboard begeben – Settings – Info – Region

Warum schläft meine Heroku App ein?

Hier im Heroku Dashboard sehen wir nachdem der Mauszeiger über den Status ist “App is asleep”. Nun ist die Frage was passiert in diesem Schlafmodus eigentlich genau?

Aus der Dokumentation im Devcenter von Heroku können wir entnehmen, dass wenn wir einen free dyno nutzen folgenden Richtlinien gelten. 18 Stunden Aktivität in einem 24 Stunden Fenster. Des Weiteren gilt wie folgt: Wenn der free dyno innerhalb von 30 Minuten keinen Traffic erhält dann fällt er in den Schlaf. Sobald dieser dann wieder Traffic erhält dann wacht der free dyno und somit die App wieder auf.

Der Aufwachprozess dauert aber seine Zeit wie lange genau, testen wir doch jetzt einfach einmal.

Wie können wir dafür sorgen, dass unsere App 24 Stunden erreichbar ist? Dies können wir mit Hilfe der Verwendung eines paid Dynos tun. Einfach den Account auf Hobby upgraden, Kostenpunkt 7 Dollar pro Monat und schon ist dieses Problem gelöst.

Domain auf Heroku App umleiten (Custom Domain)

Wenn du deine eigene Domain für eine auf Heroku gehostete Webapplikation verwenden willst, dann kannst du nicht einfach deine Domain auf die Subdomain von Heroku umleiten, dies lässt Heroku aus Prinzip nicht zu.

Du musst also im Heroku Dashboard die gewünschte Domain anlegen. Settings – Add Domain. Hier geben wir unseren Domainnamen ein. Zusätzlich müssen wir nun die DNS Einstellungen unsere Domain beim Provider anpassen. Ich verwende jetzt in meinem Beispiel GoDaddy.

CNAME www @ appname.herokuapp.com

Diese Änderung kann bis zu 24 Stunden andauern. Es gibt aber eine Möglichkeit wie wir bereits nach der Umstellung die Zieladresse überprüfen können.

Befehl zum Testen: host www.domain.de

Links
https://devcenter.heroku.com/articles