Contattataci

Struttura del corso

Nodi avanzati di n8n per l’automazione DevOps

  • Nodo Webhook: metodi di autenticazione, modalità di risposta e gestione degli header HTTP.
  • Nodo HTTP Request: chiamate a API REST, gestione della paginazione dei dati, gestione delle eccezioni e logica di tentativi ripetuti.
  • Nodo SSH: autenticazione mediante chiavi criptografiche, esecuzione remota di comandi e trasferimento file.
  • Nodo Execute Command: avvio di script shell, invocazione di kubectl e del CLI Terraform direttamente sulla macchina host di n8n.
  • Nodo Code: impiego di JavaScript o Python per elaborare i dati passando da una fase all’altra della pipeline.
  • Nodo Git: clonazione dei repository, conferma delle modifiche e invio dei cambiamenti direttamente dal flusso lavorativo.
  • Esercizio pratico: creare un ricevitore di webhook capace di arricchire i dati in arrivo e generare risposte differenziate in base alle condizioni.

Integrazione con le piattaforme CI/CD tramite n8n

  • Nodo GitHub: avvio di flussi di lavoro, monitoraggio dello stato delle attività in corso, creazione di nuove release e gestione dei ticket.
  • Nodo GitLab: avvio automatico delle pipeline, controllo sul progresso delle fasi e gestione dei merge request.
  • Nodo Jenkins: configurazione di build con parametri personalizzabili, verifica dello stato d’esecuzione e modifiche alle impostazioni del sistema.
  • Nodi CircleCI e Bitbucket Pipeline: avvio delle pipeline e raccolta dei risultati generati dalle stesse operazioni.
  • Schema di integrazione: creazione di un hub CI/CD multipiattaforma che riceve i segnali da un singolo webhook ed effettua la distribuzione su più sistemi.
  • Modello comune: aggregazione dei dati sugli stati delle build con controllo automatico della promozione tra ambienti.
  • Esercizio pratico: creare un flusso di lavoro che avvii autonomamente il deployment su due piattaforme diverse e attenda la conferma dell’esito positivo per entrambe.

Composizione dei flussi e gestione degli errori

  • Nodo Sub-workflow: suddivisione di processi complessi in blocchi modularizzabili riutilizzabili più volte.
  • Nodo Error Trigger: gestione unificata degli errori riscontrati nelle diverse fasi della pipeline CI/CD.
  • Nodi Switch e Merge: realizzazione di ramificazioni condizionali o percorsi paralleli all’interno del flusso di lavoro.
  • Trigger programmato tramite cron: pianificazione automatica delle operazioni, compresi i controlli periodici sulla salute dei sistemi.
  • Nodo Loop Over Items: elaborazione in batch su più repository o ambienti distinti in modo simultaneo.
  • Esercizio pratico: progettare un flusso di lavoro composto da più blocchi indipendenti e centralizzare la gestione degli errori.

Creazione di pipeline per il deployment continuo

  • Gestione della promozione tra ambienti: passaggio da quello di sviluppo a quello di staging e infine alla produzione con autorizzazioni richieste in fasi specifiche.
  • Integrazione con infrastrutture gestite tramite codice code-as-a-code: attivazione dei tool Terraform o Terragrunt direttamente dal sistema n8n.
  • Orchestrazione dei container: creazione e pubblicazione delle immagini Docker nonché riavvio dei servizi interessati in modo automatico.
  • Integrazione di sistemi notificativi: messaggistica su Slack, Microsoft Teams ed email per informare gli utenti sugli eventi della pipeline.
  • Monitoraggio degli artefatti prodotti: raccolta e diffusione delle informazioni di versionamento delle applicazioni durante tutte le fasi del processo.
  • Esercizio pratico: realizzare una pipeline completa che includa autorizzazioni specifiche per ogni transizione tra ambienti e avvisi diffusi su più canali.

Configurazione di n8n in un contesto DevOps

  • Implementazione tramite Docker con PostgreSQL quale backend dati e Redis abilitato per la gestione delle code.
  • Utilizzo di variabili d’ambiente e impostazioni configurabili specifiche per gli ambienti produttivi.
  • Gestione delle credenziali: chiavi API, dati SSH, token OAuth e meccanismi per sostituire o sovrascrivere le informazioni sensibili.
  • Controllo degli accessi: impostazione di permessi basati sul ruolo d’uso e suddivisione gerarchica dei membri del team.
  • Rafforzamento della sicurezza: configurazione SSL, integrazione con sistemi SSO e limitazioni sull’accesso alle API interne.
  • Esercizio pratico: installare ed ottimizzare un sistema n8n idoneo alla produzione impiegando Docker Compose.

Monitoraggio, registrazione e visibilità dei flussi di lavoro

  • Dati d’esecuzione n8n: visualizzazione filtrata ed esportazione degli storici di tutti i flussi creati.
  • Impostazione della registrazione dati strutturata e regolazione dei livelli di dettaglio in base alle necessità di debugging.
  • Integrazione con Prometheus tramite metriche compatibili e abilitazione del tracciamento OpenTelemetry.
  • Creazione di dashboard per monitorare la salute complessiva dei flussi, spesso attivate da webhook che segnalano l’avvenuto completamento o fallimento delle operazioni.
  • Avvisi automatici: generazione di notifiche in caso di errori irreversibili o anomalie legate ai tempi d’esecuzione dei flussi.
  • Esercizio pratico: attivare il monitoraggio di un processo CI/CD composto da più fasi, configurando allarmi su possibili guasti.

Scenari tipici per l’automazione DevOps nel mondo reale

  • Automatizzazione della risposta agli incidenti: arricchimento delle informazioni segnalate, contatto immediato del team di reperibilità e attivazione dei runbook predefiniti.
  • Monitoraggio continuo dell’integrità dei pod su Kubernetes con avvio automatico di riavvii o notifiche di escalation.
  • Rollback programmato: individuazione rapida dei malfunzionamenti durante il deployment e ritorno immediato allo stato precedentemente funzionante.
  • Rilevamento delle discrepanze tra configurazioni desiderate ed effettive: confronto automatico tra parametri impostati manualmente e stato reale dei sistemi.
  • Mantenimento programmato dell’infrastruttura: attivazione periodica di operazioni tipo eliminazione file obsoleti, creazione di snapshot o recupero di risorse inutilizzate.
  • Esercizio pratico: realizzare un flusso completo dedicato alla gestione degli incidenti; tale flusso dovrà arricchire i dati disponibili, notificare il personale competente e avviare azioni correttive.

Requisiti

  • Conoscenza di base dei principi DevOps e del ciclo di vita della distribuzione software
  • Esperienza nell’utilizzo di Git e almeno una piattaforma CI/CD come Jenkins, GitHub Actions o GitLab CI
  • Familiarità con la riga di comando Linux e i container Docker
  • Non è necessaria alcuna precedente esperienza con n8n: tutti i nodi e i flussi vengono spiegati in modo pratico partendo dai concetti fondamentali.

Destinatari del corso

  • Ingegneri DevOps e specialisti di piattaforme interessati ad automatizzare le pipeline CI/CD mediante flussi visualizzabili e versionati.
  • SRE intenzionati a realizzare automazioni per il monitoraggio e la gestione delle risposte agli incidenti.
  • Ingegneri infrastrutturali responsabili dell’orchestrazione dei deployment su più ambienti.
  • Gruppi di lavoro fino a 13 persone alla ricerca di un corso conciso, concreto e immediatamente applicabile sul posto di lavoro.
 14 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative