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
- 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;
- Dipendenze: le dipende del software devono essere chiare, note e ben isolate al fine di poterne controllare i processi evolutivi
- Configurazione: occorre mantenere le informazioni di configurazione all’interno dell’ambiente di sviluppo così potrai migliorarne la portabilità
- Backing Service: i servizi come un database SWL devono essere trattate come risorse dell’applicazione, così potrai ottenere scalabilità e portabilità
- Build, release, esecuzione: i processi devono essere distinti cosi da poter gestire le varie fasi in maniera strutturata, ciò facilità il DevOps
- 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
- 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.
- Concorrenza: possibilità di scalare efficientemente attraverso un modello di processo orizzontale, in pratica avviare più processi in modo da poterne gestire la singola esecuzione
- 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.
- 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.
- Log: gestire i log come stream di eventi
- 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.
Cosa Facciamo
- Consulenza ITIL
- Consulenza ITSM - IT Service Management
- Content Strategy
- E-Commerce
- Formazione avanzata Web, Mobile & Cloud
- IoT - Sviluppo e Integrazione
- Micro Live Learning(MLL) Web, Mobile & Cloud
- Portfolio
- Privacy
- Project Management Prince2
- Sicurezza ICT
- Software Aziendali
- Sviluppo Mobile App
- Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
- System Integration
- Web Application
- Web Design
Casi di Successo
Grazie alla Google Cloud Platform (GCP) la gestione IT di tante realtà aziendali è diventata economica e efficiente.
CONTATTI

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it
Dove Siamo
Roma: Piazza Don Sturzo 15
Padova: Via Savonarola 217
Milano: Via Lazzaretto 19
Torino: P.zza XVIII Dicembre 5
Seguici