Struttura del corso
1. Dettagli della virtualizzazione
a. Panoramica dei concetti del sistema operativo
i. CPU, Memoria, Rete, Archiviazione
b. Hypervisor
i. Supervisore dei supervisori
ii. Macchina "Host" e sistema operativo "guest"
iii. Hypervisor di tipo 1 & Hypervisor di tipo 2
iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
c. Virtualizzazione della rete
i. Breve introduzione al modello OSI a 7 livelli
1. Focus sul livello di rete
ii. Modello TCP/IP o Internet Protocol
1. Focus su un singolo verticale
a. Livello applicazione: SSL
b. Livello di rete: TCP
c. Livello internet: IPv4/IPv6
d. Livello di collegamento: Ethernet
2. Struttura dei pacchetti
iii. Indirizzamento: indirizzi IP e nomi di dominio
iv. Firewall, bilanciatore del carico, router, adattatore
v. Rete virtualizzata
1. Astrazioni superiori: subnet, zone.
d. Esercizio pratico: i. Familiarizzare con il cluster ESXi e il client vSphere. ii. Creare/aggiornare reti nel cluster ESXi, distribuire guest da pacchetti VMDK, abilitare la connettività inter-guest in un cluster ESXi. iii. Apportare modifiche a una VM in esecuzione e acquisire uno snapshot. iv. Aggiornare le regole del firewall in ESXi utilizzando il client vSphere.
2. Cloud Computing: un cambiamento di paradigma
a. Una pista veloce e economica per rendere disponibili prodotti/soluzioni al mondo b. Condivisione delle risorse i. Virtualizzazione di un ambiente virtualizzato c. Principali vantaggi: i. Elasticità delle risorse su richiesta 1. Ideazione->Codifica- >Distribuzione senza infrastruttura necessaria 2. Pipeline CI/CD veloci
ii. Isolamento dell'ambiente e autonomia verticale iii. Sicurezza attraverso strati iv. Ottimizzazione delle spese d. Cloud on-premise e fornitori di cloud e. Il cloud come astrazione concettuale efficace per il calcolo distribuito
3. Introduzione ai livelli di soluzioni cloud:
a. IaaS (Infrastruttura come servizio) i. AWS, Azure, Google ii. Scegliere un fornitore per proseguire. Si consiglia AWS. 1. Introduzione ad AWS VPC, AWS EC2 ecc.
b. PaaS (Piattaforma come servizio) i. AWS, Azure, Google, CloudFoundry, Heroku 1. Introduzione ad AWS DynamoDB, AWS Kinesis ecc.
c. SaaS (Software come servizio) 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 su IaaS Cloud
a. Il progetto utilizza AWS come fornitore di cloud IaaS b. Usare CentOS/RHEL come sistema operativo per il resto dell'esercizio i. In alternativa, Ubuntu è possibile ma RHEL/CentOS sono preferiti c. Ottenere account individuali AWS IAM dal tuo amministratore del cloud d. Ogni studente deve eseguire questi passaggi indipendentemente i. La capacità di creare l'intera infrastruttura su richiesta è la migliore dimostrazione del potere del cloud computing ii. Usare gli assistenti AWS -- console online di AWS -- per eseguire questi compiti a meno che non sia diversamente specificato e. Creare una VPC pubblica nella regione us-east- 1 i. Due subnet (Subnet-1 e Subnet-2) in due diverse zone di disponibilità
1. Consulta https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html per riferimento. ii. Creare tre gruppi di sicurezza separati 1. SG-Internet a. Permette il traffico in entrata dall'Internet su https 443 e http 80 b. Nessun'altra connessione in entrata permessa 2. SG-Service a. Permette solo il traffico in entrata dal gruppo di sicurezza SG-Internet su https 443 e http 80 b. Permette ICMP solo da SG-Internet c. Nessun'altra connessione in entrata permessa 3. SG-SSH:
a. Permette la connessione SSH:22 in entrata solo da un singolo IP che corrisponde all'IP pubblico della macchina lab dello studente. Nel caso in cui la macchina lab sia dietro un proxy, l'IP pubblico del proxy.
f. Distribuire un'istanza di un AMI relativa al sistema operativo scelto -- preferibilmente le versioni più recenti di RHEL/CentOS disponibili negli AMI -- e ospitare l'istanza su Subnet-1. Collegare l'istanza ai gruppi SG-Service e SG-SSH. g. Accedere all'istanza tramite SSH dalla tua macchina lab.
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. Caricare contenuti statici a scelta -- pagine html, immagini -- da servire tramite NGINX (sulla porta 80 via HTTP) e definire URL per essi. i. Consulta https://www.nginx.com/resources/admin-guide/serving-static-content/ j. Testare l'URL dalla stessa macchina. k. Creare un'immagine AMI da questa istanza in esecuzione. i. Consulta https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Distribuire il nuovo AMI e ospitare l'istanza su Subnet-2. Collegare l'istanza ai gruppi SG-Service e SG-SSH. m. Avviare il server NGINX e verificare che l'URL di accesso per il contenuto statico creato nel passaggio (i) funzioni. n. Creare un bilanciatore del carico "classico" Elastic Load Balancer e collegarlo a SG-Internet. i. Consulta https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html ii. Nota la differenza tra Application Load Balancer e Network Load Balancer.
o. Creare una regola di routing che inoltri tutto il traffico http 80 e https 443 a un gruppo di istanze composto dalle due istanze create sopra. p. Usando qualsiasi strumento di gestione dei certificati -- java keytool ecc. -- creare una coppia di chiavi e un certificato autofirmato e importare il certificato nel AWS Certificate Manager (ACM) i. Consulta https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html ii. In alternativa, ACM stesso può essere usato come strumento di gestione e firma dei certificati e un nuovo certificato può essere richiesto ad ACM. Ma in tal caso deve essere usato un nome di dominio valido, gli amministratori del dominio devono essere disponibili per validare la richiesta, e una voce AWS Route53 poi deve essere creata per mappare sull'IP ELB. Queste sono fasi più avanzate e quindi p.(i) è meglio consigliato. q. Usare questo certificato per la connessione TLS/SSL del bilanciatore del carico per supportare https
i. Consulta https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-server-cert.html
r. Dalla tua browser vai a http:://<nome-pubblico-accesso-elb>/<url-contenuto-statico> s. Dovresti vedere il contenuto statico sul tuo browser. t. Arrestare una alla volta ciascuna delle istanze 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. Vai al dashboard AWS CloudWatch per le istanze i. Recupera le metriche pertinenti e spiega la variabilità nel tempo 1.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html c. Vai al dashboard AWS CloudWatch per il bilanciatore del carico ELB i. Osserva le metriche del bilanciatore del carico e spiega 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 -- on-premise e cloud pubblico b. Migrazione: da on-premise a cloud pubblico i. Migrazione del codice dell'applicazione ii. Migrazione del database c. DevOps i. Infrastruttura come codice ii. Template AWS Cloud Formation d. Autoscaling i. Metriche AWS CloudWatch per determinare lo stato di salute
Requisiti
Non sono necessari requisiti specifici per partecipare a 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