Introduzione
DevOps è un concetto che mira ad affrontare le sfide associate al ciclo di vita tradizionale delle applicazioni.
"DevOps è l'unione di persone, processi e prodotti in grado di fornire continuamente valore agli utenti finali."- Donovan Brown
Si supponga di lavorare per un'azienda di sviluppo software nel settore della vendita al dettaglio. L’azienda prevede di eseguire la migrazione da un’app precedente a una nuova. Tuttavia, il team di sviluppo e il team operativo hanno obiettivi in conflitto. Il team di sviluppo vuole rilasciare rapidamente nuove funzionalità per attirare più clienti, mentre il team operativo vuole garantire la stabilità e l’affidabilità dell’applicazione. Questo conflitto causa ritardi nel rilascio di nuove funzionalità e a frequenti tempi di inattività dell’applicazione. L’azienda si rende conto di dover adottare le procedure DevOps per superare queste sfide e offrire software di alta qualità in modo efficiente e affidabile.
In questo modulo, vengono illustrati gli elementi chiave della cultura DevOps e il modo in cui viene promossa la collaborazione, la trasparenza, la responsabilità condivisa e l’apprendimento continuo. Il modulo illustra argomenti quali collaborazione, trasparenza, allineamento, responsabilità condivisa, responsabilità, responsabilizzazione, apprendimento continuo, risultati misurabili, focus incentrato sul cliente, agilità, automazione e integrazione della sicurezza. Inoltre, comprendere il valore che DevOps apporta alle organizzazioni, tra cui il time to market accelerato, l’adattabilità alle dinamiche di mercato, la stabilità e l’affidabilità delle operazioni e la riduzione del tempo medio di ripristino (MTTR). Inoltre, comprendere in che modo le procedure DevOps ottimizzano la gestione del ciclo di vita delle applicazioni, con effetti su ogni fase dalla pianificazione alle operazioni.
Alla termine di questo modulo, si avrà una chiara comprensione dei principi, delle procedure e dei valori di DevOps e del modo in cui possono essere applicati per ottimizzare la distribuzione del software e migliorare la collaborazione tra i team di sviluppo e operativi.