Sollte ich meine Ruby on Rails-Anwendung auf Heroku bereitstellen [geschlossen]

8

Ein bisschen über mich selbst. Ich bin 24 Jahre alt, habe im letzten Jahr meinen Master in Analytik in NC State absolviert. Statistiken, Mathematik, so etwas. Ich habe keinen starken Programmierhintergrund, was ziemlich wichtig für meine Frage ist. Wenn ich etwas sage, das keinen Sinn ergibt, deshalb. Seit meinem Abschluss arbeite ich Vollzeit an einer Rails-App mit ein paar anderen Leuten. Meine Programmiererfahrung ist hauptsächlich Ruby on Rails (1,2 Jahre). Ich kenne R, SAS (statistische Sprachen, nicht hilfreich für diese Frage.)

Das bedeutet natürlich, dass es über ein Jahr in Entwicklung ist und wir noch nicht fertig sind. Der Hauptentwickler ist ein ausgezeichneter Programmierer, nur dass er bereits einen Vollzeitjob hat und diese App in seiner Freizeit macht. Da er in letzter Zeit nicht genug Zeit hatte, wurde mir praktisch die volle Verantwortung für die App übertragen.

Wir haben es jetzt auf Slicehost bereitgestellt. Die App ist an einem Punkt, an dem wir nichts anderes programmieren müssen (es sei denn, wir denken an weitere Funktionen.) Der Grund, warum ich nach Heroku migrieren sollte, ist, dass Heroku eine einfache Plattform zu sein scheint bereitstellen. Slicehost scheint mir zu kompliziert. Der andere Entwickler hat sich darum gekümmert, und nicht ich. Ich habe mir angesehen, wie ich die App auf Heroku bereitstellen kann, und es sieht so aus, als könnte ich das machen. Wir müssen unsere App skalieren, wenn es nötig ist, was Heroku anbietet. Was das Geld betrifft, würde ich es mindestens (kostenlos) beginnen und sehen, wie es geht. Ich kann für zusätzliche Funktionen bezahlen, wenn ich muss.

Wir verwenden Redmine für das Projektmanagement und das Repository (nicht git, was ich glaube, dass wir es auf Heroku verwenden müssen.) Ist git Redmine ähnlich? Ist es einfach zu bedienen?

Momentan, auf Slicehost, haben wir 4 Dämonen (ständig laufende Prozesse). Wir haben 8 delayed_job Arbeiter. Ich kenne die Kommandozeile, um die Daemons und delayed_job Worker zu starten. Würden diese an Heroku arbeiten?

Ich frage mich, ob ich noch RAILS_ENV = Produktionsskript / Konsole mit Heroku verwenden kann.

Die Benutzeroberfläche ist eine Javascript-Datei. Wenn ich im Entwicklungsmodus Skript / Server in einem Terminal verwende und in einem Browser zu Ссылка gehe, kann ich es sehen. Würde Heroku diese Seite so laden, wie ich möchte?

Wir haben eine funktionierende Website für die App mit unserem eigenen Domain-Namen. Ich weiß nicht wirklich, was DNS ist, also könnte ich die Heroku-App wahrscheinlich nicht damit verbinden, es sei denn, es gibt einen einfachen Weg. Ich denke Heroku verlinkt es standardmäßig mit appname.heroku.com.

Würde Heroku aufgrund meiner Programmiererfahrung leicht genug für mich sein, sollte ich einen anderen Job finden oder sollte ich Seppuku begehen?

    
Eric 17.08.2011, 17:43
quelle

5 Antworten

5

Ja, Sie sollten Ihre Anwendung definitiv in heroku bereitstellen. Um dies zu tun, müssen Sie Folgendes tun:

  1. Stellen Sie sicher, dass git auf Ihrem Computer installiert ist
  2. Erstellen Sie hier ein Heroku-Konto
  3. Installiere das Heroku-Juwel und mache den Rest wie erwähnt auf dieser Seite
  4. Verfolgen Sie Ihre Anwendung mit git und erstellen Sie Ihre Heroku-Anwendung wie hier hier
  5. Nachdem Sie dies getan haben, wird Ihnen von Heroku eine URL für Ihre Anwendung angezeigt, z. B. Ссылка . Nun wäre der nächste Schritt, Ihre Domain dieser Heroku-URL zuzuordnen.
  6. Konfigurieren Sie Ihren Domain-DNS-Server wie in auf dieser Seite . Beachten Sie, dass es nach dem Ändern Ihres DNS bis zu 48 Stunden dauern kann, bis es funktioniert. Sie können den Domain-DNS ändern, indem Sie sich bei der Site anmelden, bei der Sie Ihre Domain gekauft haben, z. godaddy.com, hostingdude.com usw.
  7. Fügen Sie diesen Code zu Ihrem ApplicationController hinzu. Sie können dies auch von dieser Seite verfolgen

    %Vor%
  8. Stellen Sie sicher, dass Sie Ihre gesamte Datenbank in heroku migrieren, indem Sie heroku rake db:migrate ausführen.
  9. Nachdem Sie alle diese Schritte abgeschlossen haben, sollten Sie gut sein. Überprüfen Sie Ihre Domain-URL, alles sollte schön funktionieren:).
  10. Wenn auf Ihrer Seite Fehler angezeigt werden, können Sie das Protokoll nach heroku logs anzeigen.
  11. Sie können auf die Konsole als heroku console zugreifen.

Mit Funktionen wie diesen ist Heroku sehr praktisch, um damit zu arbeiten.

Bitte lassen Sie mich wissen, wenn Sie weitere Hilfe benötigen.

    
rookieRailer 17.08.2011, 19:42
quelle
3

Es scheint mir, als ob Sie Heroku ernsthaft in Betracht ziehen sollten. Ich habe es für Wochenendprojekte benutzt und wir benutzen es auch sehr erfolgreich. Die Bereitstellung ist ein Kinderspiel, Sie müssen sich nicht um die Einrichtung (zum größten Teil) und die Systemverwaltung kümmern. Es ist super einfach, Module hinzuzufügen und "zu zahlen, wie Sie wachsen".

Was deine Bedürfnisse betrifft, könntest du (glaube ich) deine Redmine auf Heroku selbst laufen lassen, als eine App für Schienen. Die einzige Sache ist, dass Sie erwähnen, dass Sie Redmine als "Repository" verwenden und ich bin mir nicht sicher, ob ich verstehe, was Sie meinen, da Redmine kein Versionskontrollsystem ist. Redmine hat Integrationspunkte für verschiedene VCS (SVN, Git, Mercurial, CVS und andere). Ja, Heroku verwendet Git und das ist es, was Sie brauchen würden, um Code auf den Server zu pushen. Wenn Sie mit Mercurial vertraut sind, ist es ziemlich ähnlich.

Für verzögerte Jobs bietet Heroku kostenlose Cron-Jobs an, die einmal am Tag und stündlich gegen eine Gebühr laufen (siehe cron add-on ). Es gibt auch eine verzögerte Job-Plugin ( siehe ), aber ich habe keine Erfahrung damit.

Sie sollten auf die Rails-Konsole zugreifen können ( siehe heroku-Dokumentation ). Führen Sie einfach 'Heroku-Konsole' und voila, du bist da.

Wenn Ihre App mit script / server funktioniert, sollte sie auch in heroku funktionieren.

Was das DNS betrifft, ist es nicht schwer, es mit Ihrer benutzerdefinierten Domäne zu arbeiten. Standardmäßig können Sie mit appname.heroku.com auf Ihre App zugreifen, um Ihren benutzerdefinierten Domain-Check einzurichten heroku docs here , aber im Grunde müssen Sie das benutzerdefinierte Domain-Add-on hinzufügen (kostenlos, außer Sie wollen Subdomains), konfigurieren Sie heroku, um auf die Anforderungen Ihrer Domain zu reagieren (einige einfache Befehle) und setzen Sie Ihren DNS-Provider auf Heroku (es gibt sogar ein kurzes Video in der Dokumentation, wie man das mit GoDaddy macht).

Der einzige Nachteil, den ich bei Heroku gesehen habe, und der ist nicht riesig, ist, dass, wenn Ihre App über einen längeren Zeitraum keinen Datenverkehr erhält, die Instanzen "schlafen gehen" und den nächsten machen Bitte, etwas langsam zu kommen (manchmal sogar Zeit zu verlieren), aber sobald die Instanz wach ist, ist alles gut zu gehen.

Alles in allem denke ich, dass Heroku eine großartige Möglichkeit ist, eine Menge von der Last von Ihnen als Entwickler zu nehmen und eine Menge Dinge wirklich einfach zu implementieren, ohne sich auf das Wesentliche konzentrieren zu müssen, einen Server einzurichten . Der Nachteil: Sobald Sie anfangen zu wachsen, kann es etwas teuer werden, aber hey, wenn Sie es wachsen, bedeutet wahrscheinlich, dass Sie jetzt das Geld haben, jemanden einzustellen, der sich um das Wesentliche kümmern kann.

Sie können auch einen Blick auf diesen Blog werfen Beitrag , der Slicehost und Heroku vergleicht

Viel Glück

    
Ruy Diaz 17.08.2011 18:19
quelle
3

JA, gehen Sie dazu.

Wenn Sie bisher aufgrund Ihrer 'Programmiererfahrung' so weit gekommen sind, wird es Ihnen gut gehen. Haben Sie etwas Vertrauen und versenden Sie etwas! Um Paul Graham zu zitieren:

  

Der Grund, schnell zu starten, ist nicht so sehr, dass es wichtig ist, Ihr Produkt frühzeitig auf den Markt zu bringen, sondern dass Sie nicht wirklich damit angefangen haben, es zu bearbeiten, bis Sie es eingeführt haben. Launching lehrt dich, was du bauen sollst. Bis du weißt, dass du deine Zeit verschwendest. Daher ist der Hauptwert von allem, was Sie starten, ein Vorwand für die Einbeziehung von Benutzern.

Die von Ihnen umrissene Funktionalität lässt sich einfach replizieren und ist gut dokumentiert und es ist kostenlos, damit zu beginnen. Was kannst du sonst noch verlangen?

    
Chris Mowforth 17.08.2011 22:14
quelle
1

Wenn Sie die freie Zeit haben, können Sie sich auch für ein kostenloses Konto anmelden und es ausprobieren.

ABER, das wird mit einigen ziemlich starken Kopfschmerzen kommen.

Die Versionskontrolle wird eins sein, da heroku git verwendet, aber ein anderes, das noch nicht erwähnt wurde, ist, dass Ihre 12 Prozesse ("Dynos" in heroku sprechen) Sie $ 35 * 11 = $ 385 pro Monat kosten würden! Sie können einen stündlichen Cron für $ 3 / Monat einrichten, der Ihre Warteschlange "delayed_job" löscht (anstatt dass die Mitarbeiter ständig laufen), aber wird das auch ausreichen? (Wenn Sie 8 Arbeiter haben, rate ich nicht). Dies kann einige Codeänderungen erfordern oder nicht.

Sobald Sie es eingerichtet haben, ist die Bereitstellung und Verwaltung sehr einfach (nicht vorhanden), aber es kostet Sie, wenn Sie neue Funktionen benötigen.

    
Brian 18.08.2011 06:39
quelle
1

JA, gehen Sie dazu.

Seine gute Einsatzumgebung, die schnell und einfach skaliert und skaliert werden kann. Auch wenn Sie für Ihre Test- oder Demo-Nutzung verwenden können, bietet Ihnen die kostenlose Nutzung von 1 Dynos pro App.

Liste der verfügbaren Add-On-Tools, die Sie gemäß Ihren Anforderungen hinzufügen können.

    
jayesh 30.12.2013 09:08
quelle