chainchain

Durante i due giorni di corso andremo ad approfondire a livello teorico e a livello pratico i principi e le tecniche che permettono di avere il controllo sul processo di rilascio, di automatizzarlo e renderlo efficiente per ridurre tempi, costi e rischi. I concetti alla base di questo approccio derivano dai metodi di sviluppo Agile e dal movimento DevOps. I metodi Agili spingono sulla consegna rapida e incrementale del valore, sulla qualità e sul miglioramento della comunicazione e del ciclo di feedback. Il movimento DevOps si focalizza sulla visualizzazione del flusso del valore e sulla rimozione delle barriere tra i team di sviluppo e quelli di gestione dell’infrastruttura, attraverso la comunicazione e la condivisione di pratiche e strumenti.

Cosa faremo

Creeremo un un ambiente di sviluppo e di produzione in modo automatico e ripetibile basandoci sul concetto di infrastructure as code. Utilizzeremo Vagrant, un tool che consente di fornire in modo rapido un ambiente virtuale di sviluppo ben definito ed uguale per tutto il team. Per il provisioning utilizzeremo Chef, uno degli strumenti più diffusi e potenti per la gestiore della configurazione. Il passo successivo sarà creare una deployment pipeline cioè un insieme di passi che ci permetteranno di portare il codice di un’applicazione dalle macchine di sviluppo alla produzione passando per integrazione, test e deployment. Utilizzeremo Jenkins, un server di Continuous Integration estremamente potente e flessibile. Al termine del corso avremo visto come creare in modo efficiente le macchine che ospiteranno le nostre applicazioni e come eseguire l’integrazione e il deploy del codice applicativo. Costruiremo in modo automatico un intero stack infrastrutturale in cloud con AWS, Packer e Terraform. Ci occuperemo poi degli aspetti relativi al logging centralizzato e al monitoring con Logstash e Sensu.

Argomenti del corso

  • principi del movimento DevOps

  • mapping del flusso del valore

  • Infrastructure as Code e Immutable Servers

  • testing dell'infrastruttura

  • principi e pratiche della Continuous Delivery

  • Deployment Pipeline

  • logging centralizzato e monitoring distribuito

  • provisioning di uno stack in cloud


A chi è dedicato

A sviluppatori software o architect e amministratori di sistema. I concetti sono utili sia per chi lavora in una grande azienda per creare un processo di rilascio più snello ed affidabile, sia per chi lavora in una startup o in una piccola impresa e vuole andare rapidamente e frequentemente in produzione senza troppa paura.

Prerequisiti

Conoscenze base di programmazione e dei sistemi *NIX Le configurazioni e le versioni da installare verranno comunicate via email prima del corso.

Durata

2 giorni

Il prossimo corso

Non ci sono edizioni pubbliche in programma, richiedi informazioni: training@xpeppers.com