Frage

Was ist der beste Ansatz, eine neue Version eines gehosteten Web-App auf der Freigabe, und wie oft entbinden Sie in der Regel? Haben Sie ein beliebiges Datum auswählen, sagen jede Woche, Monat usw. eine akkumulierte Menge von Fixes Rollout (vielleicht einen ähnlichen Ansatz wie Joel Ansatz zur Schiffsdaten )? Warten viel länger als der Teil des Hauptvorteil einer gehosteten Anwendung zu besiegen scheint. Auf der anderen Seite, würden Sie nicht ständig wollen, um neue Funktionen ausrollen, die den Benutzer verwirren könnten (das heißt, wenn es etwas anderes jedes Mal, wenn er / sie angemeldet).

Bis vor kurzem meiner Erfahrung ist, in erster Linie mit einem installierten Server-basierten oder Desktop-Anwendungen. Ich bin gespannt zu sehen, welche Art von Release-Management-Menschen mit einer gehosteten Anwendung verwenden.

War es hilfreich?

Lösung

Google-Ansatz ist wahrscheinlich die beste für den Endverbraucher, aber es kommt auf Kosten der Komplexität.

Sie ausrollen neue Versionen (und manchmal nur einzelne Änderungen) auf einer ziemlich konstante Basis (so oft wie täglich, je nach Projekt). Aber hier ist der Kicker. Nur ein kleiner Teil der Benutzer die neue Version angegeben

Google eine große Anzahl von Benutzern für ihre großen Produkte haben, so ist es praktisch in Regeln zu setzen, wie „5% der Nutzer diese Funktion sehen sollte“.

Sie können dann die Ergebnisse analysieren und ihre nächste Veröffentlichung, vielleicht auf einem anderen 15% der Benutzerpopulation planen.

Andere Tipps

So viel wie Ingenieure eine Routine definieren wollen zu leben, es wird wirklich von den Geschäftsanforderungen hinter dem System betrieben werden. Es ist auch wirklich hängt von der Art des Updates, etc ...

Inhalt und HTML-Updates sollte keine große Sache zu verdrängen sein. Anwendungsänderungen sollten eine große Sache sein, und gehen Sie durch die etablierten Testroutinen auf einer Vorschau-Site vor Live gedrückt wird.

Eines ist sicher, dass Sie eine sehr „saubere“ Art und Weise haben müssen, zu implementieren (und undeploy) ändert. Sie müssen auch einen „easy“ Weg, um die Änderungen zu überprüfen und zu überprüfen, bevor sie live geschaltet werden.

eine Mischung aus „git“ Verwendung und „rsync“ ermöglicht es uns, die volle Kontrolle über den Prozess. Alle Änderungen an unserem Projekt in einem Zweig entwickelt, die von der „Produktion“ Zweig verzweigt wurde. Bevor irgendwelche Änderungen Live gehen kann, muss die „Produktion“ Zweig vollständig in verschmolzen werden. Der Akt Live gehen einfach wird die entsprechende Niederlassung in „Produktion“ Zusammenführung und an den Live-Servern rsyncing. Git macht dies wirklich einfach.

Damit wird sichergestellt, dass die Änderungen Live gehen nicht möglicherweise Konflikte mit anderen Veränderungen im Gang.

Da dieses Systems der Annahme, unsere Bereitstellungsroutine in Effizienz und Klarheit dramatisch zugenommen. Und übrigens, unsere Einsätze reichen von mehrmals täglich bis einmal alle paar Monate. Es hängt alles ab. Ich würde eine 1-2-Release pro Woche Zyklus auf einem aktiven Projekt bevorzugen.

Veröffentlichung früh und oft ist das, was ich tue, und was wir tun, wo wir arbeiten. Wir bloggen auch über unsere Updates, wann immer wir sie machen. Es ist wahrscheinlich einfacher für Sie, wenn Sie alle Ihre Updates in einem Update zu einem Zeitpunkt rollen (für QA, rückgängig zu machen ist, usw.), so gut wie möglich. Aus Sicht eines Anwenders glaube ich nicht, dass es irgendein Problem mit vielen Updates. Solange sie nicht schlecht Updates. Ich denke, es ist ein Problem, wenn Sie für ein ganzes Jahr oder sechs Monate warten, und rollen Sie alle Updates in eine große Release. Das ist, was ein Projekt getötet habe ich zu arbeiten (ein beliebtes Feedreader Sie wahrscheinlich habe gehört). Die Leute dachten, wir waren tot, und die Wahrnehmung wurde Wirklichkeit. Wir haben uns verlassen. Also ich bin für den Feuerwehrschlauch Release Zeitplan.

Alle zwei Wochen werden sollten genug sein, aber dies hängt sehr von Ihrem Markt.

Bei Planbox (web-basierten Agile Projektmanagement SaaS) veröffentlichen wir jeden Tag. Wir können das tun, weil die meisten unserer Anwendungslogik, und alle unsere Präsentationslogik sind in dem Front-End (Javascript). Auch die HTML via Javascript erzeugt ein Templating-Engine. Aber das Backend (PHP) und sein REST API selten ändern. Dies ermöglicht es uns, neue Versionen des Clients jederzeit zu schieben, ohne die Kompatibilität zu brechen.

Wenn Sie auf eine solche Architektur bewegen können, werden Sie viel Zeit sparen und viel Effizienz gewinnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top