Struttura del corso
1. Dettagli sulla virtualizzazione
a. Panoramica dei concetti del sistema operativo
i. CPU, memoria, rete, archiviazione
b. Hypervisor
i. Supervisore dei supervisori
ii. Macchina "host" e OS "guest"
iii. Tipo-1 Hypervisor & Tipo-2 Hypervisor
iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
c. Virtualizzazione della rete
i. Breve introduzione al modello OSI a 7 strati
1. Focalizzazione sul livello di rete
ii. Modello TCP/IP o Protocollo Internet
1. Focalizzazione su un singolo verticale
a. Livello applicazione: SSL
b. Livello di rete: TCP
c. Livello Internet: IPv4/IPv6
d. Livello link: Ethernet
2. Struttura del pacchetto
iii. Indirizzamento: indirizzo IP e nomi di dominio
iv. Firewall, bilanciatore di carico, router, adattatore
v. Rete virtualizzata
1. Astrazioni di ordine superiore: subnet, zone.
d. Esercizio pratico:
i. Familiarizzazione con il cluster ESXi e il client vSphere.
ii. Creare/modificare reti nel cluster ESXi, distribuire guest da pacchetti VMDK,
abilitare l'interconnessione tra i guest all'interno di un cluster ESXi.
iii. Make modifiche a una VM in esecuzione e cattura dello snapshot.
iv. Aggiornamento delle regole del firewall in ESXi tramite il client vSphere.
2. Cloud Computing: Un cambio di paradigma
a. Una pista veloce ed economica per rendere prodotti/soluzioni disponibili al mondo
b. Condivisione delle risorse
i. Virtualizzazione dell'ambiente virtualizzato
c. Principali vantaggi:
i. Elasticità delle risorse su richiesta
1. Ideare->Codificare- >Distribuire senza necessariamente l'infrastruttura
2. Pipeline CI/CD rapide
ii. Isolamento e autonomia verticale dell'ambiente
iii. Sicurezza tramite stratificazione
iv. Ottimizzazione dei costi
d. Cloud aziendale e fornitori di cloud
e. Il cloud come un'astrazione concettuale efficace per il calcolo distribuito
3. Introduzione ai livelli della soluzione cloud:
a. IaaS (Infrastructure as a Service)
i. AWS, Azure, Google
ii. Scegliere un fornitore per continuare successivamente. Si consiglia AWS.
1. Introduzione ad AWS VPC, AWS EC2 ecc.
b. PaaS (Platform as a Service)
i. AWS, Azure, Google, CloudFoundry, Heroku
1. Introduzione ad AWS DynamoDB, AWS Kinesis ecc.
c. SaaS (Software as a Service)
i. Panoramica molto breve
ii. Microsoft Office, Confluence, SalesForce, Slack
d. Il SaaS si basa sul PaaS che si basa sull'IaaS che si basa sulla virtualizzazione
4. Progetto pratico di cloud IaaS
a. Il progetto utilizza AWS come fornitore di cloud IaaS
b. Utilizzare CentOS/RHEL come sistema operativo per il resto dell'esercitazione
i. In alternativa, Ubuntu funzionerà anche, ma si preferisce RHEL/CentOS
c. Ottenere singoli account IAM AWS dal proprio amministratore cloud
d. Ogni studente deve eseguire questi passaggi indipendentemente
i. La capacità di creare la propria infrastruttura su richiesta è la migliore dimostrazione del potere del calcolo in cloud
ii. Utilizzare i wizard AWS -- console online AWS -- per completare queste attività a meno che non sia specificato diversamente
e. Creare una VPC pubblica nella regione us-east-1
i. Due subnet (Subnet-1 e Subnet-2) in due zone di disponibilità diverse
1. Vedere https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html per riferimento.
ii. Creare tre gruppi di sicurezza separati
1. SG-Internet
a. Consente il traffico in ingresso da Internet su https 443 e http 80
b. Nessun altro collegamento in ingresso consentito
2. SG-Servizio
a. Consente solo il traffico in ingresso dal gruppo di sicurezza SG-Internet su https 443 e http 80
b. Consente ICMP solo da SG-Internet
c. Nessun altro collegamento in ingresso consentito
3. SG-SSH:
un. Consente la connessione in ingresso SSH:22 solo da un singolo indirizzo IP che corrisponde all'indirizzo IP pubblico del computer lab dello studente. Nel caso in cui il computer del laboratorio sia dietro un proxy, l'IP pubblico del proxy.
f. Distribuire un'istanza di una AMI relativa al sistema operativo scelto -- preferibilmente le versioni più recenti di RHEL/CentOS disponibili nelle AMIs -- e ospitare l'istanza su Subnet-1. Collegare l'istanza ai gruppi SG-Servizio e SG-SSH.
g. Access l'istanza utilizzando SSH dal proprio computer di laboratorio.
i. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
h. Installare il server NGINX su questa istanza
i. https://www.nginx.com/resources/wiki/start/topics/tutorials/install/
i. Mettere i contenuti statici di propria scelta -- pagine HTML, immagini -- da servire tramite
NGINX (sul porto 80 via HTTP) e definire URL per essi.
i. Vedere https://www.nginx.com/resources/admin-guide/serving-static-content/
j. Testare l'URL dallo stesso computer.
k. Creare un'immagine AMI da questa istanza in esecuzione.
i. Vedere https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Distribuire quella nuova AMI e ospitare l'istanza su Subnet-2. Collegare l'istanza ai gruppi SG-Servizio e SG-SSH.
m. Eseguire il server NGINX e verificare che l'URL di accesso per i contenuti statici creati al passaggio (i) funzioni.
n. Creare un nuovo "classico" Elastic Load Balancer e collegarlo a SG-Internet.
i. Vedere https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html
ii. Notare la differenza dal Application Load Balancer e Network Load Balancer.
o. Creare una regola di routing che reindirizzi tutto il traffico http 80 e https 443 a un gruppo di istanze composto dalle due istanze create sopra.
p. Utilizzando qualsiasi strumento di gestione certificati -- java keytool ecc. -- creare una coppia di chiavi e un certificato autofirmato e importare il certificato nel AWS Certificate Manager (ACM)
i. Vedere https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
ii. In alternativa, ACM stesso può essere utilizzato come autorità di gestione e firma dei certificati e un nuovo certificato può essere richiesto a ACM. Ma in quel caso è necessario un nome di dominio valido, gli amministratori corrispondenti del dominio devono essere disponibili per validare la richiesta e una voce AWS Route53 deve quindi essere creata per mappare sull'IP ELB. Questi sono passaggi più avanzati e pertanto p.(i) è meglio consigliato.
q. Utilizzare questo certificato per la connessione TLS/SSL dell'ELB per supportare https
i. Vedere https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-server-cert.html
r. Dal proprio browser andare a http:://<elb-public-access-name>/<static-content-url>
s. Si dovrebbero vedere i contenuti statici sul browser.
t. Arrestare ciascuna delle istanze una alla volta e inviare gli URL.
u. Arrestare entrambe le istanze e inviare gli URL.
5. Monitoraggio del cloud: introduzione e Progetto pratico
a. Metriche AWS CloudWatch
b. Go al dashboard di AWS CloudWatch per le istanze
i. Recuperare le metriche pertinenti ed esporre la variabilità nel tempo
1.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
c. Go al dashboard di AWS CloudWatch per l'ELB
i. Osservare le metriche dell'ELB e spiegare la loro variabilità nel tempo
1.https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html
6. Concetti avanzati per ulteriori apprendimenti:
a. Cloud ibrido -- aziendale e cloud pubblico
b. Migrazione: da aziendale a cloud pubblico
i. Migrazione del codice applicativo
ii. Database migrazione
c. DevOps
i. Infrastruttura come codice
ii. Modello AWS Cloud Formation
d. Scalabilità automatica
i. Metriche AWS CloudWatch per determinare la salute
Requisiti
Non sono necessari requisiti specifici per frequentare questo corso.
Recensioni (1)
L'istruttore ti spiega molto bene.
Cosmin Simota - Serviciul de Telecomunicatii Speciale
Corso - Cloud computing essentials for managers / software engineers
Traduzione automatica