Back to top

Applicazione a 12 fattori (twelve-factor app)

Una nuova metodologia per lo sviluppo di Software as a Service ( SaaS)

La realizzazione di Software as a Service ( SaaS) è uno scenario sempre più frequente, pertanto nasce sempre più spesso la domanda : quale metodologia utilizzo per lo sviluppo?
Una delle risposte che troviamo è lo sviluppo Agile con framework come Scrum, ma Noi vi proponiamo un nuovo punto di vista per sviluppatori e DevOps chiamata “twelve-factor app“.

Twelve-factor App

La metodologia twelve-factor app si propone di riuscire a realizzare SaaS che:

  • minimizzano tempi e costi per nuovi sviluppatori;
  • sia portabili su varie piattaforme;
  • permettano il continuous deployment;
  • scalino efficientemente;
  • evitino i costi del software erosion

I 12 Fattori

  1. Codebase : un’unica base di codice, sotto versioning (utilizzando per es. GIT) in maniera da effettuare sviluppo costante e deplyment di funzionalità organizzate e strutturate;
  2. Dipendenze: le dipende del software devono essere chiare, note e ben isolate al fine di poterne controllare i processi evolutivi
  3. Configurazione: occorre mantenere le informazioni di configurazione all’interno dell’ambiente di sviluppo così potrai migliorarne la portabilità
  4. Backing Service: i servizi come un database SWL devono essere trattate come risorse dell’applicazione, così potrai ottenere scalabilità e portabilità
  5. Build, release, esecuzione: i processi devono essere distinti cosi da poter gestire le varie fasi in maniera strutturata, ciò facilità il DevOps
  6. Processi: l’applicazione deve essere realizzata in modo che permetta di operare in maniera stateless ( senza stato), vale a dire che ogni nodo è autosufficiente ed indipendente, per esempio dei dati
  7. Binding delle Porte: è l’estensione del concetto precedente relativo ai processi, l’applicazione deve essere indipendente anche dai servizi di esecuzione come un Web Server, deve in buona sostanza, grazie a esplicite dipendenze, aggiungere il layer del webserver e quindi rispondere semplicemente ad una determinata richiesta su una determinata porta.
  8. Concorrenza: possibilità di scalare efficientemente attraverso un modello di processo orizzontale, in pratica avviare più processi in modo da poterne gestire la singola esecuzione
  9. Rilasciabilità: processi di esecuzione avviabili velocemente e gestione dello stop, ciò garantisce la rilasciabilità intesa non come release dell’applicazione ma come rilascio del processo in modo da eseguire nuovi compiti o gestire le modifiche.
  10. Parità tra Sviluppo e Produzione: l’ambiente di sviluppo e produzione deve essere il più simile possibile così da migliore la gestione del tempo, delle risorse e della tecnologia.
  11. Log: gestire i log come stream di eventi
  12. Processi di Amministrazione: Eseguire i task di amministrazione/management come processi una tantum proprio per la gestione dell’applicazione.

Glue Labs

Sviluppiamo SaaS con garanzia 12 mesi da qualsiasi bug e ti forniamo supporto, assistenza e consulenza tecnica professionale per qualsiasi applicativo, inoltre realizziamo corsi di formazione avanzata orientati alla tue esigenze di business. Contattaci subito senza impegno per un preventivo gratuito.

Casi di Successo

Sono tante le Grandi Aziende e Società IT che usano le nostre soluzioni Formazione Avanzata e Body Rental insieme alla consulenza specializzata per migliorare i propri dipendenti, i propri servizi interni e verso terzi.

Inizia ora il tuo progetto

CONTATTI

Scrivici dal form di contatto

Tel +39 06 87811067
Fax +39 06 99335373

Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove Siamo
Roma: Piazza Don Sturzo 15
Padova: Via Savonarola 217
Milano: Viale Monza 345
Torino: Via Nizza 262

Nome*

E-mail*

Telefono(per un contatto più rapido)

Come possiamo aiutarti?

Altro che vuoi dirci?

Inviando i tuoi dati accetti le condizioni sulla privacy. Li useremo per rispondere alle tue domande e richieste.

TOP