Sommario
  1. I 12 Fattori
    1. I. Codebase
    2. II. Dipendenze
    3. III. Configurazione
    4. IV. Servizi di supporto
    5. V. Build, relese, esecuzione
    6. VI. Processi
    7. VII. Binding delle porte
    8. VIII. Concorrenza
    9. IX. Disponibilità
    10. X. Parità Develop / Production
    11. XI. Logs
    12. XII. Processi di Amministrazione

Metodologia 12 Factor App

Scopri i vantaggi delle app a 12 Fattori

Il Software come Servizio è considerato l'industria del futuro.

12 Factor App è una metodologia per la creazione di app software-as-a-service nata intorno alla piattaforma Heroku. Tra i suoi benefici:

  • riduce il tempo di apprendimento per i nuovi sviluppatori che si uniscono al progetto
  • offre la massima portabilità tra gli ambienti di esecuzione del software
  • riduce al minimo la differenza tra sviluppo e produzione, consentendo il continuous deployment agile
  • perfetto per le piattaforme cloud riducendo la necessità di amministrare server e sistemi
  • facilmente scalabile

I 12 Fattori

I. Codebase

Un unico codebase sotto controllo di versione e tanti deployment

II. Dipendenze

Dipendenze dichiarate e isolate

III. Configurazione

Configurazione memorizzata nell'ambiente

IV. Servizi di supporto

Considerare i servizi di supporto come risorse

V. Build, relese, esecuzione

Fasi di build ed esecuzione separate

VI. Processi

Eseguire le app come processi senza stato

VII. Binding delle porte

Esportare i servizi tramite il port binding

VIII. Concorrenza

Scalabilità orizzontale tramite il process model

IX. Disponibilità

Massimizzare la robustezza con un avvio rapido e un arresto regolare

X. Parità Develop / Production

Mantieni lo sviluppo, lo staging e la produzione il più simili possibile

XI. Logs

Tratta i log come flussi di eventi

XII. Processi di Amministrazione

Esegui i task di amministrazione/gestione come processi una tantum