CODICE 86800 ANNO ACCADEMICO 2018/2019 CFU 6 cfu anno 2 INGEGNERIA INFORMATICA 8733 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Italiano SEDE GENOVA PERIODO 1° Semestre MATERIALE DIDATTICO AULAWEB PRESENTAZIONE Il corso introduce le moderne problematiche dei sistemi in rete. Partendo dai principi dei sistemi distribuiti, si arriverà fino alle moderne architetture multiprocessor, multi sede, resistenti ai guasti che sono alla base sia delle aziende leader del 21o secolo (Google, Amazon, Facebook), sia del Cloud Computing in senso lato. Si toccheranno anche gli aspetti ingegneristici di questa nuova industria del ICT, con particolare attenzione all;impatto sull'ambiente. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI Il corso affronterà le tematiche di virtualizzazione delle risorse in sistemi informativi complessi. Verranno presentate le soluzioni metodologiche e architetturali più recenti. Successivamente verrà studiato l'approccio basato sul cloud computing analizzando sia aspetti formali che soluzioni commerciali. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO Capire il mondo dei servizi e delle applicazioni in rete Saper affrontare - a livello macro - la progettazione di sistemi distribuiti Conoscere e saper valutare architetture cloud Avere competenze per progettare semplici applicazioni cloud Conoscere le problematiche ingegneristiche del ICT del 21 secolo PREREQUISITI Sistemi operativi, reti di calcolatori, competenze di base in programmazione e rudimenti di programmazione concorrente. MODALITA' DIDATTICHE Principalmente lezioni frontali. Nella seconda parte del corso verranno proposti temi di approfondimento su argomenti spedifici con l'obiettivo di realizzare una breve presentazione e sostenere la discussione con il docente e gli altri allievi. PROGRAMMA/CONTENUTO A. Sistemi distribuiti Scalabilità, prestazioni, disponibilità/affidabilità. Astrazioni e modelli; ipotesi su ordine e sul tempo. Problema del consenso; impossibilità di FLP ed il teorema CAP. Consistenza forte e debole. Tempo ed ordine: ordine totale e parziale. Relazione tra tempo, ordine e prestazioni. Repliche, sincrone ed asincrone. Principali approcci utilizzati. Algoritmi che tollerano partizioni di rete: Paxos. Metodi di replica a consistenza forte. Repliche: protocolli a consistenza debole. Tipi di dati che hanno convergenza delle repliche (CRDT). Il teorema CALM. B. Principi e pratica del Cloud Computing Che cos’è. Modelli di servizio: Infrastructure as a Service (IaaS), Platform as a Service (Paas), Software as a Service (SaaS). Modelli di business ed aspetti contrattuali. Aspetti socio economici. Tecnologia del Cloud Computing. Esempi di servizi Cloud (Web Services, SaaS, PaaS, IaaS). Organizzazione e gestione dei dati in Cloud. Esempi di applicazioni evolute (searching, indexing, ranking, intelligence collettiva). Aspetti economici. Sicurezza e governance dei Cloud (pubblico, privato, ibrido). C. Cenni di Green IT Dal server tradizionale al server virtualizzato in ambiente Data Center. L’organizzazione del Data Center moderno. I temi di efficienza energetica. L’evoluzione delle reti in ambito Data Center. D. Architettura di Internet Qual'è la struttura moderna di Internet e come si è evoluto nel tempo il suo ecosistema. La governance della Rete. Che cos'è la Network Neutrality, eche cosa implica in termini teconologici ed economici. TESTI/BIBLIOGRAFIA Mikito Takada, “Distributed Systems for fun and profit”, free ebook [http://book.mixu.net/distsys/], 2013. Chris Harding et al., “Cloud Computing for Business”, The Open Group, free ebook [https://www2.opengroup.org/ogsys/catalog/G114], 2011 Marty Poniatowski, “Foundation of Green IT: Consolidation, Virtualization, Efficiency, and ROI in the Data Center”, Prentice Hall (anche in ebook), 2009. DOCENTI E COMMISSIONI GIUSEPPE MARINO Ricevimento: Su appuntamento (da richiedere via e-mail o in orario di lezione). Commissione d'esame GIUSEPPE MARINO (Presidente) ANTONIO BOCCALATTE LEZIONI INIZIO LEZIONI Le lezioni inizieranno il 18 settembre, ora e aula come da orario ufficiale. Orari delle lezioni VIRTUALIZATION AND CLOUD COMPUTING ESAMI MODALITA' D'ESAME Colloquio orale. Seminario di approfondimento su un tema a scelta (opzionale). MODALITA' DI ACCERTAMENTO Acquisire competenze per riconoscere le difficolta specifiche dei sistemi distribuiti, riuscire a delineare possibili soluzioni tecniche. Acquisire competenze per valutare soluzioni di architetture Cloud e capacità progettuali per semplici servizi applicativi in rete Internet. Calendario appelli Data appello Orario Luogo Tipologia Note 15/02/2019 09:00 GENOVA Esame su appuntamento 02/08/2019 09:00 GENOVA Esame su appuntamento 13/09/2019 09:00 GENOVA Esame su appuntamento