SISTEMI CENTRALI

Anno accademico 2022/2023 - Docente: FABRIZIO MESSINA

Risultati di apprendimento attesi

Il corso di Sistemi Centrali presenta i fondamenti di progettazione dei sistemi di elaborazione, mediante la trattazione di tre principali modelli elaborativi: i) I sistemi centrali, o mainframe, ii) i sistemi per l'elaborazione distribuita ``on premise’’ iii) I sistemi e l'elaborazione in Cloud. 

Obiettivi formativi generali dell'insegnamento in termini di risultati di apprendimento attesi

  1. Conoscenza e capacità di comprensione (knowledge and understanding): l'obiettivo primario del corso è individuato nell’acquisizione da parte degli studenti dei concetti di base della progettazione di un sistema di elaborazione con particolare  i) affidabilita’, ii) scalabilita’ e iii)  dimensionamento. Saranno affrontati i concetti di base della virtualizzazione delle risorse, i modelli di business del Cloud Computing, la storia e l’architettura dei cosiddetti mainframe. 

  2. Capacità di applicare conoscenza e comprensione (applying knowledge and  understanding): si intende fornire gli strumenti per conseguire le seguenti abilità pratiche e professionali: 

    1. capacita’ di comprensione e analisi dei principali requisiti per uno specifico sistema di elaborazione; 

    2. capacita’ di selezionare  modello e tecnologie per uno specifico sistema di elaborazione; 

    3. capacita’ di stimare le dimensioni di un sistema di elaborazione; 

    4. implementare opportune scelte di progetto per ottenere affidabilita’ e scalabilita’ del sistema di elaborazione. 

  3. Autonomia di giudizio (making judgements):  attraverso l'esame di alcuni esempi e casi di studio, il discente sarà in grado, anche in forma cooperativa, di progettare una soluzione che si possa considerare sub-ottima rispetto al problema da risolvere. 

  4. Abilità comunicative (communication skills): lo studente acquisirà alcune abilità comunicative finalizzate alla descrizione delle componenti chiave di un sistema di elaborazione. 

  5. Capacità di apprendimento (learning skills): il corso intende fornire allo studente alcune metodologie teoriche e pratiche da mettere in campo in contesti professionali. In particolare la capacita’ di comprendere l’evoluzione tecnologica da un lato, nonche’ i cambiamenti relativi ai modelli di business legati all’uso dei sistemi di elaborazione. 

Modalità di svolgimento dell'insegnamento

Didattica frontale

Prerequisiti richiesti

Conoscenze di base di architettura dei Calcolatori, reti di calcolatori, sistemi operativi.

Frequenza lezioni

Frequenza bisettimanale sulla base del calendario pubblicato sul sito web del dipartimento.

Contenuti del corso

  • Introduzione del corso: Modelli Elaborativi Centralizzati, Distribuiti ed in Cloud
    • Obiettivi del corso
    • Il piano del corso
    • Le ragioni della struttura del corso
    • Modalità di esame
  • Modelli Elaborativi
    • Centralizzati
    • Client server
    • Distribuiti
    • in Cloud
  • Continuità Operativa e Scalabilità
    • PRIMA PARTE
      • Architettura a tre livelli
    • SECONDA PARTE
      • Continuità Operativa e Scalabilità
      • Alta affidabilità (High Availability)
      • Clusters
      • Bilanciatori di carico e load balancing
      • Politiche di bilanciamento
      • Scalabilità orizzontale e verticale
      • Ridondanza dei dischi (RAID)
      • Altri punti di vulnerabilità (single point of failure)
      • Backup e recovery
      • Disaster Recovery
  • Stima del dimensionamento del sistema e topologia
    • PRIMA PARTE: LA NECESSITA’ DEL DIMENSIONAMENTO
      • Stima del dimensionamento del sistema e topologia
      • La stima per il budget di progetto
      • L’acquisto dell’infrastruttura
      • Ciclo di sviluppo: ambienti richiesti
    • SECONDA PARTE: METODOLOGIA DEL DIMENSIONAMENTO
      • Requisiti di scalabilità del software
      • Stima delle CPU e della memoria RAM
      • Contingency e think time
      • Throughput del processore
      • Il dimensionamento del Database
      • Il dimensionamento del file system
      • Crescita dei volumi e capacity plan
      • Lo stress test
    • TERZA PARTE: DISEGNO DELLA TOPOLOGIA
      • La definizione della topologia
      • Fattori che influenzano la topologia
      • Un approccio euristico
  • Virtualizzazione
    • PRIMA PARTE: COMPRENDERE LA VIRTUALIZZAZIONE
      • Il concetto della virtualizzazione
      • L’importanza della virtualizzazione
      • I trend ed il cloud computing
    • SECONDA PARTE: VIRTUALIZZAZIONE DEL SISTEMA
      • Hypervisor
      • Virtual machine (VM)
      • Gestione della CPU della VM
      • Gestione della RAM della VM
      • Gestione dello storage della VM
      • Copia e clone di una VM
    • TERZA PARTE: APPLICARE LA VIRTUALIZZAZIONE
      • Disponibilità del sistema virtualizzato
      • Le applicazioni informatiche in ambiente virtualizzato
      • Fornitori di software di virtualizzazione
      • Cenni sui containers
  • Architettura Cloud
    • PRIMA PARTE: CARATTERISTICHE DEL CLOUD COMPUTING
      • Caratteristiche del cloud computing
      • Cloud service models
      • Deployment models: benefici e svantaggi
      • Infrastrutture cloud
      • Networking in cloud
      • Interazione tra ambienti cloud ed on premise
      • Storage in cloud
    • SECONDA PARTE: CLOUD COMPUTING PER LE AZIENDE
      • Considerazioni sui costi
        • Dipartimento IT
        • Bilancio e cash flow
      • Service Level Agreement (SLA)
      • Elasticità e scalabilità
      • Autoscaling, Cooldown time
    • Continuità operativa e DR in cloud
    • Ambienti e cicli di sviluppo dei sistemi software
      • Update automatici, P2T e T2

Sistemi centrali

  • Introduzione e Storia dei Sistemi Centrali
  • Introduzione all’ Architettura dei Calcolatori (z/Architecture)

Testi di riferimento

Dispense e materiale fornito dal docente

Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione del corso: Modelli Elaborativi Centralizzati, Distribuiti ed in CloudDispense e materiale fornito dal docente
2Modelli Elaborativi Dispense e materiale fornito dal docente
3Continuità Operativa e Scalabilità Dispense e materiale fornito dal docente
4Stima del dimensionamento del sistema e topologia Dispense e materiale fornito dal docente
5VirtualizzazioneDispense e materiale fornito dal docente
6Architettura Cloud Dispense e materiale fornito dal docente

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame finale si compone di una test con domande a risposta multipla.

Gli studenti potranno sviluppare piccoli progetti o ricerche di gruppo o individuali durante il corso per ottenere l'esonero dell'esame finale.


Esempi di domande e/o esercizi frequenti

Cosa e' una architettura a tre livelli

Concetti di scalabilita' e vulnerabilita'

Recovery

Stima delle risorse per il dimensionamento di un sistema

requisiti di scalabilita del software

Cosa e' la virtualizzazione

Cosa e' un hypervisor

Differenza tra container e macchine virtuali

Modelli di cloud computing

Service Level Agreement

Elasticita' e autoscaling

Metodi di valutazione dei costi