• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina
Glue Labs

Glue Labs

Trasformiamo le tue idee in prodotti digitali di successo!

  • HOME
  • SOLUZIONI
  • NEWS
  • PRODOTTI
  • CONTATTI
  • CASE STUDY

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.

Continua la lettura

  1. Come una vulnerabilità di un plugin può compromettere un’intera applicazione: l’esempio di un package NPM
  2. I 5 fattori che impattano sulla reliability delle applicazioni
  3. Progressive Web App (PWA) e Single Page App (SPA) per un’esperienza App-Like

Categoria: Articoli Tags: continuous delivery, continuous integration, devops, SaaS, software, twelve-factor app, web application

Barra laterale primaria

Cosa facciamo

  • Content Strategy
  • E-Commerce
  • Formazione avanzata Web, Mobile & Cloud
  • IoT – Sviluppo e Integrazione
  • Micro Live Learning(MLL) Web, Mobile & Cloud
  • Project Management Prince2
  • PushAPE
  • Sicurezza ICT
  • Software Aziendali
  • Sviluppo Mobile App
  • Sviluppo, Supporto, Assistenza Tecnica e Hosting Google Cloud
  • System Integration
  • Web Application
  • Web Design

Contatti

Scrivici dal form di contatto

Tel +39 06 56549766
Fax +39 06 21122581
Mail: info@glue-labs.com
Pec: gluelabs@legalmail.it

Dove siamo

Roma: Piazza Don Sturzo 15
Milano: Via Lazzaretto 19
Torino: Via San Domenico 28
Altamura: Via Maggio 1648 24

"*" indica i campi obbligatori

Nome*
Questo sito è protetto da reCAPTCHA e si applicano le Normative sulla Privacy e i Termini di Servizio di Google.
Inviando i tuoi dati accetti le condizioni sulla Privacy. Li useremo per rispondere alle tue domande e richieste.
Consenso*
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Siamo parte di

La nostra Agenzia di Marketing

Footer

Partnership



Rimaniamo in contatto

Iscriviti alla nostra newsletter

Nome
Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Soluzioni

  • Corso Intelligenza Artificiale per lo sviluppo di software
  • Piani Enterprise di Consulenza Tecnica in ambito Web, Mobile e Cloud
  • Corso Rust Base e Avanzato
  • Integrazione di Passkey di Google nelle Web e Mobile Application
  • Consulenza, assistenza e supporto di Cloud Engineer
  • Sportello virtuale con il sistema Jitsi
  • Time & Material – Web Designer
  • Corso Angular 16
  • Time & Material personale IT
  • Assistenza, Supporto e Sviluppo NestJS e Node.js

Articoli

  • I 6 vantaggi della Unified Communication as a Service(UCaaS)
  • Da Cloud Hosted a Cloud Native Application: le funzionalità da aggiungere
  • Gadget NFC: come gestire il cliente(App e Pagamenti) con braccialetti e ciondoli
  • Come gestire Java Full-Stack Application: Hilla
  • Una possibile architettura software per implementare “by Default” il GDPR nelle applicazioni
  • Come ridurre la latenza del 60%: l’esperienza di Linkedin
  • Cosa sono ed a cosa servono Technology Radar, Standard Tecnologici interni ed Architectural Decision Record(ADR)
  • KEDA: un AutoScaler Event-Driven per Kubernetes
  • Le novità di NestJS 10
  • Cos’è e come funziona la nuova metrica Interaction to Next Paint(INP) delle Core Web Vitals

Le nostre sedi

  • Roma, Piazza Don Sturzo 15
  • Milano, Via Lazzaretto 19
  • Torino, Via San Domenico 28
  • Altamura, Via Maggio 1648 24

Contatti

  • Tel. +39 06 87811067
  • Fax +39 06 99335373
  • glue-labs@legalmail.it
  • info@glue-labs.com
  • Facebook
  • LinkedIn
  • Twitter

Scarica app da App StoreScarica app da Play Store


Glue Labs © 2011–2023 | Copyright | Privacy Policy | Codice Etico | Company Info | Cookie Policy

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
La conservazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire la fruizione di uno specifico servizio esplicitamente richiesto dall'abbonato o dall'utente, o al solo fine di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente a fini statistici anonimi. Senza un mandato di comparizione, il rispetto volontario da parte del tuo provider di servizi Internet o registrazioni aggiuntive da parte di terzi, le informazioni archiviate o recuperate solo per questo scopo non possono essere generalmente utilizzate per identificarti. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
L'archiviazione tecnica o l'accesso è necessario per creare profili utente per inviare pubblicità o per tracciare l'utente su un sito Web o su più siti Web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci {vendor_count} fornitori Per saperne di più su questi scopi
Gestisci preferenze
{title} {title} {title}