Schița de curs
1. Detalii ale virtualizării
a. Prezentare generală a conceptelor de sistem operativ i. CPU, Memorie, Rețea, Stocare b. Hypervisor i. Supervisor al supervisorilor ii. Mașina “Host” și OS-ul “guest” iii. Hypervisor de tip-1 & Hypervisor de tip-2 iv. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR. c. Virtualizarea rețelei i. Prezentare succintă a modelului OSI cu 7 straturi 1. Focus pe stratul de rețea ii. Modelul TCP/IP sau Protocolul Internet 1. Focus pe o singură verticală a. Stratul de aplicație: SSL b. Stratul de rețea: TCP c. Stratul internet: IPv4/IPv6 d. Stratul de legătură: Ethernet 2. Structura pachetului iii. Adresare: Adrese IP și Nume de domeniu iv. Firewall, Balansator de sarcină, Router, Adapter v. Rețea virtualizată 1. Abstracții de ordin superior: Subrețele, Zone.
d. Exercițiu practic: i. Familiarizarea cu clusterul ESXi și clientul vSphere. ii. Crearea/actualizarea rețelelor în clusterul ESXi, implementarea guest-urilor din pachete VMDK, activarea interconexiunii între guest-uri într-un cluster ESXi. iii. Făcerea de modificări la o instanță VM în curs de executare și capturarea unui snapshot. iv. Actualizarea regulilor firewall în ESXi folosind clientul vSphere.
2. Cloud Computing: O schimbare de paradigma
a. O rampă rapidă și ieftină pentru a face disponibil produsul/soluția la nivel mondial b. Împărtășirea resurselor i. Virtualizarea mediului virtualizat c. Beneficii principale: i. Elasticitatea resurselor pe cerere 1. Ideare->Codificare- >Implementare fără a necesita infrastructura 2. Pipeline-uri CI/CD rapide
ii. Izolare de mediu și autonomie verticală iii. Securitate prin stratificare iv. Optimizarea cheltuielilor d. Cloud on-premise și furnizori de cloud e. Cloud ca o abstracție conceptuală eficientă pentru computarea distribuită
3. Introducere la straturile soluțiilor cloud:
a. IaaS (Infrastructură ca Serviciu) i. AWS, Azure, Google ii. Alegeți un furnizor pentru a continua mai târziu. AWS este recomandat. 1. Introducere la AWS VPC, AWS EC2 etc.
b. PaaS (Platformă ca Serviciu) i. AWS, Azure, Google, CloudFoundry, Heroku 1. Introducere la AWS DynamoDB, AWS Kinesis etc.
c. SaaS (Software ca Serviciu) i. Prezentare foarte succintă ii. Microsoft Office, Confluence, SalesForce, Slack d. SaaS se bazează pe PaaS, care se bazează pe IaaS, care la rândul său se bazează pe virtualizare
4. Proiect practic de IaaS Cloud
a. Proiectul folosește AWS ca furnizor de cloud IaaS b. Folosiți CentOS/RHEL ca sistem operativ pentru restul exercițiilor i. Alternativ, Ubuntu poate fi utilizat, dar RHEL/CentOS sunt preferați c. Obțineți conturi AWS IAM individuale de la admin-ul cloud-ului dumneavoastră d. Fiecare student trebuie să urmeze aceste pași independent i. Capacitatea de a crea infrastructura proprie complet pe cerere este cea mai bună demonstrație a puterii computării în cloud ii. Folosiți Asistenții AWS -- consolele online AWS -- pentru a realiza aceste sarcini, cu excepția cazurilor în care se specifică altceva e. Creați o VPC publică în regiunea us-east-1 i. Două Subrețele (Subnet-1 și Subnet-2) în două Zone de Disponibilitate diferite
1. A se vedea https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html pentru referințe. ii. Creați trei grupuri de securitate distincte 1. SG-Internet a. Permite traficul de intrare din Internet pe https 443 și http 80 b. Niciun alt tip de conexiune de intrare nu este permisă 2. SG-Service a. Permite traficul de intrare doar din grupul de securitate SG-Internet pe https 443 și http 80 b. Permite ICMP doar din SG-Internet c. Niciun alt tip de conexiune de intrare nu este permisă 3. SG-SSH:
a. Permite conexiunea SSH:22 de la un singur IP care corespunde cu IP-ul public al mașinii laborator a studentului. În cazul în care mașina laborator este în spatele unui proxy, atunci IP-ul public al proxy-ului.
f. Implementați o instanță a unui AMI corespunzător sistemului de operare ales -- preferabil ultimele versiuni RHEL/CentOS disponibile în AMIs -- și gazduiți instanța pe Subnet-1. Afișați instanța la grupurile SG-Service și SG-SSH. g. Accesați instanța folosind SSH de la mașina laborator a dumneavoastră.
i. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html
h. Instalați serverul NGINX pe această instanță i. https://www.nginx.com/resources/wiki/start/topics/tutorials/install/ i. Adăugați conținut static la alegerea dumneavoastră -- pagini html, imagini -- care să fie servite de NGINX (pe portul 80 peste HTTP) și definiți URL-uri pentru ele. i. A se vedea https://www.nginx.com/resources/admin-guide/serving-static-content/ j. Testați URL-ul de pe mașina respectivă. k. Creați o imagine AMI din această instanță în executare. i. A se vedea https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html .
l. Implementați noua AMI și gazduiți instanța pe Subnet-2. Afișați instanța la grupurile SG-Service și SG-SSH. m. Rulați serverul NGINX și validați că URL-ul de acces pentru conținutul static creat în pasul (i) funcționează. n. Creați un Balansator de Sarcini Elastic “classic” și atașați-l la SG-Internet. i. A se vedea https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-getting-started.html ii. Observați diferența față de Balansatorul de Sarcini Aplicație și Balansatorul de Sarcini Rețea.
o. Creați reguli de rutare care să transmită toate solicitările http 80 și https 443 la un grup de instanțe compus din cele două instanțe create mai sus. p. Folosind orice instrument de gestionare a certificatelor -- java keytool etc. -- creați o pereche de chei și un certificat semnat de sine în sine și importați-l în AWS Certificate Manager (ACM) i. A se vedea https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html ii. Alternativ, ACM însuși poate fi folosit ca autoritate de gestionare și semnare a certificatelor și un nou certificat poate fi solicitat la ACM. În acest caz, trebuie să se folosească un nume de domeniu valid, administratorii corespunzători de domeniu trebuie să fie disponibili pentru a valida cererea, și o intrare AWS Route53 trebuie apoi să fie creată pentru a maparea pe IP-ul ELB. Acestea sunt pași mai avansați și de aceea p.(i) este mai bine recomandat. q. Folosiți acest certificat pentru conexiunea TLS/SSL a ELB-ului pentru a suporta https
i. A se vedea https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-server-cert.html
r. Din browserul dumneavoastră, accesați http:://<elb-public-access-name>/<static-content-url> s. Ar trebui să vedeți conținutul static în browser. t. Oprește fiecare dintre instanțe pe rând și trimite URL-urile. u. Oprește ambele instanțe și trimite URL-urile.
5. Monitorizarea Cloud: Introducere & Proiect practic
a. Metrice AWS CloudWatch b. Accesați panoul de control AWS CloudWatch pentru instanțe i. Recuperați metricele relevante și explicați variabilitatea în timp 1.https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html c. Accesați panoul de control AWS CloudWatch pentru ELB i. Observați metricele ELB și explicați variabilitatea în timp 1.https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html 6. Concepte avansate pentru studiu ulterior: a. Cloud Hybrid -- on-premise și cloud public b. Migrare: De la on-premise la cloud public i. Migrarea codului aplicației ii. Migrarea bazei de date c. DevOps i. Infrastructura ca cod ii. Șablon AWS Cloud Formation d. Scalare automată i. Metrice AWS CloudWatch pentru a determina starea de sănătate
Cerințe
Nu există specificațiuni specifice necesare pentru a participa la acest curs.
Mărturii (1)
Instructorul vă explică foarte bine.
Cosmin Simota - Serviciul de Telecomunicatii Speciale
Curs - Cloud computing essentials for managers / software engineers
Tradus de catre o masina