Contattataci

Struttura del corso

Modulo 1: Design dei Microservizi

• Un buon confine per il microservizio
• Utilizzo del Domain-Driven Design (DDD)
• Alternative ai confini del dominio aziendale (volatilità, dati, tecnologia, organizzativo)
• Scomporre il Monolite
• Decomposizione prematura
• Decomposizione per strato
• Utilizzo di pattern di decomposizione (Strangler, Parallel Run, Feature Toggle)
• Aspetti della decomposizione dei dati (prestazioni, integrità, transazioni)

Modulo 2: Ottimizzazione di Docker e del Runtime

• Scelta dell'immagine base corretta
• Minimizzazione del numero di strati
• Utilizzo delle build multi-stage
• Ottimizzazione delle immagini (ordinamento degli argomenti multilinea, ecc.)
• Sfruttamento della cache di build
• Blocco delle versioni delle immagini (pinning)
• Affinamento dell'allocazione delle risorse
• Pratiche sicure per i container
• Configurazione del runtime per le prestazioni

Modulo 3: Kubernetes e Strategie di Rilascio

Panoramica sulle Deployment di Kubernetes
• Creazione ed esecuzione di una Deployment iniziale
• Opzioni di Deployment in Kubernetes

Esecuzione di aggiornamenti Rolling
• Comprensione dell'aggiornamento Rolling
• Creazione ed esecuzione di un aggiornamento Rolling
• Rollback della Deployment

Esecuzione di Canary Deployments
• Comprensione delle Canary Deployments
• Creazione ed esecuzione di una Canary Deployment

Esecuzione di Blue-Green Deployments
• Comprensione delle Blue-Green Deployments
• Creazione ed esecuzione di una Blue-Green Deployment

Gestione di Jobs e CronJobs
• Creazione di un Job e di un CronJob

Esecuzione di attività di monitoraggio e troubleshooting
• Tecniche di troubleshooting con kubectl

Modulo 4: Automazione ed Efficienza Operativa

Utilizzo di Python per automatizzare attività comuni in Kubernetes
• Utilizzo di Python per eseguire operazioni amministrative in Kubernetes
• Utilizzo di Python per definire oggetti di configurazione
• Utilizzo di Python per creare oggetti Deployment
• Monitoraggio degli eventi Kubernetes tramite Python
• Scalatura di una Deployment utilizzando Python

Comprensione delle sfide dell'automatizzazione dei rilasci
• Configurazione dichiarativa con Kubernetes
• Gestione dell'integrità della configurazione

Utilizzo dell'approccio GitOps per automatizzare le distribuzioni
• Principi del GitOps
• Introduzione a Flux
• Installazione di Flux su un cluster Kubernetes

Configurazione di Flux per distribuzioni automatizzate
• Utilizzo delle notifiche
• Struttura del repository Source

Gestione degli aggiornamenti delle applicazioni con Image Automation
• Aggiornamento della Deployment dell'applicazione con Flux
• Scansione dei repository di immagini container per i tag
• Definizione della policy per la selezione dell'ultima versione dell'immagine
• Configurazione di Flux per eseguire aggiornamenti automatici delle immagini

Modulo 5: Osservabilità e Chiarezza sulle Cause Root

Capacità di logging e tracing in Kubernetes
• Perché logging e tracing sono importanti
• Accesso ai log di Kubernetes
• Log dei Pod e dei Container
• Log del Control Plane
• Utilizzo delle risorse di Nodi e Pod

Raccolta e analisi dei log
• Aggregazione dei log
• Visualizzazione dei log

Distributed Tracing in Kubernetes
• Cos'è il distributed tracing
• Utilizzo di OpenTelemetry
• Strumenti per il distributed tracing
• Strumentazione di un'applicazione
• Utilizzo del tracing per individuare problemi di prestazioni

Monitoraggio con Prometheus e Grafana
• Concetti di osservabilità
• Strumenti di monitoraggio
• Utilizzo dell'Instrumentation di Prometheus

Casi d'uso avanzati per il logging
• Elaborazione dei log
• Filtraggio e arricchimento dei log
• Event Sourcing

Modulo 6: Simulazione delle Crisi del Cluster e Risposta agli Incidenti

• Comprensione dei diversi tipi di guasti in un ambiente cluster
• Simulazione di fallimenti dei nodi
• Scenario di Pod Eviction ed esaurimento delle risorse
• Problemi di rete
• Fallimenti DNS per la gestione dei timeout delle applicazioni
• Simulazione di un'interruzione del API Server
• Simulazione di alto traffico per la stabilità del sistema
• Fallimenti dello storage
• Errori di configurazione
• Comprensione delle procedure di segnalazione degli incidenti

Modulo 7: Supporto al Troubleshooting tramite Intelligenza Artificiale

• Vantaggi dell'Intelligenza Artificiale Generativa per Kubernetes
• Architettura della CLI K8sGPT
• Installazione della CLI K8sGPT
• Comandi e utilizzo di K8sGPT
• Utilizzo degli Analyzers di K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer, ecc.)
• Analisi del cluster tramite K8sGPT
• Analisi dei problemi in tempo reale con K8sGPT
• Operator in-cluster per K8sGPT

Requisiti

  • Conoscenza di base della riga di comando Linux
  • Esperienza nello sviluppo di applicazioni o nell'amministrazione di sistemi
  • Familiarità con i container (concetti Docker)
  • Conoscenza di base dei concetti di Kubernetes (pod, deployments, services)
  • Comprensione generale dell'architettura software (ad esempio API, servizi)

Pubblico target:

  • Ingegneri DevOps
  • Ingegneri Site Reliability (SRE)
  • Sviluppatori Backend / Software che lavorano con microservizi
  • Ingegneri Cloud e Platform Engineers
  • Amministratori di sistema che si orientano verso ambienti Kubernetes

     

 49 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (2)

Corsi in Arrivo

Categorie relative