-
Systématise des procédures déclaratives pour automatiser la configuration afin de minimiser le temps et le coût nécessaires à l’arrivée de nouveaux développeurs sur le projet.
-
Clarifie les éléments qui varient selon l’OS et maximise la portabilité entre les environnements d’exécution.
-
Convient aux déploiements sur les plateformes cloud apparues récemment et élimine le besoin de gérer les serveurs et les systèmes.
-
Rend possible le déploiement continu afin de minimiser les écarts entre l’environnement de développement et l’environnement de production, et de maximiser l’agilité.
-
Permet de monter en charge sans modifier en profondeur les outils, l’architecture ou la manière de développer.
** The Twelve Factors **
I. Base de code - une base de code unique sous gestion de version, avec de multiples déploiements
II. Dépendances - des dépendances explicitement déclarées et isolées
III. Configuration - la configuration stockée dans l’environnement
IV. Services back-end - considérer les services back-end comme des ressources attachées
V. Build, release, run - des étapes de build et d’exécution strictement séparées
VI. Processus - exécuter l’application sous la forme d’un ou de plusieurs processus sans état (stateless)
VII. Liaison de port - exposer les services via la liaison de port
VIII. Concurrence (Concurrency) - montée en charge à l’aide du modèle de processus
IX. Jetabilité (Disposability) - maximiser la robustesse grâce à des démarrages rapides et des arrêts propres (graceful shutdown)
X. Parité dev/prod - maintenir le développement, le staging et la production aussi similaires que possible
XI. Logs - traiter les logs comme des flux d’événements
XII. Processus d’administration - exécuter les tâches d’admin/de maintenance comme des processus ponctuels
Aucun commentaire pour le moment.