CloudFormation: infrastrutture e deploy

di W. Dal Mut, Lead of Infrastructures @ Corley - whitepaper 2020


Gestire un'infrastruttura cloud è un processo complicato, in quanto spesso diverse componenti devono interagire alla perfezione.

Immaginiamo un'architettura composta da server web, load balancer, microservizi API, database, sistemi di coda e notifica, storage scalabile...

Creare, gestire e mantenere nel tempo queste architetture richiede tool e processi specifici per evitare errori e automatizzare ogni variazione all'architetetura.

CloudFormation è il tool di Infrastructure as Code che utilizziamo quotidianamente per la realizzazione di tutte le nostre infrastrutture. Grazie alla gestione delle risorse programmabili, alla gestione dei tag e di molte altre feature è possibile raccogliere a template le requirements di un progetto e renderlo così disponibile e riproducibile a comando, e avere un continuo legame tra le risorse esistenti e necessità di variare le infrastrutture nel tempo.

Grazie al sistema di tagging è anche possibile catalogare le risorse impiegate e avere il dettaglio costi completamente mappato e pronto per le successive analisi!

Ecco un caso di successo pubblicato che fonda tutte le sue radici negli stack di CloudFormation.

Come si usa CF?

CloudFormation non necessita di tool esterni: un semplice editor di testo lo rende immediatamente utilizzabile.

CF

I template di infrastruttura realizzati possono essere direttamente caricati nella console AWS o integrati nell'ambiente cloud dagli sviluppatori attraverso linea di comando.

Continuous Delivery e CloudFormation

Grazie alla programmaticità del sistema CloudFormation di Amazon Web Services è possibile integrarsi rapidamente con i sistemi di continous integration, delivery e deployment. La flessibilità del tool di infrastructure as code permette non solo di lavorare su reti applicative ma anche le stesse strutture di ci/cd permettendo così anche la loro mappatura, revisione e gestione.

La seguente immagine mostra come diversi tool di AWS possono essere collegati per, partendo da un template di codice infrastrutturale (icona rossa in alto), creare e aggiornare una infrastruttura (blocco verde delle risorse in basso).

CF

CloudFormation, sistemi di revisione e semplicità

I template di CloudFormation sono semplici file di testo che rappresentano la struttura che si vuole creare sul Cloud Amazon Web Services. Grazie a questa struttura possiamo registrare tutti i template nei sistemi di revisione del codice, come Git, permettendo così il continuo tracking delle risorse e delle modifiche infrastrutturali, consentendoci di seguire le differenze rispetto al passato ed identificare potenziali bug grazie al sistema di revisione.

L'adozione di un sistema di revisione del codice (e quindi dell'architettura) ci permette di attivare processi di continuous delivery/deployment degli stack CloudFormation.

Ad ogni variazione architetturale che viene descritta nel codice, possiamo quindi ingaggiare il deploy di infrastruttura, permettendo così il continuo upgrade delle risorse mantenendo al tempo stesso uno archivio storico degli eventi dell'architettura. In caso di problemi l'integrato sistema di rollback di CloudFormation permetterà il ritorno automatico alla condizione di partenza lasciando in questo modo l'infrastruttura sempre disponibile e in salute. Sistemi di notifica basati su SNS (Simple Notification Service) integrati con il sistema di monitoring o altri software interni all'azienda gestiscono in realtime qualunque necessità specifica avvisando il team di infrastruttura e permettendo di risolvere velocemente il problema.

Tracking delle risorse ed analisi costi

I template di CF permettono di eseguire il tagging di tutte le risorse sotto il loro controllo garantendo in questo modo il tracking di tutte le strutture e quindi il monitor di dettaglio dei costi in modo completamente organizzato.

Grazie al tagging infatti è possibile abilitare il servizio Cost Explorer di Amazon Web Services e analizzare il consumo di risorse in tempo reale. In questo modo è possibile pianificare operazioni di cost-saving delegando l'aggiornamento di tutte le risorse direttamente a CloudFormation.

Hai risorse create a mano? Importale su CloudFormation

CloudFormation consente infine l'importazione delle risorse, grazie a cui è possibile mappare componenti dell'architettura già esistenti collegandole ad un nuovo template. In questo modo è possibile costruire infrastrutture basandosi su definizioni pre-esistenti, ereditando così parte dell'architettura e ottenendo un immediato vantaggio operativo.

Questo permette di passare da una gestione manuale di una infrastruttura (con tutti i rischi del caso: errori umani, perdita di risorse, tempo sprecato) ad una versione completamente sicura e automatizzata.


 


parlaci del tuo progetto o condividi le tue domande con noi!

Corley Advanced Partner di AWS

Grazie ai successi e all'impegno costanti, Corley è Advanced Consulting Partner di Amazon Web Services!

scopri di più




Domande?

inviaci tua richiesta o osservazioni in merito, saremo felici di risponderti!

 


Letta e compresa l'informativa privacy, il sottoscritto presta il proprio consenso al trattamento dei propri dati per finalità di marketing ed invio di comunicazioni promozionali di cui alla lettera b) dell'informativa, attraverso sistemi manuali ed automatizzati

Servizi su AWS

Migrazioni in cloud, performance
cloud native, serverless & IoT

scopri i nostri servizi per AWS