Introduzione ad AWS
Amazon Web Services (AWS) è la piattaforma di cloud computing di Amazon, lanciata nel 2006. Offre oltre 200 servizi — server, storage, database, networking, machine learning — disponibili on-demand e pagati a consumo.
| Dato | Valore |
| Lancio | 2006 (S3 ed EC2) |
| Quota di mercato cloud | ~30-32% (leader mondiale) |
| Servizi | Oltre 200 |
| Modello | Pay-as-you-go (paghi solo ciò che usi) |
🎯 Obiettivo del corso: prepararti alla certificazione AWS Certified Cloud Practitioner (CLF-C02), l'esame d'ingresso che valida la comprensione di base del cloud AWS.
Cloud Computing
Il cloud computing è la fornitura di risorse informatiche (server, storage, database, software) tramite Internet, con pagamento a consumo, invece di possedere data center fisici.
I tre modelli di servizio
| Modello | Cosa gestisci tu | Esempio AWS |
| IaaS (Infrastructure) | SO, applicazioni, dati | EC2 |
| PaaS (Platform) | Solo applicazioni e dati | Elastic Beanstalk |
| SaaS (Software) | Niente, usi e basta | Amazon WorkMail |
Modelli di deployment
- Cloud pubblico: risorse condivise erogate da AWS via Internet
- Cloud privato: infrastruttura dedicata a una sola organizzazione
- Cloud ibrido: combinazione di cloud e data center on-premise
💡 Pensa al cloud come all'elettricità: non costruisci una centrale, ti colleghi alla rete e paghi i kWh che consumi.
Vantaggi del cloud
| Vantaggio | Descrizione |
| Nessun investimento iniziale | Da CapEx (acquisto hardware) a OpEx (spesa operativa) |
| Elasticità | Scala su e giù in base alla domanda reale |
| Economia di scala | Prezzi più bassi grazie ai volumi di AWS |
| Velocità e agilità | Nuove risorse in minuti, non settimane |
| Portata globale | Distribuisci l'app nel mondo in pochi clic |
| Affidabilità | Ridondanza e alta disponibilità integrate |
☁️ I 6 vantaggi del cloud secondo AWS: 1) trasformare le spese, 2) beneficiare di economie di scala, 3) smettere di indovinare la capacità, 4) aumentare velocità e agilità, 5) non spendere per gestire data center, 6) diventare globali in minuti.
Infrastruttura globale
AWS gestisce data center in tutto il mondo, organizzati in modo gerarchico per garantire prestazioni e resilienza.
| Componente | Descrizione |
| Region | Area geografica (es. eu-south-1 = Milano). Contiene più AZ. |
| Availability Zone (AZ) | Uno o più data center isolati all'interno di una Region |
| Edge Location | Punto di presenza per la CDN (CloudFront), vicino agli utenti |
🌍
RegionMilano, Francoforte, Virginia...
🏢
AZData center ridondanti
📡
Edge400+ punti di presenza
⚠️ Best practice: distribuisci sempre le risorse su più Availability Zone. Se un'AZ ha un guasto, l'applicazione resta online nelle altre.
Amazon EC2
EC2 (Elastic Compute Cloud) fornisce server virtuali (chiamati istanze) nel cloud. È il servizio IaaS fondamentale: scegli sistema operativo, CPU, RAM e paghi a ore/secondi.
Tipi di istanza
| Famiglia | Ottimizzata per |
| General Purpose (t, m) | Bilanciate, uso generico |
| Compute Optimized (c) | Calcolo intensivo (CPU) |
| Memory Optimized (r, x) | Grandi dataset in memoria |
| Storage Optimized (i, d) | Alto I/O su disco |
| Accelerated (p, g) | GPU, machine learning |
Modelli di pricing EC2
| Modello | Quando usarlo |
| On-Demand | Carichi variabili e a breve termine |
| Reserved Instances | Carichi stabili (sconto fino al 72%, impegno 1-3 anni) |
| Savings Plans | Impegno di spesa flessibile |
| Spot Instances | Capacità inutilizzata (sconto fino al 90%, interrompibile) |
AWS CLI — avviare un'istanza EC2
# Avvia un'istanza EC2 t3.micro nella Region di Milano
aws ec2 run-instances \
--image-id ami-0abcdef1234567890 \
--instance-type t3.micro \
--key-name la-mia-chiave \
--region eu-south-1 \
--count 1
# Elenca le istanze in esecuzione
aws ec2 describe-instances \
--filters "Name=instance-state-name,Values=running"
Scaling e Load Balancing
La scalabilità è il superpotere del cloud: aggiungere o rimuovere capacità automaticamente in base alla domanda.
| Concetto | Descrizione |
| Scaling verticale | Istanza più potente (più CPU/RAM) |
| Scaling orizzontale | Più istanze in parallelo (preferito nel cloud) |
| Auto Scaling | Aggiunge/rimuove istanze automaticamente |
| Elastic Load Balancing (ELB) | Distribuisce il traffico tra le istanze |
⚖️ ELB + Auto Scaling lavorano insieme: il load balancer distribuisce le richieste, l'auto scaling aggiunge istanze quando il traffico cresce e le rimuove quando cala, ottimizzando costi e prestazioni.
Tipi di Load Balancer
- Application Load Balancer (ALB): livello 7 (HTTP/HTTPS), routing intelligente
- Network Load Balancer (NLB): livello 4 (TCP/UDP), altissime prestazioni
- Gateway Load Balancer: per appliance di rete virtuali
Serverless e Container
Con il serverless non gestisci server: scrivi il codice e AWS si occupa di tutto il resto, scalando automaticamente e facendoti pagare solo per l'esecuzione reale.
AWS Lambda
Lambda esegue funzioni in risposta a eventi (una richiesta HTTP, un file caricato su S3, un messaggio). Paghi solo i millisecondi di esecuzione.
AWS Lambda — funzione in Node.js
// Funzione Lambda attivata da un evento (es. API Gateway)
exports.handler = async (event) => {
const nome = event.queryStringParameters?.nome || 'Mondo';
return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
messaggio: `Ciao, ${nome}! Eseguito su AWS Lambda.`,
timestamp: new Date().toISOString()
})
};
};
Container su AWS
📦
ECSOrchestrazione container AWS
⚡
FargateContainer serverless
🌱
BeanstalkDeploy app gestito (PaaS)
| Servizio | Uso |
| ECS | Orchestrazione container nativa AWS |
| EKS | Kubernetes gestito per chi conosce K8s |
| Fargate | Esegui container senza gestire server |
| Elastic Beanstalk | Carichi il codice, AWS gestisce infrastruttura e scaling |
Messaging e integrazione
I servizi di messaging permettono ai componenti di un'applicazione di comunicare in modo disaccoppiato e asincrono, aumentando resilienza e scalabilità.
| Servizio | Modello | Uso tipico |
| SQS | Coda di messaggi | Disaccoppiare produttori e consumatori |
| SNS | Pub/Sub (notifiche) | Inviare un messaggio a molti destinatari |
| EventBridge | Event bus | Architetture event-driven tra servizi |
📨 SQS vs SNS: SQS è una coda (un messaggio → un consumatore che lo preleva). SNS è pub/sub (un messaggio → tutti gli iscritti lo ricevono). Spesso si combinano nel pattern "fan-out".
AWS CLI — inviare un messaggio a una coda SQS
aws sqs send-message \
--queue-url https://sqs.eu-south-1.amazonaws.com/123456789/mia-coda \
--message-body "Nuovo ordine #4521 da elaborare"
VPC e Networking
Una VPC (Virtual Private Cloud) è la tua rete privata isolata dentro AWS, dove lanci le risorse con pieno controllo su indirizzi IP, subnet e routing.
| Componente | Funzione |
| VPC | Rete virtuale isolata |
| Subnet | Sottorete (pubblica o privata) in una AZ |
| Internet Gateway | Connette la VPC a Internet |
| NAT Gateway | Permette alle subnet private di uscire su Internet |
| Security Group | Firewall a livello di istanza (stateful) |
| Network ACL | Firewall a livello di subnet (stateless) |
| CloudFront | CDN: distribuisce contenuti dalle Edge Location |
| Route 53 | Servizio DNS gestito |
💡 Subnet pubblica = ha una rotta verso l'Internet Gateway (es. web server). Subnet privata = nessun accesso diretto da Internet (es. database).
Storage: S3, EBS, EFS
AWS offre diversi tipi di storage per esigenze diverse.
| Servizio | Tipo | Uso |
| S3 | Object storage | File, backup, siti statici, data lake |
| EBS | Block storage | Dischi per le istanze EC2 |
| EFS | File storage | File system condiviso tra più istanze |
| Instance Store | Block temporaneo | Storage effimero legato all'istanza |
Amazon S3 in dettaglio
S3 (Simple Storage Service) archivia oggetti in "bucket" con durabilità del 99,999999999% (11 nove). Le classi di storage ottimizzano i costi in base alla frequenza d'accesso.
| Classe S3 | Uso |
| Standard | Dati ad accesso frequente |
| Intelligent-Tiering | Sposta automaticamente i dati nella classe più economica |
| Standard-IA / One Zone-IA | Accesso infrequente |
| Glacier / Deep Archive | Archiviazione a lungo termine, economica |
AWS CLI — operazioni su S3
# Crea un bucket
aws s3 mb s3://il-mio-bucket-unico --region eu-south-1
# Carica un file
aws s3 cp ./foto.jpg s3://il-mio-bucket-unico/
# Sincronizza una cartella intera
aws s3 sync ./sito-web s3://il-mio-bucket-unico/
# Elenca il contenuto
aws s3 ls s3://il-mio-bucket-unico/
Database su AWS
AWS offre database gestiti per ogni esigenza: relazionali, NoSQL, data warehouse e in-memory.
| Servizio | Tipo | Uso |
| RDS | Relazionale | MySQL, PostgreSQL, Oracle, SQL Server gestiti |
| Aurora | Relazionale | DB cloud-native compatibile MySQL/PostgreSQL |
| DynamoDB | NoSQL | Chiave-valore, latenza in millisecondi, serverless |
| Redshift | Data warehouse | Analisi su grandi volumi (OLAP) |
| ElastiCache | In-memory | Cache Redis/Memcached |
| DMS | Migrazione | Migrare database verso AWS |
🗄️ RDS vs DynamoDB: scegli RDS per dati strutturati con relazioni e query SQL complesse; scegli DynamoDB per altissima scalabilità, schema flessibile e prestazioni costanti a qualsiasi volume.
AI/ML e Analytics
AWS offre servizi di intelligenza artificiale "pronti all'uso" (non serve essere data scientist) e piattaforme complete per costruire modelli.
| Servizio | Funzione |
| SageMaker | Piattaforma completa per costruire e addestrare modelli ML |
| Rekognition | Analisi di immagini e video |
| Comprehend | Analisi del linguaggio naturale (NLP) |
| Polly | Sintesi vocale (text-to-speech) |
| Transcribe | Trascrizione voce-testo |
| Bedrock | AI generativa con modelli fondazionali |
Analytics
- Athena: query SQL direttamente su file in S3
- Kinesis: elaborazione di dati in streaming in tempo reale
- Glue: servizio ETL per preparare i dati
- QuickSight: dashboard e business intelligence
Sicurezza e IAM
La sicurezza è la priorità numero uno di AWS. Si basa sul modello di responsabilità condivisa.
| Responsabilità | Di chi |
| Sicurezza DEL cloud (hardware, rete, data center) | AWS |
| Sicurezza NEL cloud (dati, configurazioni, accessi) | Cliente |
IAM (Identity and Access Management)
IAM gestisce chi può accedere a cosa. Si basa su utenti, gruppi, ruoli e policy.
IAM — policy JSON che concede sola lettura su un bucket S3
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::il-mio-bucket",
"arn:aws:s3:::il-mio-bucket/*"
]
}
]
}
⚠️ Principio del privilegio minimo: concedi sempre solo i permessi strettamente necessari. Non usare mai l'utente root per le attività quotidiane e attiva l'MFA (autenticazione a più fattori).
Altri servizi di sicurezza
🔐
KMSGestione chiavi di crittografia
🧱
WAFFirewall applicativo web
🔍
GuardDutyRilevamento minacce
Monitoring e Governance
| Servizio | Funzione |
| CloudWatch | Metriche, log, allarmi e dashboard |
| CloudTrail | Registra chi ha fatto cosa (audit delle API) |
| AWS Config | Traccia le modifiche alle configurazioni |
| Organizations | Gestione centralizzata di più account AWS |
| Trusted Advisor | Consigli su costi, sicurezza, prestazioni |
| AWS Health | Stato di salute dei servizi e delle risorse |
📊 CloudWatch vs CloudTrail: CloudWatch monitora le prestazioni (CPU, memoria, traffico). CloudTrail registra le azioni (chi ha avviato un'istanza, chi ha modificato una policy). Entrambi sono essenziali.
Pricing e Support
AWS segue tre principi di prezzo: paga ciò che usi, paga meno usando di più, e risparmia impegnandoti.
| Strumento | Funzione |
| Free Tier | Servizi gratuiti per 12 mesi o sempre (entro limiti) |
| Pricing Calculator | Stima i costi prima di partire |
| Cost Explorer | Analizza e visualizza la spesa |
| Budgets | Imposta avvisi quando superi una soglia di spesa |
| Cost & Usage Report | Report dettagliato di costi e utilizzo |
Piani di supporto
| Piano | Per chi |
| Basic | Gratuito, documentazione e forum |
| Developer | Sviluppo e test |
| Business | Carichi di produzione |
| Enterprise | Carichi mission-critical, Technical Account Manager |
💡 Free Tier: include 750 ore/mese di EC2 t2/t3.micro, 5 GB di S3 e 25 GB di DynamoDB per i primi 12 mesi. Perfetto per imparare senza spendere.
Migrazione e Well-Architected
Le 7 strategie di migrazione (7 R)
| Strategia | Significato |
| Rehost | "Lift and shift": sposti senza modifiche |
| Replatform | Piccole ottimizzazioni durante lo spostamento |
| Refactor | Riscrivi l'app per il cloud (es. serverless) |
| Repurchase | Passi a una soluzione SaaS |
| Retain | Mantieni on-premise (per ora) |
| Retire | Dismetti ciò che non serve più |
| Relocate | Sposti senza acquistare nuovo hardware |
Well-Architected Framework
Le 6 colonne per costruire bene sul cloud:
- 🏆 Operational Excellence — eccellenza operativa
- 🔒 Security — sicurezza
- 🛡️ Reliability — affidabilità
- ⚡ Performance Efficiency — efficienza prestazionale
- 💰 Cost Optimization — ottimizzazione dei costi
- 🌱 Sustainability — sostenibilità
🏗️ Il Cloud Adoption Framework (CAF) aiuta le organizzazioni a pianificare la migrazione al cloud organizzando il lavoro in 6 prospettive: Business, People, Governance, Platform, Security, Operations.
Quiz interattivo
Metti alla prova le tue conoscenze con questo quiz in stile Cloud Practitioner. Clicca la risposta che ritieni corretta: scoprirai subito se hai indovinato.
Esercizi pratici
🏆 Esercizio 1 — Crea un account Free Tier
Registra un account AWS, attiva l'MFA sull'utente root e crea un utente IAM con permessi limitati. Esplora la console e individua le Region disponibili. (Resta entro il Free Tier per non avere costi.)
🏆 Esercizio 2 — Sito statico su S3
Crea un bucket S3, abilita lo "Static website hosting", carica una semplice pagina HTML e rendila pubblica con una bucket policy. Bonus: metti CloudFront davanti al bucket come CDN.
🏆 Esercizio 3 — Progetta un'architettura
Disegna su carta un'architettura a 3 livelli ad alta disponibilità: ALB + Auto Scaling Group di EC2 su 2 AZ + database RDS Multi-AZ. Indica subnet pubbliche/private e i Security Group.
🏆 Esercizio 4 — Scegli il servizio giusto
Per ognuno di questi scenari indica il servizio AWS più adatto: (a) backup a lungo termine economico, (b) API serverless, (c) cache in-memory, (d) coda per disaccoppiare microservizi, (e) CDN globale.
E ora?
Complimenti! Hai completato il corso AWS Cloud. Ora conosci i servizi fondamentali e i concetti chiave per la certificazione Cloud Practitioner.
Cosa hai imparato:
- Cloud computing: modelli IaaS/PaaS/SaaS e deployment
- Infrastruttura globale: Region, AZ, Edge Location
- Compute: EC2, scaling, ELB, Lambda, container
- Storage e database: S3, EBS, EFS, RDS, DynamoDB
- Networking: VPC, subnet, Security Group, CloudFront
- Sicurezza: responsabilità condivisa, IAM, MFA
- Monitoring: CloudWatch, CloudTrail, Trusted Advisor
- Pricing, support, migrazione e Well-Architected Framework
Il passo successivo? Crea un account Free Tier, mettiti alla prova con progetti reali e prenota l'esame AWS Certified Cloud Practitioner.