Tecnos è una software house specializzata nella realizzazione di software gestionali, preventivazione e cantieristica per impiantisti elettrici e idraulici. Con 20 anni di esperienza e migliaia di clienti in tutta Italia, è leader nel mercato italiano.
Tecnos Italia offre ai propri clienti sistemi software dedicati tramite la piattaforma proprietaria Planet Premium. Successivamente ha creato un'ulteriore linea di prodotti distribuiti in modalità ancora più massiva. A causa della veloce diffisione dei software gestionali si è reso fondamentale modificare i cicli di sviluppo e di gestione di infratruttura per permettere resilienza, sicurezza e scalabilità.
Grazie ai modelli di deployment per artefatti gestiti da Amazon Web Services, tramite il servizio Code Deploy, è stato possibile programmare una meccanica di delivery stabile e sicura grazie alla pacchettizzazione delle applicazioni Tecnos Italia in bundle distribuibili sulle infrastrutture scalabili dell'ecosistema Cloud.
Grazie al modello di deployment basato su artefatti è stato possibile introdurre le tecniche di autoscaling per la parte infrastrutturale delegata alla gestione dell'applicazione. I modelli di autoscaling sono importanti per diversi fattori centrali al progetto quali:
L'inserimento di un'infrastruttura scalabile automaticamente o programmaticamente (schedulazione per orari) è centrale per il cost-saving. Infatti i fornitori cloud hanno modelli di pricing basati sull'utilizzo delle risorse, per cui poter adattare dinamicamente la propria infrastruttura alle necessità del momento è di centrale importanza per una gestione efficiente dei costi ed un adattamento costante alle reali esigenze delle applicazioni.
Poter ingaggiare le procedure di deployment in funzione del cambiamento dinamico dell'infastruttura è fondamentale per il corretto funzionamento dell'applicazione. La scalabilità dell'infrastruttura è infatti, in qualche modo, legata a doppio filo con i deploy che corrispondono alla propria roadmap evolutiva>. Il servizio AWS CodeDeploy permette molteplici modelli di "ingaggio" connessi dinamicamente con la scalabilità, quali per esempio:
Il focus sulla scalabilità è stato di centrale importanza per l'ottenimento della resilienza dell'applicazione e dell'infrastruttura in genere. Grazie ai servizi di AWS Auto Scaling l'applicazione notifica lo stato di salute continuamente attraverso il meccanismo di healthcheck, permettendo in questo modo all'ecosistema AWS di intercettare situazioni di non responsività: il rinnovo dell'istanze coinvolte avviene automaticamente così da garantire la continuita di servizio e il ripristino automatico delle strutture fondamentali.
La scalabilità è stata la principale motrice del sistema implementato e, grazie a AWS e alle SOA (Service Oriente Infrastructure), si è arrivati a costruire un infrastruttura applicativa che permetta iterazioni evolutive di progetto, agevolando l'inserimento di nuovi elementi di sistema in modo progressivo adattandosi continuamente alle necessità di business e di carico applicativo.
L'agilità di sviluppo e di delivery è stato uno dei principali punti di successo dell'attività grazie anche all'automazione dei deploy applicativi e alla gestione dell'infrastruttura con modelli as a code (IaaC - Infrastructure as a Code).
Si sono ottenuti importanti risultati nel cost savings, nell'automation e nella scalabilità del sistema