Contattataci

Struttura del corso

Dettagli sulla virtualizzazione

  1. Concetti base sui sistemi operativi: CPU, memoria, rete e archiviazione
  2. Gli hypervisor
    1. Il "supervisore dei supervisori"
    2. Macchina host e sistema operativo guest
    3. Hypervisor di Tipo 1 e Tipo 2
    4. Citrix XEN, VMware ESX/ESXi, MS Hyper-V, IBM LPAR.
  3. Virtualizzazione di rete
    1. Breve introduzione al modello OSI a 7 livelli
    2. Focus sul livello di rete
    3. Il modello TCP/IP o protocollo Internet
  4. Riferimento a un singolo strato verticale
    1. Livello applicativo: SSL
    2. Livello di rete: TCP
    3. Livello Internet: IPv4/IPv6
    4. Livello di collegamento: Ethernet
  5. Struttura dei pacchetti
    1. Routing: indirizzi IP e nomi di dominio
    2. Firewall, bilanciatori del carico, router, adattatore di rete
    3. Rete virtualizzata
    4. Astratti superiori: subnet e zone.
  6. Esercizi pratici:
    1. Familiarizzazione con il cluster ESXi e con il client vSphere.
    2. Creazione e aggiornamento di reti all’interno del cluster ESXi, distribuzione di sistemi operativi guest tramite pacchetti VMDK, abilitazione della comunicazione tra gli host nel cluster.
    3. Modifica di un’istanza VM in esecuzione e creazione di uno snapshot.
    4. Modifica le regole del firewall su ESXi utilizzando il client vSphere.

2. Il cloud computing: una svolta paradigmatica

  1. Un modo rapido ed economico per rendere disponibili prodotti e soluzioni a livello globale
  2. Condivisione delle risorse
    1. Virtualizzazione anche dell’ambiente virtualizzato stesso
  3. Vantaggi principali:
    1. Elasticità on-demand delle risorse
      1. Ideazione -->-- Codifica -->-- Distribuzione senza bisogno di infrastrutture fisiche
      2. Pipeline CI/CD estremamente veloci
    2. Isolamento ambientale e autonomia verticale
    3. Sicurezza ottenuta attraverso la stratificazione dei livelli
    4. Ottimizzazione delle spese
  4. Cloud on-premise e fornitori di servizi cloud
  5. Il cloud come astrazione concettuale efficace per il calcolo distribuito

3. Introduzione ai livelli delle soluzioni cloud:

  1. IaaS (Infrastruttura come Servizio)
    1. AWS, Azure e Google Cloud
    2. Scegliere un solo provider per proseguire il corso. Si consiglia AWS.
      1. Introduzione a VPC di AWS, EC2 ecc.
  2. PaaS (Piattaforma come Servizio)
    1. AWS, Azure, Google Cloud, CloudFoundry, Heroku
    2. Introduzione a DynamoDB di AWS, Kinesis ecc.
  3. SaaS (Software come Servizio)
    1. Descrizione molto sintetica
    2. Microsoft Office, Confluence, SalesForce, Slack
  4. Il SaaS si basa sul PaaS, che a sua volta si fonda sull’IaaS, che deriva dalla virtualizzazione

4. Progetto pratico su IaaS Cloud

  1. Il progetto impiega AWS come provider di servizi IaaS
  2. Utilizzare CentOS o RHEL come sistema operativo per l’intera esercitazione
    1. In alternativa, è possibile usare Ubuntu; tuttavia si consigliano CentOS e RHEL.
  3. Richiedere agli amministratori cloud le proprie credenziali IAM su AWS
  4. Ciascun studente dovrà eseguire in autonomia tutte queste fasi
    1. L’abilità di configurare da soli un intero ambiente infrastrutturale on-demand dimostra il reale potere del cloud computing
    2. Usare i wizard online di AWS per eseguire le attività, salvo diversa indicazione.
  5. Creare una VPC pubblica nella regione us-east-1
    1. Due subnet (Subnet-1 e Subnet-2) in due zone di disponibilità distinte
      1. Riferirsi a https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenarios.html per maggiori informazioni.
    2. Creare tre gruppi di sicurezza distinti
      1. SG-Internet
        1. Consente il traffico in entrata da Internet su HTTP 80 e HTTPS 443
        2. Nessun altro tipo di connessione è permesso
      2. SG-Service
        1. Accetta traffico in entrata esclusivamente dal gruppo SG-Internet su HTTP 80 e HTTPS 443
        2. Consente il protocollo ICMP solo da SG-Internet
        3. Altre connessioni non sono ammesse
      3. SG-SSH:
        1. Ammette le connessioni SSH sulla porta 22 unicamente da un indirizzo IP pubblico corrispondente all’indirizzo della macchina di laboratorio dello studente; in caso di utilizzo di un proxy, si usa l’IP pubblico del proxy stesso.
  6. Creare un’istanza partendo da un AMI corrispondente al sistema operativo scelto -- preferibilmente una versione recente di RHEL o CentOS disponibile negli AMI -- collocandola nella Subnet-1. Collegare l’istanza ai gruppi SG-Service e SG-SSH.
  7. Accedere all’istanza tramite SSH dalla propria macchina di laboratorio.
  8. Installare sul server il pacchetto NGINX
  9. Inserire contenuti statici a piacere -- pagine HTML, immagini -- da distribuire tramite NGINX (sulla porta 80 in HTTP) e definirne gli URL corrispondenti.
  10. Testare l’accesso agli URL da tale macchina stessa.
  11. Creare un’immagine AMI partendo dall’istanza attiva.
  12. Distribuire questa nuova immagine in Subnet-2 e collegarla ai gruppi SG-Service e SG-SSH.
  13. Eseguire il server NGINX e verificare che l’URL predefinito per i contenuti statici funzioni correttamente.
  14. Creare un classico Elastic Load Balancer e associarlo al gruppo SG-Internet.
    1. Osservare le differenze rispetto a Application Load Balancer e Network Load Balancer.
  15. Definire una regola di routing che inoltri tutto il traffico HTTP 80 e HTTPS 443 verso il gruppo costituito dalle due istanze create in precedenza.
  16. Utilizzando strumenti come Java keytool creare una coppia chiave/certificato autofirmato ed importarlo su AWS Certificate Manager (ACM).

5. Monitoraggio del cloud: introduzione e progetto pratico

  1. Misure fornite da AWS CloudWatch
  2. Accedere alla dashboard di CloudWatch per le istanze
    1. Visualizzare i parametri rilevanti ed esaminarne la variazione nel tempo
      1. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  3. Accedere alla dashboard CloudWatch per l’ELB
    1. Osservare le metriche dell’Elastic Load Balancer e descriverne la variazione temporale
    2. https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-cloudwatch-metrics.html

6. Concetti avanzati per approfondimenti futuri

  1. Cloud ibrido -- combinazione tra ambienti on-premise e cloud pubblico
  2. Migrazione: da un’infrastruttura on-premise al cloud pubblico
    1. Migrazione del codice delle applicazioni
    2. Trasferimento dei database
  3. DevOps
    1. Infrastrutture configurabili tramite codice
    2. Template di Cloud Formation per AWS
  4. Autoscaling
    1. Utilizzo delle metriche CloudWatch per monitorare le condizioni di salute del sistema

Requisiti

Non sono richiesti requisiti specifici per frequentare il corso.

Destinatari

Ingegneri del software o informatici in possesso di una buona conoscenza degli algoritmi e di almeno un linguaggio di programmazione, ma privi di esperienza nel cloud computing.

 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative