Acculturation #1 > 12 Factor Apps

12 factor apps

12 bonnes pratiques (idéales) pour structurer la création d’applications web (web apps), ou logiciels en tant que service (software-as-a-service) puissantes et scalables, écrites et pensées depuis 2012 par un groupe de personnes du service Cloud Heroku.

Cette présentation est en cours de {création|rédaction}, elle sera livrerait en version PDF libre de partage.
N’hésitez pas à me contacter pour me corriger si nécessaire (ne détenant pas le « savoir », je suis ouvert aux critiques).

Les 12 Factor sont essentiellement un manifeste décrivant les bonnes pratiques et lignes directrices qui doivent être suivies pour construire une application pour les plateformes Cloud. Elles permettent aux applications de fonctionner sur n’importe quelle plateforme Cloud et langage de programmation.

Des bonnes pratiques qui permettent la montée en charge des applications dans le Cloud, leur évolution et leur maintenance. Elles doivent permettre de livrer du code le plus rapidement et le plus souvent possible, ainsi que de produire du code intègre (sans bug, autant qu’on puisse le faire).

Cette nouvelle façon de penser le développement d’une application ne doit se faire que si vous croyez en ses avantage !


Les 12 Factor pour aller dans le Cloud

1 – Base de code

Une base de code suivie dans un logiciel de gestion de versions et de multiples déploiements

Une application est égale à une base de code qui est versionnée dans un dépôt (gestionnaire de version : git, mercurial, bazaar ou subversion). Toute évolution du code doit être taguée pour devenir une révision identifiable.

1 application = 1 unique dépôt de code

  • X dépôts de code = 1 système distribué composé de X applications
  • X applications pour 1 seul dépôt de code = factoriser le code dans des librairies
  • 1 base de code >> X déploiements

Par exemple, un déploiement par développeur, la qualification et la production.

12 factor -1- Base de Code

Utiliser un contrôleur de version (GIT)

Versionner uniquement le cœur de l’application (Une base de code, x déploiements)

Pas de librairies internes, ni externes – Pas de fichiers de configuration

Michaël LIXON
Michaël LIXON
Ingénieur Études et Développement - Coach et formateur DevOps | Une prestation ? Prenez contact au +33 (0)4 83 28 80 40 - CELAD - Sophia-Antipolis.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *