Post on 15-Jan-2017
DevOps Jump Start
Felice PescatoreInnovation Manager – Microsoft MVP@felicepescatore
DevOps: motivazioni e obiettiviAndare oltre l’Agile per abbattere i SilosLa Cultura al centro di tuttoComunicazione, Integrazione, Collaborazione e AutomazioneDevOps con Release Management e Visual StudioRisorse e Riferimenti
Agenda
DevOps
Reattività• Passare in modo efficace da lunghi cicli di rilascio a rilasci
settimanali o giornalieri indispensabili oggi per supportare i moderni ritmi di evoluzione e trasformazione del business.
Desiderata• Rispondere rapidamente alle esigenze del clienti in
termini di risoluzione dei problemi e nuove funzionalità;
Trasparenza• Condividere la comprensione della pipeline di rilascio
in modo che ognuno possa svolgere al meglio il proprio lavoro;
Conformità• Essere confidenti che si sta propriamente tracciando,
gestendo e monitorando il ciclo di rilascio.
“A way of re-integrating IT to deliver business
value faster and better”
DevOps, l’obiettivo: abbattere i Silos
Clienti
Innovazione Continua
Line of Business
Specifiche funzionali
Operation
Servizi a supporto del
business
Development
Code & Test
Quality Assurance
UAT & SLA Verify
2st Gap1st Gap
Portfolio managementBusiness process
managementBig Data/Analytics
Agile developer tools
Build automationContinuous integration
Test infrastructure automation
Test ManagementTest Automation
Cloud, virtualizationInfrastructure provisioning
automationApp and middleware
deployment automation
L’Agile non è sufficiente
Le varie build di iterazione si accumulano se non si è in grado di effettuarne il delivery e il deploy in modo rapido. Sulla visione complessiva di Deployment si rischia spesso di lavorare con un approccio waterfall.
Functional Testing
Acceptance Testing
Ready to Production
DeployDelivery
UAT & QA Produzione
DevOps, Holistic Vision
Non creare un nuovo Silos!1. enfatizzare le performance
dell’intero sistema, ovvero avere una visione olistica di quanto si sta realizzando;
2. consentire una rapida disponibilità delle nuove soluzioni a servizio del business;
3. ridurre i rischi ed i costi andando ad aumentare la qualità.
DevOps è prima di tutto Cultura
tra DEV e OPS… e il resto dell’azienda.
MIGLIORARE
“DevOps isn’t something you can buy -- it’s something you have to do, and you have to do it
yourself.” John Michelsen, CTO, CA Technologies
Integrazione CollaborazioneComunicazione Automazione
DevOps, ComunicazioneAbbattere le barriere tra le aree funzionali aziendali
Condividere le responsabilità individuando nuovi ruoli
Distillare la conoscenza
Focalizzarsi sui servizi a supporto del business, non sulla tecnologia
Creare un senso di fiducia reciproco
Integrazione CollaborazioneComunicazione Automazione
DevOps, IntegrazioneCollaborazione tra Sviluppo, Operation… e il resto
dall’aziendaMigliorare e automatizzare la Collaborazione tra le varie
aree funzionaliRimuovere gli Ostacoli e i Colli di Bottiglia
Favorire il flusso informativo dall’Idea alla Consegna al cliente
Creare Loop di Feedback ad ogni fase
Integrazione CollaborazioneComunicazione Automazione
DevOps, CollaborazioneRelazioni Face-to-face, real time
Ridurre al minimo, idealmente abolire, le comunicazioni formali
Team di piccole dimensioni focalizzati sul Business
Condividere i problemi con i pari e gli altri colleghi
Utilizzare strumenti di Visual Management / Information Radiator
Integrazione CollaborazioneComunicazione Automazione
DevOps, Automazione
Integrazione CollaborazioneComunicazione Automazione
Automatizzare l’Esecuzione dei Task, soprattutto quelli ripetitivi
Automatizzare i Processi, connettendo task e decisioni
Automatizzare Delivery e Deployment, in funzione del Business
Trigger Decisionali, sfruttando Analytics e Monitoraggio delle Applicazioni
I Valori portanti di DevOps
RISPONDERE AL CAMBIAMENTO
più che seguire un piano
SOFTWARE FUNZIONANTE
più che documentazione esaustiva
COLLABORAZIONE COL CLIENTE
più che negoziazione dei contratti
INDIVIDUI E INTERAZIONI
più che processi e strumenti
OVERALL SERVICE
più che documentazione esaustiva
Il Focus è sulla Soluzione funzionante e pronta per essere usata dal cliente!
Da dove partire con la propria DevOps Transformation?
Investire su Formazione,
Comunicazioni e capacità Cross- Skilling
Valutare nuovi Processi e Tool avanzati per supportare DevOps
Rivalutare, modificare e migliorare il ciclo di
Delivery e Deployment
Valutare nuove Pratiche e Tecniche a supporto di DevOps
Sperimentare i cambiamenti in modo
localizzato: Singola Area Aziendale, Progetto Pilota
Microsoft Release Management
Release Management
DevOps con Release Manager e Visual Studio
Release Planning• Definire come, cosa, quando e dove effettuare il rilascio;
Release Definition• Definire la release pipeline e il workflow di approvazione;
Environment management• Provisioning, configurazione e teardown di ambienti
virtuali o fisici;
Deployment Automation• Automatizzare l’effettiva messa in erogazione della
Soluzione;
Track Status and Progress• Monitorare lo stato e garantire strumenti di alert e
rollback.
Completa integrazione con gli strumenti di VisualStudio Online/TFS (Source Control,
Build, ecc…)
Configurazione dettagliata delle singole componenti del processo di
Delivery/Deploy
Definizione dei gruppi che possono creare, editare ed eseguire il processo di Release
Release Management: Path DefinitionConfigurazione
dell’ambiente di delivery
Definire gli ambienti e i relativi server su cui effettuare il delivery
Definire, per ogni ambiente, gli step di approvazione
Configurazione del Path di release
Release Management: Release TemplateScelta di uno dei Path
precedentemente definiti
Definire il Workflow di delivery per ognuno degli
ambienti impostati nel Path
Definire il flusso completo in funzione dello specifico progetto
Definire le azioni da intraprendere specificamente per il tipo di ambiente
Release Management: Release Monitoring
Identificare i problemi e i pattern comuni
nell’attività di delivery
Verificare lo stato del delivery per ogni
ambiente
Visualizzazione dello stato e degli eventuali problemi sulla pipeline di release
Monitoraggio del progresso di ogni release
Release Management: Infrastructure
Team Foundation Server Drop Location
RM ClientRM Web
QA
DEV
RM Server
1. Deploy Release Management Server
2. Installare i Deployment Agent
3. Configurare Release Management Server
4. Configurare la pipeline di release: Path, Template, ecc…
Continuos Delivery con Visual Studio & Azure
Utile per piccoli progetti e custom demo su ambienti specifici
Delivery diretto dalla propria postazione di lavoro
DevOps, do and repeat it!
• Parlarsi!• Misurare;• Gestire la complessità, ma non abituarsi ad essa;• Creare micro-processi che accompagnano l’intero ciclo
rilascio;• Procedere con piccoli esperimenti (Lean Change);• Iniziare con un processo di rilascio condiviso;• Automatizzare il processo di rilascio;• Creare molti punti di feedback;• Cambiare il sistema di incentivazione in funzione dei
risultati generali;• Adattare l’organizzazione.
About me…
felicepescatore.it
@felicepescatore
Felice PescatoreAgile@Scale Italy Group
getlatestversion
Risorse e Riferimenti
Agile Application Lifecycle Management con VSO/TFS
Agile@Scale: visione olistica del valoreLean Philosophy Introduzione a KanbanApplication Lifecycle Management (ALM) con VSO
The Phoenix Project: A Novel
About IT, DevOps, and Helping Your Business Win Gene Kim, Kevin
Behr, George Spafford
What is DevOps?Mike Loukides
Lean Change Management
Jason Little