Seguici su
Cerca

SISTEMI CENTRALI

Anno accademico 2024/2025 - 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 e 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 e di un esame orale.


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