La resilienza si costruisce attraverso test quanto più reali possibili, il Chaos Engineering è una metodologia che permette di simulare incidenti, bug gravi, interruzioni sulla tua architettura applicativa al fine di permetterti di verificarne la resilienza e di adottare specifici accorgimenti che la salvaguardano.
Attraverso il corso Chaos Engineering imparerai a progettare ed eseguire correttamente gli esperimenti ed i test volti a garantire l’affidabilità del tuo software( Web Application, Progressive Web Application, API, ecc..) e dell’infrastruttura su cui poggia( Virtual Machine, Kubernetes, ecc…).
Scopri i clienti formati da Noi!
Per aziende è possibile ottenere una soluzione personalizzata contattandoci ed indicandoci le informazioni base ( periodo, numero partecipanti, eventuali esigenze particolari in termini di orari e suddivisione giornate in più settimane/mesi, termini di pagamento…ecc.).
Scheda Corso “Chaos Engineering”
Durata del corso : 5 giorni (30 ore OnAir con sessioni custom)
Orari : Normali orari di lavoro con possibilità flessibilità oraria e weekend.
Modalità : frontale con docente, OnAir
Dove : onsite presso azienda ospitante oppure presso nostra aula nelle città di provincia ( tra cui Padova, Milano, Torino, Genova, Padova, Firenze, Bologna, Roma, Napoli, Palermo, Bari ecc. ) oppure OnAir
Prerequisiti : Conoscenze basiche di programmazione e di architetture di rete/sistemi.
Costo Sessione OnAir : 7950,00 € + IVA fino a 8 corsisti con sessioni personalizzate.
Costo Sessione onsite presso Azienda : a partire da 7950,00 € + IVA per 5 giorni di corso fino a 8 corsisti. Per le aziende che hanno accesso a fondi europei è possibile pagare tutto o parte del corso con tale finanziamento. Contattaci subito e senza impegno per un preventivo gratuito e maggiori informazioni.
Pagamenti Sessioni: 50% in acconto, 50% a fine fornitura. Possibilità accordo su modalità diverse.
Modalità pagamento : Bonifico
Obiettivo del corso: L’obiettivo delle 5 giornate è quello di formare una solida base teorica che permetta di comprendere e sperimentare i metodi, i processi e i concetti del Chaos Engineering in modo da poterlo applicare a casi reali d’uso ed in tutti gli ambienti come testing, staging e production. Ogni giornata è organizzata con lezioni teoriche di inquadramento degli argomenti ed esercitazioni guidate studiate ad hoc che si pongono l’obiettivo di portare ogni sviluppatore verso il “saper fare”. Come filo conduttore verrà utilizzata un’applicazione ed un’architettura di nostra creazione( il corso può anche essere orientato verso un progetto dell’azienda ospitante ) ed una serie di esercizi studiati in modo da creare conoscenza.
Materiale: Nella migliore erogazione il corso dovrebbe svolgersi con i partecipanti che abbiano a disposizione un proprio portatile per poter partecipare attivamente agli esercizi e mantenere per il futuro l’ambiente su cui lavorare. In assenza di un proprio portatile, utilizzeremo aule didattiche con un PC per persona sia nostre oppure dell’azienda ospitante.
Programma:
- Giorno 1. Introduzione al Chaos Engineering e perchè usarlo, stima dei costi e dei rischi, impostazione di SLI, SLO e SLA, osservabilità, steady state, gestione di un’ipotesi, il processo del Chaos Engineering, postmortem, creazione dello scenario, killing di processi, memoria e applicazioni. Osservabilità in profondità, sistema operativo, blocchi I/O, networking, RAM, CPU, applicazione, introduzione ai time series ed ai tool Prometheus e Grafana, database testing, slow disk, slow connection, test in produzione.
- Giorno 2. Choos Engineering sulle applicazioni, introduzione a Docker, emulazione vs simulazione vs virtualizzazione, virtual machine e container, implementazione di un container, isolamento dei processi, namespace, limitare le risorse, networking, fixing, Pumba tool, storage, security, syscall, standard C library, strace e sleep, System X, seccomp, BPF, esperimenti live.
- Giorno 3. Chaos Engineering e Java, idea di un esperimento, piano degli esperimenti, introduzione a JVM Bytecode, implementazione di un esperimento, i tool per sperimentare, Byteman, Byte-monkey, Chaos Monkey, prima del choas, step del processo, fallimento di un esperimento, Pgweb, aggiungere latenze, aggiungere fault controllati, Greasemonkey e Tampermonkey, esperimenti live.
- Giorno 4. Chaos Engineering e Kubernetes, introduzione a Kubernetes, l’architettura Kubernetes, creare un cluster, Goldpinger, Minikube, testing di un cluster, killing di pods, aggiungere lentezza nella rete, automatizzare gli esperimenti con PowerfulSeal, Cloud provider e le zone, esperimenti live.
- Giorno 5. Le componenti chiave di un cluster e come romperle, control plane, Kubelet, i runtime, networking in Kubernetes. Il mindset del Chaos Engineering, fail early vs fail late, management, trovare i single point of failure e i bottleneck, esperimenti live.
Giornata opzionale “Chaos Engineering” Advanced
Attivabile solo su specifica richiesta, costi da definire in base al numero di partecipanti.
Le 5 giornate danno una overview approfondita su tutto lo scenario del Chaos Engineering e permetteranno ai frequentatori di ideare, pianificare ed esguire esperimenti per verificare la resilienza di un’applicazione e di un’architettura. La giornata opzionale è pensata per approfondire tematiche del corso o extra corso e comprendere i risvolti strategici dell’implementazione del Chaos Engineering e come armonizzarlo con tutti i processi di sviluppo ed il ciclo di vita di un software e di un’architettura. Inoltre nella giornata opzionale vengono trattati alcuni argomenti che capita raramente di affrontare tipicamente e che comunque richiedono un background solido. Con questa ulteriore giornata si fornisce al frequentatore quel qualcosa in più che gli permette di valutare altri esperimenti e test e poter comprendere come integrare il Chaos Engineerig con il proprio ambiente di sviluppo.
Programma giornata facoltativa: Approfondimenti: Chaos Engineering e Cloud, Progettare High Availability e Disaster Recovery, esempi pratici. Per corsi OnSite è possibile modificare il programma per orientarlo verso elementi di maggiore valore per l’impresa ospitante ( Integrazione nel CI/CD, GitOps e Chaos Engineering, …)
Contattaci subito e senza impegno per un preventivo gratuito o per maggiori informazioni
Supporto Post-Corso
Forniamo assistenza e supporto al vostro team di sviluppo in ogni fase del progetto, tra cui:
- progettazione di architetture Cloud;
- sviluppo di funzionalità, test, esperimenti;
- stress test di application;
- security code review
- analisi funzionale;
- mentoring.
Contattaci subito e senza impegno per un preventivo gratuito o per maggiori informazioni