Dev Ops Flashcards
Com’é cambiata formazione dei teams di sviluppo
Inizialmente teams differenti responsabili di development , release e supporto
Dev team passava final version a release team
Release team buildava testa e preparava documentazione, per poi passare ai clienti
Team di supporto responsabile per customer support
Fattori responsabili delle modifiche alla tipologia di sviluppo
Agile che riduce tempi di sviluppo
Amazon che ridusse dimensioni dei service
Ora gestibili in dev e support da singolo team
Saas release possibile
Key changes nella metodologia di sviluppo
Tutti responsabili di tutto
Ogni cosa che può essere automatizzata va automatizzata
Bisogna collezionare dati continuamente sullo stato del sistema
Dev ops benefici
Deployment faster
Rischi ridotti
Riparazioni velocizzate
Team diventano più produttivi
Team differenziati
Designer
Software eng
Security eng
Infrastrutture en
Customer interaction
Responsabilitá ogni membro del team
Tutti nel team devono essere coinvolti nei meeting e metodologie
Ogni membro deve condividere proprie conoscenze
Developers sempre pronti a gestire problemi anche nel weekend
Programma per gestire il codice, cosa permettono.
Utilizzo di code management software
Semplificazione nella creazione di eseguibili e run dei test automatici
Continuos integration cos’é, come funziona versione integrativa sistema?
Ogni volta che dev commit dei changes una build é bulidata e testata
Tante operazioni da effettuare system building
Una versione integrativa del sistema viene creata e testa ogni volta che un change é pushed nella repository shared
Vantaggi e pericoli continous integration
Vantaggi:
Veloce, versione sempre funzionante del sistema disponibile, ogni membro del team non vuole rompere la build
Incremental build esegue test solo se file collegati a quei test sono stati modificati
Pericoli:
Non rompere build, testa sulla tua versione locale prima che le tue modifiche non vadano in conflitto con quelle degli altri devs
Continuos reasoning cos’é
Possibile analisi statica del codice per verificare quali cambiamenti potrebbero aver portato errori
Continuos delivery cos’é
Creazione di una versione eseguibile del sistema e dei test
Effettuata con containers per replicare nel modo migliore possibile production environment
Per deliver vengono effettuati test una volta bulinato sistema
Per deployare software e dati sono trasferiti ai server di produzione e si può switchare a nuova versione
Vantaggi Continous delivery
Costi ridotti
Velocità nel problem solving
Miglior feedback dei clienti
Versione di prova per una cerchia stretta di utenti
Non va deployato ogni singolo change:
Versione incompleta
Continue modifiche UI
Cos’é infrastruttura as code
Automatizzare il processo di update del software sui server utilizzando una definizione leggibile dalla macchina di modello di infrastruttura
Vantaggi Infrastruttura as Code
Infrastruttura disponibile per tutto il DevOps team
Riproducibile in modo semplice da ogni membro del team
Reliability automatizzazione evita errori umani
Recovery semplice tornare a versione precedenti dell’infrastruttura
Parametri misurabili durante DevOps
Misurare processi per collezionare e analizzare dati dev/test/deployment
Misurare dati su performance, affidabilità e accettabilità dei customer
Misurare utilizzo dei customer del prodotto
Misurare successo che prodotto crea per business