Rails Deployment leicht gemacht

Wer kennt das nicht, da hat man schnell eine super Rails Anwendung lokal erstellt und möchte das Resultat mit anderen Teilen, ohne großen Aufwand treiben zu müssen. Sprich die Anwendung muss ins Web gestellt werden. Wer da nicht einen Server sein Eigen nennen kann, ist darauf angewiesen einen Hoster zu finden, der auch Rails Anwendungen unterstützt. Und auch dann ist trotz Capistrano und Co. immer noch ein recht hoher initialier Aufwand nötig, eh das Ergebnis perfekt läuft.

Das es auch wesentlich einfacher und komfortabler geht, zeigt uns Heroku. Auf die Seite bin ich vor ein paar Tagen aufmerksam geworden, als ich nach Rails Hostern Ausschau gehalten habe. Nachdem ich die Seiten gelesen habe, die beschreiben wie Heroku funktioniert war ich begeistert und musste den Dienst selber ausprobieren.

Heroku verspricht, dass das Deployment der eigenen Rails Anwendung so einfach ist, wie ein git push. Und ich kann euch sagen: Es ist so einfach!

Wie funktioniert das ganze nun? Einfach 🙂
Eh es losgehen kann muss ein kostenloser Heroku-Account her. Danach kann auch gleich das passende Gem installiert werden.

Als nächstes benötigen wir logischerweise unsere Rails-Anwendung, die mit Git versioniert wird.

Damit die Anwendung nun auf die Heroku Server gelangt, muss ein Remote-Repository im Git eingerichtet werden. Dafür haben wir weiter oben das Heroku Gem installiert.

Danach kann der aktuelle Stand per

auf die Heroku-Server übertragen werden. Die sind dann so schlau und erkennen, dass es ich bei der Übertragung um eine Rails-Anwendung handelt und veranlassen alles Nötige, um die Anwendung im Internet bereit zu stellen. Jede weitere Änderung im Git Repository, die online gestellt werden soll, wird einfach per git push an den Heroku Server übertragen. Dieser tauscht dann den alten Stand der Anwendung mit dem neuen aus. Perfekt. Das ist Rails Deployment einfach gemacht.

Nun kommen wir aber zu den interessanten Fragen: Was kostet mich das? Nun; in der geringsten Ausprägung nichts, niende, nada. Wer nun mehr für seine Rails-Anwendung haben möchte, muss bezahlen und bekommt dafür ein dynamisch wachsendes System gestellt. Dynamisch wachsend heißt hier: Die Anwendung skaliert je nach Bedarf auf mehreren so genannten Dynos, was im Heroku-Jargon eine Verarbeitungseinheit darstellt. Je mehr davon aktuell laufen, je mehr gleichzeitige Zugriffe kann die Anwendung verarbeiten. Und das beste daran: Man bezahlt nur das, was auch verbraucht wird. Sprich wenn die Anwendung tagelang nur so vor sich hindümpelt und auf den großen Ansturm wartet, läuft sie auf nur einem oder wenigen Dynos. Gibt es dann ein Besucheransturm, schaltet das Heroku-System dynamisch weitere Dynos innerhalb von wenigen Sekunden dazu und verteilt so die Last. Schwindet der Besucherstrom, fährt Heroku die Dynos auf ein Minimum herunter.

Abgerechnet wird am Ende die Laufzeit der Dynos sekundengenau. Ein perfektes System. Anstatt einen riesigen Server mit enorm viel Power und zu horrenden monatlichen Kosten anzumieten, wird die Cloud bemüht. Und man zahlt nur für das, was auch wirklich verbraucht wurde.

Wer mir nun solch einen Provider in deutschen Landen nennen kann, dem bin ich zu ewigem Dank verpflichtet.

Rails Deployment leicht gemacht
Markiert in:             

Ein Gedanke zu „Rails Deployment leicht gemacht

  • 5. September, 2010 um 18:36
    Permalink

    Ich bin auch auf den Dienst Heroku aufmerksam geworden und bin ebenfalls absolut begeistert! Ich habe lange nichts mehr mit Webentwicklung gemacht und solch ein einfaches Deployment war für mich ein Schock! 🙂

    Jetzt frag ich mich nur, wie kann man sich sowas selbst „basteln“? Ich würde auch gerne für kleine Projekte mir einen Linux Server
    aufsetzen um dort dann nur noch per GIT push eine Rails Anwendungen deployen…

    Antworten

Kommentar verfassen