informatique:12_factors_app
Ceci est une ancienne révision du document !
Table des matières
12 Factors app
Texte original:
1. Code source / Codebase
- Le code d'une application doit être gérée avec gestionnaire de version (Version Control System (VCS)) comme “Git”, “Subversion (svn)” ou “Mercurial (hg)”.
- Le code est déployé sur plusieurs et/ou différents environnements locaux ou distants comme “production”, “test” ou “développement”
2. Dépendances / Dependencies
- Chaque dépendance doit être explicite (Gem bundle avec Ruby, Pip avec Python, Composer avec Php, …)
- L'application ne dépend pas d'éléments devant être installés au niveau système, elle doit être isolée (“bundle exe” avec Ruby, Virtualenv avec Python)
3. Configuration / Config
- La configuration doit être stockée dans l'environnement pour pouvoir leurs être spécifique: dév, pré-prod, prod (par exemple la connexion à la BdD, la clé de sécurité).
4. Services Tiers / Backing Services
- L'application doit être indépendante des services tiers que l'on peut sélectionner (passer de MySql à Amazon RDS) sans changer le code mais simplement un URL. Il faut donc utiliser une couche d'abstration (abstraction layer) à chaque fois que c'est possible (SQLAlchemy pour Python, PDO pour Php).
- DATABASE_URL=mysql://testdb:t123@localhost/testdb
- DATABASE_URL=postgresql://testdb:t123@localhost/testdb
- DATABASE_URL=mysql://sa:mypwd@mydbinstance.abcdefghijkl.us-west-2.rds.amazonaws.com/mydb
informatique/12_factors_app.1452746345.txt.gz · Dernière modification : 14/01/2016 05:39 de cyrille