-
Durch die Systematisierung deklarativer Verfahren zur Automatisierung von Konfigurationen werden Zeit und Kosten minimiert, die für den Einstieg neuer Entwickler in ein Projekt anfallen.
-
Unterschiede je nach OS werden klar herausgearbeitet, und die Portabilität zwischen Ausführungsumgebungen wird maximiert.
-
Sie eignet sich für die Bereitstellung auf neueren Cloud-Plattformen und macht die Verwaltung von Servern und Systemen überflüssig.
-
Um die Unterschiede zwischen Entwicklungs- und Betriebsumgebung zu minimieren und die Agilität zu maximieren, wird Continuous Deployment möglich.
-
Sie lässt sich skalieren, ohne Tools, Architektur oder Entwicklungsweise grundlegend zu verändern.
** The Twelve Factors **
I. Codebase – Eine versionierte Codebase mit vielen Deploys
II. Abhängigkeiten – Explizit deklarierte und isolierte Abhängigkeiten
III. Konfiguration – In der Umgebung gespeicherte Konfiguration
IV. Backend-Services – Backend-Services als angebundene Ressourcen behandeln
V. Build, Release, Run – Build- und Run-Phasen strikt trennen
VI. Prozesse – Die Anwendung als einen oder mehrere zustandslose (stateless) Prozesse ausführen
VII. Port Binding – Den Service per Port-Binding bereitstellen
VIII. Concurrency – Skalierung über das Prozessmodell
IX. Disposability – Maximale Robustheit durch schnelles Starten und Graceful Shutdown
X. Entwicklungs-/Produktions-Parität – Entwicklungs-, Staging- und Produktionsumgebungen so ähnlich wie möglich halten
XI. Logs – Logs als Event-Stream behandeln
XII. Admin-Prozesse – Admin-/Wartungsaufgaben als einmalige Prozesse ausführen
Noch keine Kommentare.