Pilastri dell'affidabilità e dell'efficienza delle prestazioni
Progettare per il ripristino automatico, lo scaling orizzontale e la gestione della capacità; scegliere i tipi di risorse appropriati e monitorare il sistema per mantenere le prestazioni nel tempo
Pilastri dell'affidabilità e dell'efficienza delle prestazioni è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Panoramica del pilastro Affidabilità
Il pilastro Affidabilità del Well-Architected Framework garantisce che un carico di lavoro svolga la funzione prevista correttamente e in modo coerente quando necessario. L'affidabilità comprende tre aree: fondamenti (limiti dei servizi, topologia di rete), architettura del carico di lavoro (sistemi distribuiti, prevenzione dei SPOF) e gestione delle modifiche e degli errori (monitoraggio, dimensionamento e ripristino dagli errori). L'obiettivo è creare sistemi che si ripristinino automaticamente in caso di interruzioni dell'infrastruttura o dei servizi.
# Reliability design principles:
# 1. Automatically recover from failure
# 2. Test recovery procedures
# 3. Scale horizontally to increase availability
# 4. Stop guessing capacity (use auto scaling)
# 5. Manage change in automation (IaC + CI/CD)
# Key AWS services for reliability:
# - Auto Scaling Groups
# - Elastic Load Balancing
# - Route 53 health checks
# - AWS BackupLimiti e quote dei servizi
AWS impone quote dei servizi (precedentemente chiamate limiti) sulle risorse per proteggere tutti i clienti. Ad esempio, i limiti predefiniti per le istanze EC2 in ogni regione, i limiti VPC e le esecuzioni simultanee di Lambda. Se il carico di lavoro raggiunge inaspettatamente una quota, le richieste verranno limitate o rifiutate, causando problemi di affidabilità. Utilizzi la console Service Quotas o la CLI per visualizzare i limiti attuali e richiedere aumenti prima che siano necessari. Monitori le metriche di utilizzo per rilevare quando ci si avvicina ai limiti, prima che questi influiscano sulla disponibilità.
# List service quotas for EC2
aws service-quotas list-service-quotas \
--service-code ec2 \
--query 'Quotas[?QuotaName==`Running On-Demand Standard (A, C, D, H, I, M, R, T, Z) instances`]'
# Request quota increase
aws service-quotas request-service-quota-increase \
--service-code ec2 \
--quota-code L-1216C47A \
--desired-value 500Ripristino automatico dagli errori
Il pilastro Affidabilità sottolinea l'importanza del ripristino automatico senza intervento umano. AWS offre diversi meccanismi di autoripristino: EC2 Auto Recovery ripristina automaticamente un'istanza sullo stesso hardware oppure la sposta su hardware integro quando l'istanza non supera i controlli sottostanti. I controlli dello stato di ASG terminano le istanze non integre e ne avviano di sostitutive. RDS Multi-AZ esegue automaticamente il failover sull'istanza in standby. Progetti l'architettura in modo che la maggior parte degli scenari di errore attivi azioni di ripristino automatico acquisite negli allarmi CloudWatch.
# CloudWatch alarm to auto-recover a specific EC2 instance
aws cloudwatch put-metric-alarm \
--alarm-name EC2-auto-recover \
--metrics '[{"Id":"m1","MetricStat":{"Metric":{"Namespace":"AWS/EC2","MetricName":"StatusCheckFailed_System","Dimensions":[{"Name":"InstanceId","Value":"i-12345"}]},"Period":60,"Stat":"Maximum"}}]' \
--comparison-operator GreaterThanThreshold \
--threshold 0 \
--evaluation-periods 2 \
--alarm-actions 'arn:aws:automate:us-east-1:ec2:recover'Dimensionamento orizzontale per l'affidabilità
Il pilastro Affidabilità raccomanda il dimensionamento orizzontale (aggiungere più istanze di dimensioni ridotte) anziché quello verticale (aumentare le dimensioni delle istanze) per ottenere una maggiore affidabilità. Una singola istanza di grandi dimensioni costituisce un singolo punto di errore. Molte istanze più piccole dietro un load balancer fanno sì che un singolo errore abbia un impatto minimo. AWS Auto Scaling adatta automaticamente le dimensioni del parco istanze alla domanda, garantendo una capacità sufficiente senza far pagare risorse inattive nei periodi di bassa attività.
# Horizontal scaling: 10 t3.medium vs 1 r5.4xlarge
# 10 t3.medium:
# - Failure of 1 = loss of 10% capacity
# - ASG launches replacement automatically
# - 9 instances absorb load during replacement
# 1 r5.4xlarge:
# - Failure = 100% downtime until instance recovered
# - Much higher RTO (new instance launch: 1-3 min)
# Prefer horizontal scaling for stateless tiersTest dell'affidabilità
Il pilastro Affidabilità richiede di testare le procedure di ripristino, senza presumere che funzionino. Utilizzi AWS Fault Injection Simulator (FIS) per introdurre errori nel sistema in modo controllato: terminare istanze EC2 casuali, limitare le chiamate API e introdurre latenza di rete. Esegua questi esperimenti in produzione (adottando misure di sicurezza) per verificare che il monitoraggio rilevi gli errori, il dimensionamento automatico reagisca e il ripristino si completi entro il proprio RTO. Le procedure di ripristino non testate spesso falliscono sotto lo stress di un incidente reale.
# AWS FIS experiment: terminate random instance
aws fis create-experiment-template \
--description 'Chaos: terminate 1 of 5 instances' \
--targets '{"instanceTargets":{"resourceType":"aws:ec2:instance","selectionMode":"COUNT(1)","resourceTags":{"Env":"production"}}}' \
--actions '{"terminateInstance":{"actionId":"aws:ec2:terminate-instances","targets":{"Instances":"instanceTargets"}}}' \
--stop-conditions '[{"source":"aws:cloudwatch:alarm","value":"arn:aws:cloudwatch::123:alarm:high-error-rate"}]'Panoramica del pilastro Efficienza delle prestazioni
Il pilastro Efficienza delle prestazioni si concentra sull'utilizzo efficiente delle risorse di calcolo per soddisfare i requisiti del sistema e sul mantenimento di tale efficienza al variare della domanda e con l'evoluzione delle tecnologie. Principi di progettazione fondamentali: democratizzare le tecnologie avanzate — utilizzare servizi gestiti (RDS, SageMaker) invece di svilupparli da zero. Operare a livello globale in pochi minuti — distribuire in più regioni con CloudFormation. Utilizzare architetture serverless — eliminare la gestione dell'infrastruttura. Sperimentare più spesso — testare diversi tipi di istanza e configurazioni.
# Performance Efficiency areas:
# Selection: Right compute, storage, database, network
# Review: Continuously evaluate new services
# Monitoring: CloudWatch metrics guide decisions
# Trade-offs: Consistency vs performance, latency vs cost
# Example: choosing between services
# RDS vs DynamoDB vs Aurora vs ElastiCache
# → depends on access patterns, consistency needs, scaleSelezione del calcolo appropriato
L'Efficienza delle prestazioni inizia con la selezione del tipo di calcolo appropriato per il carico di lavoro. EC2 offre decine di famiglie di istanze ottimizzate per diversi casi d'uso: serie c per attività a elevato utilizzo di calcolo (codifica video, elaborazione batch), serie r per attività a elevato utilizzo di memoria (database in-memory, caching), serie i per attività a elevato utilizzo dello storage (NoSQL, data warehousing), serie p/g per carichi di lavoro GPU (addestramento ML). Utilizzare il tipo di istanza errato significa pagare una capacità inutilizzabile o compromettere le prestazioni.
# AWS Compute Optimizer: get right-size recommendations
aws compute-optimizer get-ec2-instance-recommendations \
--instance-arns arn:aws:ec2:us-east-1:123:instance/i-12345
# Output shows:
# - Current instance utilisation (CPU, memory, network)
# - Recommended instance type
# - Estimated monthly savings
# - Performance risk of changing
# Lambda: match memory to actual usage
# Use Lambda Power Tuning tool for memory optimisationCaching per l'efficienza delle prestazioni
Il caching è una tecnica fondamentale per l'efficienza delle prestazioni, poiché riduce la latenza e il carico sul database. ElastiCache (Redis/Memcached) memorizza nella cache in memoria i risultati delle query del database, consentendo un accesso in millisecondi. CloudFront memorizza nella cache le risposte HTTP nelle edge location vicine agli utenti. Il caching di API Gateway riduce le invocazioni Lambda memorizzando nella cache le risposte API. DAX (DynamoDB Accelerator) aggiunge una cache in memoria, con accesso in microsecondi, davanti a DynamoDB. Scelga il livello di caching appropriato in base alla posizione del collo di bottiglia: database, API o distribuzione edge.
# DAX cluster for DynamoDB microsecond latency
aws dax create-cluster \
--cluster-name my-dax \
--node-type dax.r6g.large \
--replication-factor 3 \
--iam-role-arn arn:aws:iam::123:role/DAXRole \
--subnet-group my-dax-subnet-group
# Application connects to DAX endpoint
# Cache hits: microseconds
# Cache misses: fetches from DynamoDB and caches resultStorage appropriato per le prestazioni
La scelta dello storage influisce notevolmente sulle prestazioni. io2 Block Express EBS offre fino a 256.000 IOPS per database ad alte prestazioni. gp3 è l'opzione predefinita per la maggior parte dei carichi di lavoro, a un costo inferiore. Instance store offre il numero più elevato di IOPS (NVMe) per i dati temporanei. S3 può gestire migliaia di richieste al secondo per lo storage di oggetti. EFS offre accesso condiviso ai file POSIX. Abbini lo storage al modello di I/O: le letture sequenziali traggono vantaggio da st1 (Throughput Optimised HDD), mentre l'I/O casuale richiede volumi SSD.
# EBS volume performance characteristics:
# gp3: 3,000-16,000 IOPS, 125-1,000 MB/s
# io2: 100-64,000 IOPS (up to 256k with Block Express)
# st1: 40-500 MB/s sequential throughput (HDD)
# sc1: 12-250 MB/s (cheapest, cold workloads)
# Create high-performance io2 volume
aws ec2 create-volume \
--availability-zone us-east-1a \
--volume-type io2 \
--size 500 \
--iops 50000Monitoraggio delle prestazioni e miglioramento continuo
L'Efficienza delle prestazioni non è una decisione da prendere una sola volta: è necessario monitorare continuamente le metriche delle prestazioni e rivalutare le proprie scelte quando AWS rilascia nuovi servizi. Utilizzi le dashboard CloudWatch per monitorare i percentili di latenza p50, p90 e p99 (non solo le medie, che nascondono la latenza di coda). Utilizzi le tracce X-Ray per identificare le parti più lente di una catena di richieste. Configuri il rilevamento delle anomalie CloudWatch per creare automaticamente una baseline e avvisare in caso di deviazioni anomale delle prestazioni. Esamini regolarmente gli annunci AWS: i tipi di istanza più recenti spesso offrono prestazioni migliori a un costo inferiore.
# CloudWatch: track API response latency percentiles
aws cloudwatch put-metric-alarm \
--alarm-name 'API-P99-Latency' \
--metric-name TargetResponseTime \
--namespace AWS/ApplicationELB \
--extended-statistic p99 \
--dimensions Name=LoadBalancer,Value=app/my-alb/xxx \
--period 60 \
--evaluation-periods 5 \
--threshold 2.0 \
--comparison-operator GreaterThanThresholdCompromessi nell'efficienza delle prestazioni
L'Efficienza delle prestazioni richiede talvolta compromessi con altri pilastri. L'aggiunta di una cache (ElastiCache) migliora le prestazioni, ma introduce complessità operativa (compromesso con l'Eccellenza operativa) e costi (compromesso con l'Ottimizzazione dei costi). L'utilizzo di DynamoDB al posto di RDS migliora le prestazioni su larga scala, ma richiede la riprogettazione del modello dei dati (impegno per l'Eccellenza operativa). Il Well-Architected Framework riconosce questi compromessi e richiede di effettuare scelte consapevoli, documentandone le motivazioni. Nelle domande d'esame, cerchi l'opzione che raggiunge gli obiettivi prestazionali con il minor overhead operativo.
# Common performance vs cost trade-offs:
# Cache: +Performance, +Cost, +Complexity
# Read Replicas: +Read performance, +Cost
# SSD vs HDD: +IOPS, +Cost
# Multi-region: -Latency for users, +Cost, +Complexity
# Common performance vs consistency trade-offs:
# DynamoDB eventually consistent reads: +Throughput, -Consistency
# Aurora Reader endpoint: +Read scale, potential replication lagVerifica rapida
Verifichi la comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha imparato che: l'affidabilità richiede ripristino automatico, dimensionamento orizzontale e test regolari degli errori, l'Efficienza delle prestazioni richiede la selezione del tipo di calcolo, storage e database appropriato per ogni carico di lavoro e il caching a più livelli riduce la latenza e il carico sul database. Entrambi i pilastri richiedono un monitoraggio continuo e la disponibilità a rivedere le decisioni architetturali. Nella prossima lezione esamineremo i pilastri Ottimizzazione dei costi e Sostenibilità.
Domande Frequenti
La lezione «Pilastri dell'affidabilità e dell'efficienza delle prestazioni» è gratuita?
Sì — il testo completo di «Pilastri dell'affidabilità e dell'efficienza delle prestazioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Pilastri dell'affidabilità e dell'efficienza delle prestazioni»?
Progettare per il ripristino automatico, lo scaling orizzontale e la gestione della capacità; scegliere i tipi di risorse appropriati e monitorare il sistema per mantenere le prestazioni nel tempo Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Pilastri dell'affidabilità e dell'efficienza delle prestazioni»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Pilastri dell'eccellenza operativa e della sicurezza
- Pilastri dell'affidabilità e dell'efficienza delle prestazioni
- Pilastri dell'ottimizzazione dei costi e della sostenibilità
- AWS Well-Architected Tool e processo di revisione