SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
IaC-Infrastructure as Code
Daniele Mondello
Linux day 202
1

Trapani 21/10/2021
• Management


• Team Leader


• Quality Manager


• Web Architect


• Healthcare IT Consultant


• UX Expert
General O.S.
• PHP


• Javascript


• ASP


• MySQL HTML, CSS3


• Ruby, Rails


• Python
Developer
• Ubuntu, CentOS


• Mac OSX


• Windows


• IOS - Android


• Embedded OS


• Raspai, Pidora
2
Classe 1971- Cresciuto tra coin up, Super Santos e libri, nell’estate del
1986 mi regalano un COMMODORE 64 che cambia la mia vita.
Un Nerd prestato all’imprenditoria
Obiettivo di oggi
Security
Application
Storage
Procedures
Template
Cloud Infrastructure
Script


Network
Obiettivo di oggi (cosa useremo)
Security
Application
Storage
Procedures
Template
Cloud Infrastructure
Script


Network
HCL (HashiCorp Configuration Language)
Cosa si intende per "Infrastructure as Code"
Introduzione a Terraform
Collaborazione e sicurezza
Best Praties in IaC
Argomenti trattati
I Servizi Cloud
AWS
01.
VELOCITA’


il processo di implementazione avviene in
maniera più rapida rispetto al modo tradizionale
02.
RIUSO: tramite il codicesi possono realizzare moduli
ri-utilizzabili in prodotti, indipendentemente
dall'ambiente.
03.
SELF SERVICE: può essere automatizzato l'intero
processo di distribuzione delle applicazioni.


04.
SICUREZZA: essendo un processo automatizzato non è
soggetto a errori manuali.
05.
FACILE: accesso ai dati dell'infrastruttura: lo stato
dell'infrastruttura è rappresentato in file sorgente che
chiunque può leggere.
06.
CONTROLLO DELLA VERSIONE: i file sorgente IaC archiviati
in un CVS (Control Version System) semplificano il debug de
problemi perché la cronologia è sempre disponibile.
07.
VSLIDAZIONE: ogni modifica sui file sorgente IaC può
essere revisionata dal codice tramite test automatizzati
Perche utilizzare IaC
Il FERRO


In un primo momento i server erano presenti e manutenuti all'interno
di CED aziendali. L’ HW veniva cambiato dopo tanto tempo ed era
difficile chiedere modifiche a livello di SO o di librerie e spesso
risultava installato vecchio software non più utilizzato.


LA VIRTUALIZZAZION
E

L'utilizzo di Server Virtuali, ha spostato in maniera significativa la
gestione dei server da chi gestiva HW a figure più vicine allo
sviluppo con la nascita anche di una nuova figura denominata
devops. Nell’ultimo periodo l’avvento dei container ha dato una
ulteriore spinta.


Da dove veniamo
Amazon Web Service (AWS)
Lanciato nel 2008


Lanciato nel 2002


Lanciato nel 2008


Avvento del cloud
Amazon Web Services (AWS) è la
piattaforma cloud più completa e
utilizzata del mondo, offre più di 175
servizi completi da data center a livello
globale. Milioni di clienti, incluse le start-
up in più rapida crescita, le più grandi
aziende e le agenzie governative leader
di settore, utilizzano AWS per diminuire i
costi, diventare più agili e innovarsi in
modo più rapido
Nel 2003, Benjamin Black entrò in Amazon come professionista
per la creazione di una applicazione Web che coordinasse il
team degli ingegneri,  Chris Pinkham, chiese a Black di
individuare come l’infrastruttura di Amazon potesse scalare con
maggiore flessibilità. Black e Pinkham iniziarono a esplorare le
opportunità offerte dalle tecnologie di virtualizzazione di
disaccoppiamento delle infrastrutture hardware dal software.
Resosi conto del valore dell’idea crearono un report per Bezos,
che permise la sperimentazione, Pinkham costituì un team di
professionisti con lo specifico intento di contribuire alla nascita
di EC2 (Elastic Compute Cloud), che sarebbe stato da lì a poco il
primo servizio della gamma AWS rilasciato nel 2006.


Come nasce AWS
I servizi di AWS
Per utilizzare AWS basta registrasi sul sito collegando una carta di credito valida ed effettuare il login per operare
sulla propria console.
L’infrastruttura di AWS (01/2021)
GEOGRAFICAMENTE
Ogni regione copre un‘area
geograficamente distinta
SISTEMATICAMENTE
A livello di sistema ogni
regione e a se stante
LEGALMENTE
Norme dell’area geografica
Una “regione” è una parte dell'infrastruttura globale di
AWS. Ogni regione è isolata ma collegata a una rete AWS
privata globale ad alta velocità e larghezza di banda
elevata grazie al quale è possibile l'esecuzione di sevizi
su più regioni. La maggior parte dei servizi AWS viene
gestita su una regione infatti quando si crea una risorsa in
una regione questa non esiste nelle altre regioni, tranne
in alcuni casi dove i servizi AWS sono "globali" come IAM
(gestione identità ed accessi), S3 (Storage di AWS)
CloudFront (CDN di AWS).
Caratteristica di una regione AWS
Cosa c’è in una Availability Zone (AZ)
Uno o più data
center
Collegamento
di rete ad alta
velocità e
essa latenza
Proprio
sistema di
alimentazione
Suite servizi
AWS
Una zona di disponibilità AWS (AZ) è una sezione di una regione AWS. Ogni regione ha
diverse zone di disponibilità ( a seconda della regione); un AZ è un edificio fisicamente
indipendente con una propria alimentazione e connettività di rete. Le zone di disponibilità
all'interno di una regione sono generalmente separate da diversi chilometri e collegate tra
loro con connessioni di rete a larghezza di banda estremamente elevata.
Availability Zone
Diversi servizi AWS se configurati opportunamente possono utilizzare più AZ, servizi che vengono considerati
a disponibilità elevata; infatti anche se un AZ (datacenter completo) non funzionasse, il servizio
continuerebbe a funzionare con interruzioni minime.


Per utilizzare servizi in multiAZ ci sono tre possibile modi:


•Non fare nulla (alcuni servizi sono “multiAZ” out of the box


•Semplicemente mettere un check (“Check the box”)


•Creare un minimo di configurazione UNA REGIONE CON DUE AZ
Multi AZ (Availability Zone)
Edge Location (Point of Presence AWS)
Per permettere la distribuzione di contenuti agli utenti finali con una bassa latenza, Amazon CloudFront
impiega una rete globale di oltre 220 punti di presenza (oltre 210 edge location e 12 cache edge
regionali) in 45 paesi e 88 città. Le edge location di Amazon CloudFront si trovano nelle seguenti località:
Cosa è una VPC
Virtuale: tutti i servizi sono virtuali
Privata: appartiene a chi la crea
Cloud: esiste sono nel cloud amazon
Una VPC è una tua rete virtuale, pubblica e privata in
una regione di AWS.
Virtual Private Cloud
Cosa si intende per IaC
IaC è il processo di gestione e provisioning dei data center tramite file di definizione leggibili dalla
macchina, piuttosto che configurazione hardware fisica o strumenti di configurazione interattivi.
In parole semplici, l'utilizzo di IaC permette di sostituire lo sforzo richiesto per gestire ed effettuare
operazioni di provisioning delle risorse IT (VM, Rete, Storage etc) con semplici righe di codice. In pochi
minuti è possibile definire, costruire e distribuire ambienti. I file IaC sono facilmente leggibili, portabili e
permettono algli amministraioni di ottenere facilmente documentazione.
Vantaggi IaC
Velocità: il processo di implementazione avviene in maniera più rapida rispetto al modo
tradizionale


Riuso: tramite il codice si possono realizzare moduli ri-utilizzabili in progetti divesi, indipe
dall'ambiente.


Self-service: può essere automatizzato l'intero processo di distribuzione delle applicazio


Sicurezza: essendo un processo automatizzato non è soggetto a errori manuali.


Facile accesso ai dati dell'infrastruttura: lo stato dell'infrastruttura è rappresentato in fi
facilmente leggibile


Controllo della versione: i file sorgente archiviati in un CVS semplificano il debug dei
problemi perché la cronologia è sempre disponibile.


Validazione: ogni modifica sui file sorgente può essere revisionata tramite test
automatizzati e strumenti di analisi statica.
Comparazione di strumenti per IaC
ANSIBLE TERRAFORM CHEF PUPPET SALTSTACK
Cod
e

Open Source Open Source Open Source Open Source Open Source
Clou
d

All All All All All
Type
Config Mgnt Orchestration Config Mgnt Config Mgnt Config Mgnt
Infrastrutture
Mutable Immutable Mutable Mutable Mutable
Language
Procedural Declarative Procedural Declarative Declarative
Architecture
Client Only Client Only Client/Server Client/Server Client/Server
Open Source
Terraform è uno strumento open
source per scrivere codice e
generare un'infrastruttura.
Cloud Neutral
Terraform è "cloud neutral", il che
significa che le API che fornisce
non vincolano l'utente a un
particolare provider cloud.
Linguaggio HCL
Linguaggio di configurazione
strutturato leggibile dall'uomo e
dalla macchina tramite linea di
comando.
Multipiattaforma
Presente per diversi Sistemi
Operativi
Terraform
Iniziare con
Terraform
Iniziare con Terraform


E’ possibile il download dell’installar per diversi
sistemi operativi nella pagina Download di Terraform.


Per autenticare Terraform sull’ account AWS, bisogna
impostare le credenziali AWS per l'utente IAM.


Terraform Cloud è attualmente gratuito per un
massimo di 5 utenti e viene fatturato mensilmente
per i team superiori a 5
Installazione di Terraform
Terraform ha un proprio linguaggio di configurazione,
Hashicorp Configuration Language (HCL), che serve
principalmente per dichiarare le risorse.


HCL è dichiarativo, nel senso che si usa per descrivere
l'infrastruttura desiderata e Terraform creerà ciò che stato
richiesto nel codice


L'insieme di file utilizzati per descrivere l'infrastruttura in
Terraform è indicato come configurazione Terraform


I file di configurazione di Terraform sono denominati con
l'estensione del file .tf. Una variante basata su JSON utilizza
l'estensione .tf.json


Una configurazione Terraform può essere semplice come
un singolo modulo radice (cartella) contenente un file .tf.
Il linguaggio Terraform
La nostra prima istanza EC2
Codice Terraform che useremo in main.tf.
Utilizzo di Terraform per creare un'istanza EC2


1. Visualizzare l’infrastruttura AWS


2. Individuare la directory contenente i tuoi file terraform


3. Inizializzare la directory con terraform init


4. Visualizza il piano esecutivo Terraform con terraform plan


5. Applica il piano di esecuzione Terraform con terraform apply


6. Controllo dell'infrastruttura con la nuova istanza EC2


7. Eliminiamo l’istanza con il comando terraform destroy
Sequenza comandi
File variable.tf
Le variabili Terraform sono comunemente
memorizzate in un file variable.tf o .tfvars
in una configurazione Terraform


Variabili di input
Le variabili di input sono utilizzate per
rendere codice configurabile.


Variabili di output
Le variabili di output emettono o
stampano un'espressione da Terraform.
Variabili in Terraform
Il file di stato Terraform, terraform.tfstate, è il modo in cui Terraform tiene traccia degli elementi della
infrastruttura di cui è responsabile. Il file di stato consente a Terraform di trovare le risorse che ha creato o
aggiornato in precedenza e di procedere all'esecuzione dell'istruzione corrente.


terraform.tfstate è un file JSON che mappa le istruzioni nei file di configurazione alla risorsa effettiva nel
mondo reale e mantiene tutti i metadati sulla risorsa in modo che possa tenere traccia del suo stato.
Invece di usare il controllo della versione per il file terraform.tfstate, la best practice di terraform è usare
un backend remoto per archiviare il file come S3
Utilizzo di AWS S3


Usando AWS, la soluzione migliore è utilizzare AWS S3 come backend remoto.


AWS S3 è praticamente impossibile perdere i file grazie alle sue


AWS S3 supporta la crittografia (anche in transito) e supporta il versioning,


Memorizzare un file terraform.tfstate in S3 costapochissimo.
File di stato in Terraform
I moduli sono pacchetti autonomi di
configurazioni Terraform gestiti come gruppo
e assicurano che le configurazioni negli
ambienti del ciclo di vita siano le stesse.


I moduli Terraform astraggono le descrizioni
della infrastruttura descrivendola come
architettura e non come oggetti reali.


I moduli Terraform sono un insieme di file di
configurazione all’interno di una cartella
Terravision.


Moduli in Terraform
https://registry.terraform.io/
I moduli Terraform possono essere
creati e condivisi tra gli utenti Terraform
su Terraform Registry o in registri privati.
L'utilizzo di moduli predefiniti è un buon
modo per iniziare.
LICENSE contiene le informazioni della licenza d'uso con cui il
modulo sarà distribuito,. Non è usato da Terraform.


README.md contiene la documentazione in formato markdown
per descrivere come utilizzare il modulo, Non è usato da
Terraform.


main.tf contiene il set di informazioni principali di configurazzione.


variables.tf contiene la definizioni delle variabili per il modulo.
Quando il modulo sarà utilizzato da altri utenti le variabili saranno
configurate come argomenti nel blocco del modulo.


outputs.tf contiene la definizione dei valori di output del modulo.
Cosa c’è in un modulo
Le migliori pratiche sono soggettive e ciò che funziona meglio per un'azienda non funzionerà per un'altra.
Queste pratiche generalmente ti terranno consapevole della potenza di Terraform e dei rischi e dei benefici
dell'esecuzione dell'infrastruttura come codice


Best Practices in terraform
Terraform non è la risposta per ogni
azienda. Il rischio di usarlo in modo
improprio è troppo grande. Quindi
bisogna usarlo coscientemente
L'implementazione di Terraform
dovrebbe essere eseguita in
modo incrementale con tutti i
membri del team
Terraform ha le migliori possibilità
di successo a quando è usato per
affrontare un punto debole
specifico
E’ possibile utilizzare i file di
Terraform come documentazione
“live” nei progetti. In questa maniera
si ha un punto di incontro tra
documentazione ed esecuzione
—
Work Flow Terraform
Sintetizzare delle fasi del processo di
utilizzo di Terraform
Grazie ed arrivederci al prossimo evento!
@DMONDELLO
DANIELEMONDELLO
INFO@DANIELEMONDELLO.IT
Daniele Mondello
Linux day 202
1

Trapani 21/10/2021

Más contenido relacionado

La actualidad más candente

Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationRoberto Messora
 
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...Aruba S.p.A.
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureDavide Benvegnù
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Andrea Tosato
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSGianluca Hotz
 
The power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDBThe power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDBGraphRM
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalGiuliano Latini
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game DevelopersMarco Parenzan
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Amazon Web Services
 
Con Aruba, a lezione di cloud #lezione 28 - parte 1: Cloud Server Smart, com...
Con Aruba, a lezione di cloud  #lezione 28 - parte 1: Cloud Server Smart, com...Con Aruba, a lezione di cloud  #lezione 28 - parte 1: Cloud Server Smart, com...
Con Aruba, a lezione di cloud #lezione 28 - parte 1: Cloud Server Smart, com...Aruba S.p.A.
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureMarco Obinu
 
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...festival ICT 2016
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 

La actualidad más candente (20)

Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integration
 
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...
Con Aruba, a lezione di cloud #lezione 21 - parte 1: 'Load balancer, la guida...
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft Azure
 
Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019Cost Optimization - Global Azure Bootcamp 2019
Cost Optimization - Global Azure Bootcamp 2019
 
SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
The power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDBThe power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDB
 
Kubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposalKubernetes as HA time series server, a proposal
Kubernetes as HA time series server, a proposal
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game Developers
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?Viaggio attraverso il Cloud - Cos'è AWS?
Viaggio attraverso il Cloud - Cos'è AWS?
 
Con Aruba, a lezione di cloud #lezione 28 - parte 1: Cloud Server Smart, com...
Con Aruba, a lezione di cloud  #lezione 28 - parte 1: Cloud Server Smart, com...Con Aruba, a lezione di cloud  #lezione 28 - parte 1: Cloud Server Smart, com...
Con Aruba, a lezione di cloud #lezione 28 - parte 1: Cloud Server Smart, com...
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 1
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
 
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...
Definire, configurare ed implementare soluzioni scalabili su sistemi di Cloud...
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 

Similar a IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di configurazione

AWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideAWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideDavide Trevisan
 
Il futuro fra le nuvole
Il futuro fra le nuvoleIl futuro fra le nuvole
Il futuro fra le nuvoleGianluigi Cogo
 
Cloud Computing: Tecnologie ed Opportunità - Domenico Talia
Cloud Computing: Tecnologie ed Opportunità - Domenico TaliaCloud Computing: Tecnologie ed Opportunità - Domenico Talia
Cloud Computing: Tecnologie ed Opportunità - Domenico TaliaCentro di competenza ICT-SUD
 
Fondamenti di cloud computing
Fondamenti di cloud computingFondamenti di cloud computing
Fondamenti di cloud computingGianluigi Cogo
 
2011.06.30 scenari applicativi per il cloud computing
2011.06.30   scenari applicativi per il cloud computing2011.06.30   scenari applicativi per il cloud computing
2011.06.30 scenari applicativi per il cloud computingMarco Parenzan
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud InfrastrutturaleMarco Lombardo
 
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...Jürgen Ambrosi
 
Cloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoCloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoVMEngine
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...Marco Parenzan
 
Davide tarsi 871138 cloud computing e aws
Davide tarsi 871138 cloud computing e awsDavide tarsi 871138 cloud computing e aws
Davide tarsi 871138 cloud computing e awsDavideTarsi2
 
Trasformazione digitale fabio-cecaro
Trasformazione digitale fabio-cecaroTrasformazione digitale fabio-cecaro
Trasformazione digitale fabio-cecaroVMEngine
 
Aws (amazon web services) - Slide
Aws (amazon web services) - SlideAws (amazon web services) - Slide
Aws (amazon web services) - Slidealessioemireni
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computingzambe92
 
Cloud Computing Motore Dell Innovazione I C T
Cloud Computing Motore Dell Innovazione  I C TCloud Computing Motore Dell Innovazione  I C T
Cloud Computing Motore Dell Innovazione I C TVMEngine
 
Multi Cloud essentials
Multi Cloud essentialsMulti Cloud essentials
Multi Cloud essentialsantimo musone
 
Cloud computing per l'istruzione e la formazione
Cloud computing per l'istruzione e la formazioneCloud computing per l'istruzione e la formazione
Cloud computing per l'istruzione e la formazioneMario Gentili
 
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2a
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2aLezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2a
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2aGianluigi Cogo
 
Cloud infrastructure
Cloud infrastructureCloud infrastructure
Cloud infrastructureMattia Azzena
 

Similar a IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di configurazione (20)

AWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan DavideAWS (Amazon Web Services) - Trevisan Davide
AWS (Amazon Web Services) - Trevisan Davide
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Il futuro fra le nuvole
Il futuro fra le nuvoleIl futuro fra le nuvole
Il futuro fra le nuvole
 
Cloud Computing: Tecnologie ed Opportunità - Domenico Talia
Cloud Computing: Tecnologie ed Opportunità - Domenico TaliaCloud Computing: Tecnologie ed Opportunità - Domenico Talia
Cloud Computing: Tecnologie ed Opportunità - Domenico Talia
 
Fondamenti di cloud computing
Fondamenti di cloud computingFondamenti di cloud computing
Fondamenti di cloud computing
 
2011.06.30 scenari applicativi per il cloud computing
2011.06.30   scenari applicativi per il cloud computing2011.06.30   scenari applicativi per il cloud computing
2011.06.30 scenari applicativi per il cloud computing
 
Il Cloud Infrastrutturale
Il Cloud InfrastrutturaleIl Cloud Infrastrutturale
Il Cloud Infrastrutturale
 
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
1° Seminario CRUI - GARR: Una Cloud federata per università e ricerca, come u...
 
Cloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri MercatoCloud Computing Economia Numeri Mercato
Cloud Computing Economia Numeri Mercato
 
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
 
Davide tarsi 871138 cloud computing e aws
Davide tarsi 871138 cloud computing e awsDavide tarsi 871138 cloud computing e aws
Davide tarsi 871138 cloud computing e aws
 
Trasformazione digitale fabio-cecaro
Trasformazione digitale fabio-cecaroTrasformazione digitale fabio-cecaro
Trasformazione digitale fabio-cecaro
 
Aws (amazon web services) - Slide
Aws (amazon web services) - SlideAws (amazon web services) - Slide
Aws (amazon web services) - Slide
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Il Cloud Computing
Il Cloud ComputingIl Cloud Computing
Il Cloud Computing
 
Cloud Computing Motore Dell Innovazione I C T
Cloud Computing Motore Dell Innovazione  I C TCloud Computing Motore Dell Innovazione  I C T
Cloud Computing Motore Dell Innovazione I C T
 
Multi Cloud essentials
Multi Cloud essentialsMulti Cloud essentials
Multi Cloud essentials
 
Cloud computing per l'istruzione e la formazione
Cloud computing per l'istruzione e la formazioneCloud computing per l'istruzione e la formazione
Cloud computing per l'istruzione e la formazione
 
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2a
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2aLezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2a
Lezione 5 del 14 febbraio 2012 - CLOUD COMPUTING parte 2a
 
Cloud infrastructure
Cloud infrastructureCloud infrastructure
Cloud infrastructure
 

Más de Daniele Mondello

Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoImpatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoDaniele Mondello
 
Linux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciLinux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciDaniele Mondello
 
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoGdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoDaniele Mondello
 
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Daniele Mondello
 
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Daniele Mondello
 
Caminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaCaminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaDaniele Mondello
 
Po Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataPo Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataDaniele Mondello
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesDaniele Mondello
 
#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016Daniele Mondello
 
Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Daniele Mondello
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDaniele Mondello
 
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Daniele Mondello
 
Flussi sanitari privacy big data
Flussi sanitari privacy big dataFlussi sanitari privacy big data
Flussi sanitari privacy big dataDaniele Mondello
 
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazionepagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazioneDaniele Mondello
 
Cartella Clinica Elettronica: Un modello applicativo
Cartella Clinica Elettronica:  Un modello applicativoCartella Clinica Elettronica:  Un modello applicativo
Cartella Clinica Elettronica: Un modello applicativoDaniele Mondello
 
Approccio ad una infrastruttura per Microservice
Approccio ad una infrastruttura per MicroserviceApproccio ad una infrastruttura per Microservice
Approccio ad una infrastruttura per MicroserviceDaniele Mondello
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziareDaniele Mondello
 

Más de Daniele Mondello (20)

Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'AzzardoImpatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
Impatto dell'Intelligenza Artificiale sul Gioco d'Azzardo
 
Linux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemiciLinux day 2021 Analisi Open Source dei dati pandemici
Linux day 2021 Analisi Open Source dei dati pandemici
 
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del giocoGdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
Gdg 2019 artificial intelligence, sviluppo web... le nuove regole del gioco
 
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
Wiad 2018 - CREARE, GESTIRE E TROVARE INFORMAZIONI ALL'INTERNO DI UN AMBIENTE...
 
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
Tutto quello che avreste voluto chiedere sui social network (ma non avete ami...
 
Caminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informaticaCaminetto Rotariano sulla sicurezza informatica
Caminetto Rotariano sulla sicurezza informatica
 
Linux day 2017
Linux day 2017Linux day 2017
Linux day 2017
 
Po Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open DataPo Fesr 2014-2020 e gli Open Data
Po Fesr 2014-2020 e gli Open Data
 
Evoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservicesEvoluzione del web development dalle cgi ai microservices
Evoluzione del web development dalle cgi ai microservices
 
Open data day 2017
Open data day 2017Open data day 2017
Open data day 2017
 
#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016#openamat Giornata trasparenza 2016
#openamat Giornata trasparenza 2016
 
Osservatorio startup innovative 2016
Osservatorio startup innovative 2016Osservatorio startup innovative 2016
Osservatorio startup innovative 2016
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
Fascicolo sanitario & Dossier sanitario vantaggi nell’adozione di open source...
 
Flussi sanitari privacy big data
Flussi sanitari privacy big dataFlussi sanitari privacy big data
Flussi sanitari privacy big data
 
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica AmministrazionepagoPa, i pagamenti elettronici nella Pubblica Amministrazione
pagoPa, i pagamenti elettronici nella Pubblica Amministrazione
 
Cartella Clinica Elettronica: Un modello applicativo
Cartella Clinica Elettronica:  Un modello applicativoCartella Clinica Elettronica:  Un modello applicativo
Cartella Clinica Elettronica: Un modello applicativo
 
Approccio ad una infrastruttura per Microservice
Approccio ad una infrastruttura per MicroserviceApproccio ad una infrastruttura per Microservice
Approccio ad una infrastruttura per Microservice
 
Git in 5 minuti
Git in 5 minutiGit in 5 minuti
Git in 5 minuti
 
Vagrant e Docker a confronto;scegliere ed iniziare
Vagrant e  Docker a confronto;scegliere ed iniziareVagrant e  Docker a confronto;scegliere ed iniziare
Vagrant e Docker a confronto;scegliere ed iniziare
 

IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di configurazione

  • 1. IaC-Infrastructure as Code Daniele Mondello Linux day 202 1 Trapani 21/10/2021
  • 2. • Management • Team Leader • Quality Manager • Web Architect • Healthcare IT Consultant • UX Expert General O.S. • PHP • Javascript • ASP • MySQL HTML, CSS3 • Ruby, Rails • Python Developer • Ubuntu, CentOS • Mac OSX • Windows • IOS - Android • Embedded OS • Raspai, Pidora 2 Classe 1971- Cresciuto tra coin up, Super Santos e libri, nell’estate del 1986 mi regalano un COMMODORE 64 che cambia la mia vita. Un Nerd prestato all’imprenditoria
  • 4. Obiettivo di oggi (cosa useremo) Security Application Storage Procedures Template Cloud Infrastructure Script Network HCL (HashiCorp Configuration Language)
  • 5. Cosa si intende per "Infrastructure as Code" Introduzione a Terraform Collaborazione e sicurezza Best Praties in IaC Argomenti trattati I Servizi Cloud AWS
  • 6. 01. VELOCITA’ 
 il processo di implementazione avviene in maniera più rapida rispetto al modo tradizionale 02. RIUSO: tramite il codicesi possono realizzare moduli ri-utilizzabili in prodotti, indipendentemente dall'ambiente. 03. SELF SERVICE: può essere automatizzato l'intero processo di distribuzione delle applicazioni. 04. SICUREZZA: essendo un processo automatizzato non è soggetto a errori manuali. 05. FACILE: accesso ai dati dell'infrastruttura: lo stato dell'infrastruttura è rappresentato in file sorgente che chiunque può leggere. 06. CONTROLLO DELLA VERSIONE: i file sorgente IaC archiviati in un CVS (Control Version System) semplificano il debug de problemi perché la cronologia è sempre disponibile. 07. VSLIDAZIONE: ogni modifica sui file sorgente IaC può essere revisionata dal codice tramite test automatizzati Perche utilizzare IaC
  • 7. Il FERRO In un primo momento i server erano presenti e manutenuti all'interno di CED aziendali. L’ HW veniva cambiato dopo tanto tempo ed era difficile chiedere modifiche a livello di SO o di librerie e spesso risultava installato vecchio software non più utilizzato. LA VIRTUALIZZAZION E L'utilizzo di Server Virtuali, ha spostato in maniera significativa la gestione dei server da chi gestiva HW a figure più vicine allo sviluppo con la nascita anche di una nuova figura denominata devops. Nell’ultimo periodo l’avvento dei container ha dato una ulteriore spinta. Da dove veniamo
  • 8. Amazon Web Service (AWS) Lanciato nel 2008 Lanciato nel 2002 Lanciato nel 2008 Avvento del cloud Amazon Web Services (AWS) è la piattaforma cloud più completa e utilizzata del mondo, offre più di 175 servizi completi da data center a livello globale. Milioni di clienti, incluse le start- up in più rapida crescita, le più grandi aziende e le agenzie governative leader di settore, utilizzano AWS per diminuire i costi, diventare più agili e innovarsi in modo più rapido
  • 9. Nel 2003, Benjamin Black entrò in Amazon come professionista per la creazione di una applicazione Web che coordinasse il team degli ingegneri,  Chris Pinkham, chiese a Black di individuare come l’infrastruttura di Amazon potesse scalare con maggiore flessibilità. Black e Pinkham iniziarono a esplorare le opportunità offerte dalle tecnologie di virtualizzazione di disaccoppiamento delle infrastrutture hardware dal software. Resosi conto del valore dell’idea crearono un report per Bezos, che permise la sperimentazione, Pinkham costituì un team di professionisti con lo specifico intento di contribuire alla nascita di EC2 (Elastic Compute Cloud), che sarebbe stato da lì a poco il primo servizio della gamma AWS rilasciato nel 2006. Come nasce AWS
  • 10. I servizi di AWS Per utilizzare AWS basta registrasi sul sito collegando una carta di credito valida ed effettuare il login per operare sulla propria console.
  • 12. GEOGRAFICAMENTE Ogni regione copre un‘area geograficamente distinta SISTEMATICAMENTE A livello di sistema ogni regione e a se stante LEGALMENTE Norme dell’area geografica Una “regione” è una parte dell'infrastruttura globale di AWS. Ogni regione è isolata ma collegata a una rete AWS privata globale ad alta velocità e larghezza di banda elevata grazie al quale è possibile l'esecuzione di sevizi su più regioni. La maggior parte dei servizi AWS viene gestita su una regione infatti quando si crea una risorsa in una regione questa non esiste nelle altre regioni, tranne in alcuni casi dove i servizi AWS sono "globali" come IAM (gestione identità ed accessi), S3 (Storage di AWS) CloudFront (CDN di AWS). Caratteristica di una regione AWS
  • 13. Cosa c’è in una Availability Zone (AZ) Uno o più data center Collegamento di rete ad alta velocità e essa latenza Proprio sistema di alimentazione Suite servizi AWS Una zona di disponibilità AWS (AZ) è una sezione di una regione AWS. Ogni regione ha diverse zone di disponibilità ( a seconda della regione); un AZ è un edificio fisicamente indipendente con una propria alimentazione e connettività di rete. Le zone di disponibilità all'interno di una regione sono generalmente separate da diversi chilometri e collegate tra loro con connessioni di rete a larghezza di banda estremamente elevata. Availability Zone
  • 14. Diversi servizi AWS se configurati opportunamente possono utilizzare più AZ, servizi che vengono considerati a disponibilità elevata; infatti anche se un AZ (datacenter completo) non funzionasse, il servizio continuerebbe a funzionare con interruzioni minime. Per utilizzare servizi in multiAZ ci sono tre possibile modi: •Non fare nulla (alcuni servizi sono “multiAZ” out of the box •Semplicemente mettere un check (“Check the box”) •Creare un minimo di configurazione UNA REGIONE CON DUE AZ Multi AZ (Availability Zone)
  • 15. Edge Location (Point of Presence AWS) Per permettere la distribuzione di contenuti agli utenti finali con una bassa latenza, Amazon CloudFront impiega una rete globale di oltre 220 punti di presenza (oltre 210 edge location e 12 cache edge regionali) in 45 paesi e 88 città. Le edge location di Amazon CloudFront si trovano nelle seguenti località:
  • 16. Cosa è una VPC Virtuale: tutti i servizi sono virtuali Privata: appartiene a chi la crea Cloud: esiste sono nel cloud amazon Una VPC è una tua rete virtuale, pubblica e privata in una regione di AWS. Virtual Private Cloud
  • 17. Cosa si intende per IaC IaC è il processo di gestione e provisioning dei data center tramite file di definizione leggibili dalla macchina, piuttosto che configurazione hardware fisica o strumenti di configurazione interattivi. In parole semplici, l'utilizzo di IaC permette di sostituire lo sforzo richiesto per gestire ed effettuare operazioni di provisioning delle risorse IT (VM, Rete, Storage etc) con semplici righe di codice. In pochi minuti è possibile definire, costruire e distribuire ambienti. I file IaC sono facilmente leggibili, portabili e permettono algli amministraioni di ottenere facilmente documentazione.
  • 18. Vantaggi IaC Velocità: il processo di implementazione avviene in maniera più rapida rispetto al modo tradizionale Riuso: tramite il codice si possono realizzare moduli ri-utilizzabili in progetti divesi, indipe dall'ambiente. Self-service: può essere automatizzato l'intero processo di distribuzione delle applicazio Sicurezza: essendo un processo automatizzato non è soggetto a errori manuali. Facile accesso ai dati dell'infrastruttura: lo stato dell'infrastruttura è rappresentato in fi facilmente leggibile Controllo della versione: i file sorgente archiviati in un CVS semplificano il debug dei problemi perché la cronologia è sempre disponibile. Validazione: ogni modifica sui file sorgente può essere revisionata tramite test automatizzati e strumenti di analisi statica.
  • 19. Comparazione di strumenti per IaC ANSIBLE TERRAFORM CHEF PUPPET SALTSTACK Cod e Open Source Open Source Open Source Open Source Open Source Clou d All All All All All Type Config Mgnt Orchestration Config Mgnt Config Mgnt Config Mgnt Infrastrutture Mutable Immutable Mutable Mutable Mutable Language Procedural Declarative Procedural Declarative Declarative Architecture Client Only Client Only Client/Server Client/Server Client/Server
  • 20. Open Source Terraform è uno strumento open source per scrivere codice e generare un'infrastruttura. Cloud Neutral Terraform è "cloud neutral", il che significa che le API che fornisce non vincolano l'utente a un particolare provider cloud. Linguaggio HCL Linguaggio di configurazione strutturato leggibile dall'uomo e dalla macchina tramite linea di comando. Multipiattaforma Presente per diversi Sistemi Operativi Terraform
  • 21. Iniziare con Terraform Iniziare con Terraform E’ possibile il download dell’installar per diversi sistemi operativi nella pagina Download di Terraform. 
 Per autenticare Terraform sull’ account AWS, bisogna impostare le credenziali AWS per l'utente IAM. Terraform Cloud è attualmente gratuito per un massimo di 5 utenti e viene fatturato mensilmente per i team superiori a 5 Installazione di Terraform
  • 22. Terraform ha un proprio linguaggio di configurazione, Hashicorp Configuration Language (HCL), che serve principalmente per dichiarare le risorse. HCL è dichiarativo, nel senso che si usa per descrivere l'infrastruttura desiderata e Terraform creerà ciò che stato richiesto nel codice L'insieme di file utilizzati per descrivere l'infrastruttura in Terraform è indicato come configurazione Terraform I file di configurazione di Terraform sono denominati con l'estensione del file .tf. Una variante basata su JSON utilizza l'estensione .tf.json Una configurazione Terraform può essere semplice come un singolo modulo radice (cartella) contenente un file .tf. Il linguaggio Terraform
  • 23. La nostra prima istanza EC2 Codice Terraform che useremo in main.tf.
  • 24. Utilizzo di Terraform per creare un'istanza EC2 1. Visualizzare l’infrastruttura AWS 2. Individuare la directory contenente i tuoi file terraform 3. Inizializzare la directory con terraform init 4. Visualizza il piano esecutivo Terraform con terraform plan 5. Applica il piano di esecuzione Terraform con terraform apply 6. Controllo dell'infrastruttura con la nuova istanza EC2 7. Eliminiamo l’istanza con il comando terraform destroy Sequenza comandi
  • 25.
  • 26. File variable.tf Le variabili Terraform sono comunemente memorizzate in un file variable.tf o .tfvars in una configurazione Terraform Variabili di input Le variabili di input sono utilizzate per rendere codice configurabile. Variabili di output Le variabili di output emettono o stampano un'espressione da Terraform. Variabili in Terraform
  • 27. Il file di stato Terraform, terraform.tfstate, è il modo in cui Terraform tiene traccia degli elementi della infrastruttura di cui è responsabile. Il file di stato consente a Terraform di trovare le risorse che ha creato o aggiornato in precedenza e di procedere all'esecuzione dell'istruzione corrente. terraform.tfstate è un file JSON che mappa le istruzioni nei file di configurazione alla risorsa effettiva nel mondo reale e mantiene tutti i metadati sulla risorsa in modo che possa tenere traccia del suo stato. Invece di usare il controllo della versione per il file terraform.tfstate, la best practice di terraform è usare un backend remoto per archiviare il file come S3 Utilizzo di AWS S3 Usando AWS, la soluzione migliore è utilizzare AWS S3 come backend remoto. AWS S3 è praticamente impossibile perdere i file grazie alle sue AWS S3 supporta la crittografia (anche in transito) e supporta il versioning, Memorizzare un file terraform.tfstate in S3 costapochissimo. File di stato in Terraform
  • 28. I moduli sono pacchetti autonomi di configurazioni Terraform gestiti come gruppo e assicurano che le configurazioni negli ambienti del ciclo di vita siano le stesse. I moduli Terraform astraggono le descrizioni della infrastruttura descrivendola come architettura e non come oggetti reali. I moduli Terraform sono un insieme di file di configurazione all’interno di una cartella Terravision. Moduli in Terraform https://registry.terraform.io/ I moduli Terraform possono essere creati e condivisi tra gli utenti Terraform su Terraform Registry o in registri privati. L'utilizzo di moduli predefiniti è un buon modo per iniziare.
  • 29. LICENSE contiene le informazioni della licenza d'uso con cui il modulo sarà distribuito,. Non è usato da Terraform. README.md contiene la documentazione in formato markdown per descrivere come utilizzare il modulo, Non è usato da Terraform. main.tf contiene il set di informazioni principali di configurazzione. variables.tf contiene la definizioni delle variabili per il modulo. Quando il modulo sarà utilizzato da altri utenti le variabili saranno configurate come argomenti nel blocco del modulo. outputs.tf contiene la definizione dei valori di output del modulo. Cosa c’è in un modulo
  • 30. Le migliori pratiche sono soggettive e ciò che funziona meglio per un'azienda non funzionerà per un'altra. Queste pratiche generalmente ti terranno consapevole della potenza di Terraform e dei rischi e dei benefici dell'esecuzione dell'infrastruttura come codice Best Practices in terraform Terraform non è la risposta per ogni azienda. Il rischio di usarlo in modo improprio è troppo grande. Quindi bisogna usarlo coscientemente L'implementazione di Terraform dovrebbe essere eseguita in modo incrementale con tutti i membri del team Terraform ha le migliori possibilità di successo a quando è usato per affrontare un punto debole specifico E’ possibile utilizzare i file di Terraform come documentazione “live” nei progetti. In questa maniera si ha un punto di incontro tra documentazione ed esecuzione
  • 31. — Work Flow Terraform Sintetizzare delle fasi del processo di utilizzo di Terraform
  • 32. Grazie ed arrivederci al prossimo evento! @DMONDELLO DANIELEMONDELLO INFO@DANIELEMONDELLO.IT Daniele Mondello Linux day 202 1 Trapani 21/10/2021