Struttura del corso

Introduzione ai Sistemi Distribuiti

  • Cos'è un sistema distribuito?
  • Sfide comuni: latenza, coerenza, disponibilità
  • Panoramica dei componenti del sistema e modelli di comunicazione

Principi di Scalabilità

  • Scalabilità verticale vs. orizzontale
  • Bilanciamento del carico ed elasticità
  • Scalabilità dell'archiviazione, del calcolo e delle I/O

Pattern Architetturali

  • Architetture client-server e a più livelli
  • Architetture orientate ai servizi e microservizi
  • Architettura event-driven e code di messaggi

Teorema CAP e Modelli di Coerenza

  • Spiegazione del teorema CAP
  • Coerenza forte vs. coerenza eventuale
  • Scegliere tra coerenza e disponibilità

Strategie di Distribuzione e Archiviazione dei Dati

  • Partizionamento e sharding
  • Strategie di replica e letture/scritture quorum
  • Basi dati distribuite e store a coppie chiave-valore

Comunicazione e Coordinazione nei Sistemi Distribuiti

  • REST, gRPC, message brokers (e.g., Kafka, RabbitMQ)
  • Elezioni del leader e consenso distribuito
  • Utilizzo di Zookeeper o etcd per la coordinazione

Tolleranza ai Fallimenti e Affidabilità

  • Progettazione per i fallimenti e degrado graceful
  • Mecanismi di retry, timeout e circuit breaker
  • Monitoraggio, osservabilità e ingegneria del caos

Best Practice e Implementazioni Moderna nel Cloud-Native

  • Container, orchestrazione e Kubernetes
  • Statelessness e immutabilità
  • Migliori pratiche per la sicurezza dei sistemi distribuiti

Riassunto e Prossimi Passaggi

Requisiti

  • Una comprensione dei concetti di base di networking e design di sistemi
  • esperienza con pratiche generali di sviluppo software
  • Familiarità con il computing cloud e la progettazione di API è utile

Pubblico

  • Arcitecti software e leader tecnici
  • Ingegneri backend e professionisti DevOps
  • Progettisti di sistemi che creano applicazioni cloud scalabili
 21 Ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (5)

Corsi in Arrivo

Categorie relative