SlideShare ist ein Scribd-Unternehmen logo
1 von 35
getlatestversion
DevOps: l'IT al servizio del Business
Felice Pescatore
felicepecatore.it
@felicepescatore
DevOps Elephant!
Lean, Agile and DevOps
The Three Ways of DevOps
La Cultura al centro di tutto
DevOps: Goal, Principi e Pratiche
Tools
Risorse e Riferimenti
Agenda
DevOps Elephant!
…a movement, a philosophy, a way of thinking;
…is a person who can perform both Dev/Ops roles;
…means cross skilling people;
…is continuous delivery;
…is a job title;
…is automation;
…is a team of developers and operation staff;
…is a culture movement;
…is monitoring.
DevOps is…
It’s DevOps!
It’s DevOps!
It’s DevOps!
It’s DevOps!
DevOps
DevOps è un approccio Culturale in cui l’intera Line of Business si
assume la responsabilità della creazione di Valore per il cliente.
In tale scenario, Developers e Operations sperimentano continuamente
nuovi modi di lavorare insieme, andando a standardizzare e
padroneggiare i processi attraverso la ripetitività e la pratica.
DevOps: Delivery Enhanced Values Over Processes Smells [f.p.]
DevOps….
…non sostituisce un approccio
Agile
Viene esteso il concetto di “Done”: quanto realizzato è considerato completato
solo quando i test di accettazione sono superati ed è in erogazione.
…non significa NoOps
…non è applicabile solo al
mondo dell’Open Source
Entrambi spingono ad automatizzare quanto più possibile processi, configurazioni,
deployment, e contemplano una governance di Change Management.
I sistemisti non diventano “inutili” ma innalzano l’asticella delle proprie
competenze e delle proprie attività.
…non rimpiazza la
metodologia ITIL
…non è solo “infrastructure as
a code” o automazione
…non è solo per le Startup e le
Unicorn
Soluzioni applicative per DevOps esistono sia in ambito commerciale che
OpenSource, quest’ultimo spesso laboratorio di nuove idee.
Il cuore di questo approccio è la condivisione degli obiettivi lungo l’intero
Stream di Valore che sottende la realizzazione di soluzioni IT.
DevOps è un approccio applicabile a qualsiasi realtà aziendale, soprattutto
quelle che riconoscono nell’IT la propria dorsale di supporto.
Lean, Agile and DevOps
LEAN
Value Stream – End-to-End Flow
Solution Vision & Customer Delivery
[Lean Startup, Running Lean]
Agile Solution Development
[Scrum, Kanban] [XP, TDD]
Solution Delivery
[Continuous Delivery e Deployment]
Values
and
Principles
Practices
DevOps
Portfolio management
Business process management
Big Data/Analytics
Idea
Value
AGILE @Scale Framework
(SAFe, DAD, LeSS, Nexus)
Consistent
Environment
Individualmente, nessuno di questi approcci è in grado di ottimizzare la creazione del Valore nel complesso.
Bisogna adottarli all’unisono per migliorare il proprio business.
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
Deploy
Delivery
UAT & QA
OPS
Agile Team
The Three Ways of DevOps
DEV
OPS
BUSINESS
The First Way: System Thinking
The Second Way: Amplify Feedback Loop
The Third Way: Culture of Continual Experimentation
and Learning
CULTURA
CUSTOMER
Con DevOps si vuole creare un approccio Culturale
focalizzato sul Delivery di Valore per il cliente, invece
di prendersi cura solo dei problemi tecnici .
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
Comunicazione Integrazione AutomazioneCollaborazione
Comunicazione e Integrazione
Comunicazione
Integrazione
Unico value-path per Sviluppo, Operation… e il resto dall’azienda
Migliorare e automatizzare i processi
Rimuovere gli Ostacoli e i Colli di Bottiglia
Favorire il flusso informativo dall’Idea alla Consegna al cliente
Creare Loop di Feedback ad ogni fase
Abbattere 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
Collaborazione e Automazione
Collaborazione
Relazioni 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
Uso di strumenti di Visual Management / Information Radiator
Automazione
Automatizzare l’esecuzione dei Task ripetitivi
Automatizzare i Processi, connettendo task e decisioni
Automatizzare Delivery e Deployment
Trigger Decisionali sfruttando Analytics e Monitoraggio
Shorten
Cycle Time
Optimize
Resources
Improve
Quality and
Availability
DevOps: Goal, Principi e Pratiche
Evidenziare sempre i problemi e risolverli velocemente;
Build Quality in, software di qualità;
«Done» significa «Rilasciato»;
Tutti sono responsabili per il Delivery e il Deployment;
Continuous Improvement: miglioramento continuo.
Principi
Creare processi affidabili, ripetibili, versionabili e verificabili;
Automatizzare il più possibile i diversi step del processo;
Gli Script sono la vera documentazione up-to-date;
Tutti gli elementi del progetto vanno nel sistema di source control;
Le build avvengono sempre e solo dal codice sorgente;
Configurazione automatica degli ambienti
Pratiche
DevOps Goal
Shorten Cycle Time
Passare in modo efficace da lunghi cicli di
rilascio a rilasci settimanali o giornalieri
indispensabili per supportare adeguatamente i
clienti e le trasformazione del business.
Full Application Lifecycle Management
Continuous
Delivery
Continuous
Deployment
Agile
Project
Manag.
IDE
Version
Control
System
Continuous
Integration
Agile Project Management and Development
Agile Team
Analysis + Design
Development
Testing
1 2 3 4 n
Integration
Quality + Acceptance Test
Release
Operation
Ops
Agile Deployment Pipeline: the «last mile»
Customer
& Business
Agile Team & QA Team
Agile Project Management and Development
I tool di Agile Project Management consento di gestire le varie fasi di
sviluppo legando direttamente i vari artefatti alle attività annesse al processo.
Un Integrated Development Environment è un ambiente omnicomprensivo
che permette di sviluppare nel linguaggio di riferimento, sfruttando le
funzionalità dei framework interconnettendosi con i vari sistemi a supporto.
Agile Project
Management
IDE
Version Control
System
Un Version Control System (VCS) consente una gestione efficace della propria
code-base, persistendo i file, tracciando le modifiche e gestendo l’history di
sviluppo.
L’Agile Deployment Pipeline (ADP) descrive il processo
che porta il software dal version control system nelle
«mani» dell’utente finale.
Si tratta di un concetto ispirato dal “Value Stream
Maps” di Lean Software Development: ogni step
produce un output che è prelevato (pull) dallo step
successivo quando è pronto ad elaborarlo.
L’ADP è anche nota come Continuous Integration
Pipeline, build pipeline, ecc
Agile Deployment Pipeline: the «last mile»
.
Agile Project
Management
IDE
Version Control
System
Continuous Integration
Continuous Delivery
Continuous Deployment
The «last mile»
La Continuous Integration è una pratica di sviluppo software dove i membri
di un team integrano il lavoro frequentemente, almeno una volta al giorno.
La Continuous Delivery è un set di principi e di pratiche volte a rilasciare il
software in ambiente di pre-produzione, velocemente e frequentamene,
sfruttando strumenti automatizzati di building e testing.
La Continuous Deployment è la fase successiva alla Continuous Delivery,
incentrata sul rilascio automatizzato in ambiente di produzione della
soluzione precedentemente convalidata in pre-prod. Solo le build che
superano gli UAT e i QA Test vengono messe in erogazione automaticamente.
Continuous Integration
Continuous Delivery
Continuous Deployment
Agile Deployment Pipeline: automation levels
build
unit
tests
integration
tests
validation
tests
deploy to
production
build
unit
tests
integration
tests
build
unit
tests
integration
tests
validation
tests
Continuos Integration
Code Unit Test +
Integration Build +
Integration Test
Continuous Delivery
Continuous Integration +
QA Test & ATDD
Continuos Deployment
Continuos Delivery +
automatic deploy in prod
Manual Actions
Manual Actions
Agile Deployment Pipeline Trigger
Continuos Integration Continuous Delivery Cont. Deployment
L’«ultimo miglio» nella realtà
La Continuous Integration è relativamente semplice da implementare:
è tutta una questione di comunicazione, vista la maturità dei tool.
La Continuous Delivery è difficile, ma un po' tutte le software house trovano
una soluzione contestuale per adottarla:
• alcune cose sono difficili da testare in modo automatico;
• è necessario avere dei tecnici dedicati alla scrittura di parte dei test.
La Continuous Deployment è adottata molto raramente
• i Clienti non la vogliono;
• inadatta alle soluzioni Mission Critical.
Continuous Integration
Continuous Delivery
Continuous Deployment
Optimize Resurces
DevOps Goal
Condividere la comprensione della pipeline
di rilascio in modo che ognuno possa
svolgere al meglio il proprio lavoro.
Ogni membro del team deve disporre di una workstation con IDE e strumenti appropriati
al proprio ruolo per essere sempre produttivo.
I team progettano, sviluppano e dispiegano le applicazioni utilizzando una suite
integrata per la gestione del ciclo di vita della soluzione.
E’ fondamentale disporre di ambienti di pre-produzione per lo sviluppo, l’integrazione e
l’esecuzione dei test di Quality Assurance e di Accettazione.
Developer Workstation
Team Collaboration Environment
Dev and Test Environments
Cloud Services for Development
Sfruttare servizi cloud-oriented, public o on-premise.
Software Development Infrastructure
High Cost
Inability to
Delivery Value
Deploying Software
Manually
Software Development Infrastructure Issue
Mantenere un’efficace infrastruttura di sviluppo e test può
diventare costoso.
Processi lunghi e burocratizzati minano la capacita del
team di consegnare Valore.
Il Deploy Manuale è un anti-pattern, che incide negativamente
sulla creazione di Valore.
Improve Quality and
Availability
DevOps Goal
Essere confidenti che si sta propriamente
tracciando, gestendo e monitorando il ciclo
di rilascio.
Improve quality & availability
Plan
Develop & test Release
Monitor & learn
All stakeholders
Developers
& testers
Operations
Hypothesis-Driven Development
La Hypothesis-Driven Development è un approccio allo sviluppo che
si basa su una serie di continui esperimenti al fine di determinare se
un’idea è valida o fino all’ottenimento del risultato desiderato.
Le ipotesi vengono testate nel giro di ore grazie alle pratiche di
Continuous Delivery (Deployment) e gli strumenti di Monitoring
We believe <that if we write a blog post on our new product>
Will result in <people that will want to buy it>
We will have confidence to proceed when <30 people sign up within 24 hours>
Continuous Learning
Parlarsi!
Misurare
Gestire la complessità senza abituarsi ad essa
Creare micro-processi che accompagnano
l’intero ciclo rilascio
Procedere con piccoli esperimenti
Automatizzare il processo di rilascio
Iniziare con un processo di rilascio condiviso
Creare molti punti di feedback
Cambiare il sistema di incentivazione in
funzione dei risultati generali
Adattare l’organizzazione
Eliminating Waste: do and repeat it!
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
DevOps Tools
Platform and Stand-alone
Per raggiungere un alto livello di automazione,
andando a ridurre gli errori, è imprescindibile
l’utilizzo di adeguati strumenti a supporto.
DevOps Tools Families
Configuration Manager
Software
Provisioning Software
Packaging Software
Consentono di definire da codice lo stato di una specifica macchina,
andando ad esplicitare la configurazione, il software installato, ecc..
Consentono di istanziare una macchina virtuale da codice e configurarla a
livello di sistema operativo. Si interfacciano con i Configuration Manager
Software per completarne la configurazione applicativa.
Consentono di impacchettare il software in un’unità atomica
auto contenuta.
Monitoring Software
Consentono di monitorare il corretto funzionamento del
software e segnalare le relative anomalie
DevOps Tools Families
Configuration Management Server Image Provisioning
Package Management
(Container Management)
PowerShell DSC
Drawbridge
LXD
VORTEX
Monitoring
Microsoft DevOps Platform
Risorse e Riferimenti
DevOps Jump Start - L'approccio DevOps
Agile Application Lifecycle Management con VSO/TFS
Pubblicare un package nuget grazie alla build
Gestire la Semantic Versioning con GitFlow e GitVersion in
una vNext Build
Lean Startup, Jump Start!
Agile@Scale: visione olistica del valore
Lean Philosophy
Introduzione a Kanban
Application Lifecycle Management (ALM) con VSO
getlatestversion
Grazie agli sponsor
http://bit.ly/DOAW16FEED1
Dedicateci 2 minuti del vostro tempo,
e ci aiuterete a crescere e migliorare!
Track Intro
http://bit.ly/DOAW16FEED2
Track Avanzata

Weitere ähnliche Inhalte

Was ist angesagt?

ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
Simone Onofri
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum Ita
Luciano Benetti
 

Was ist angesagt? (20)

Agile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software developmentAgile Lean Conference 2016 - Barengo _I principi del lean software development
Agile Lean Conference 2016 - Barengo _I principi del lean software development
 
Agile Lean Conference 2016 - Paragano_Agile per vincere le resistenze
Agile Lean Conference 2016 - Paragano_Agile per vincere le resistenzeAgile Lean Conference 2016 - Paragano_Agile per vincere le resistenze
Agile Lean Conference 2016 - Paragano_Agile per vincere le resistenze
 
Agile methodologies
Agile methodologiesAgile methodologies
Agile methodologies
 
Agile Lean Conference 2016 - Simone Onofri & Claudia Spagnuolo - Agile, Lean...
Agile Lean Conference 2016 -  Simone Onofri & Claudia Spagnuolo - Agile, Lean...Agile Lean Conference 2016 -  Simone Onofri & Claudia Spagnuolo - Agile, Lean...
Agile Lean Conference 2016 - Simone Onofri & Claudia Spagnuolo - Agile, Lean...
 
Certificazione Agile PMI-ACP
Certificazione Agile PMI-ACPCertificazione Agile PMI-ACP
Certificazione Agile PMI-ACP
 
Agile e Lean Management
 Agile e Lean Management Agile e Lean Management
Agile e Lean Management
 
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
 
Quando il project management si fa agile
Quando il project management si fa agileQuando il project management si fa agile
Quando il project management si fa agile
 
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
2015 mag 28 PMI Rome Agile Project Management - Agile tra Sviluppo e Esercizio
 
Agile Lean Conference 2015 - Agile, Lean & Business (Onofri & Spagnuolo)
Agile Lean Conference 2015 -  Agile, Lean & Business (Onofri & Spagnuolo)Agile Lean Conference 2015 -  Agile, Lean & Business (Onofri & Spagnuolo)
Agile Lean Conference 2015 - Agile, Lean & Business (Onofri & Spagnuolo)
 
Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 
Lean Agile Development - a war story (Better Software 2010)
Lean Agile Development - a war story (Better Software  2010)Lean Agile Development - a war story (Better Software  2010)
Lean Agile Development - a war story (Better Software 2010)
 
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service ManagementITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
ITSMF Conferenza 2014 - L'officina Agile per innovare l'IT Service Management
 
Impatti dell'introduzione di Scrum
Impatti dell'introduzione di ScrumImpatti dell'introduzione di Scrum
Impatti dell'introduzione di Scrum
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum Ita
 
Agile Lean Conference 2016 - Scatena _ Agile e marketing
Agile Lean Conference 2016 -   Scatena _ Agile e marketingAgile Lean Conference 2016 -   Scatena _ Agile e marketing
Agile Lean Conference 2016 - Scatena _ Agile e marketing
 
Agile@core - Scrum
Agile@core - ScrumAgile@core - Scrum
Agile@core - Scrum
 
Lean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project ManagementLean Startup Machine - Rome - Agile e Lean Project Management
Lean Startup Machine - Rome - Agile e Lean Project Management
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 

Andere mochten auch

Devops the Microsoft Way
Devops the Microsoft WayDevops the Microsoft Way
Devops the Microsoft Way
Patrick Chanezon
 

Andere mochten auch (11)

Introduction to devops - update 2017
Introduction to devops - update 2017Introduction to devops - update 2017
Introduction to devops - update 2017
 
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011Devops at SlideShare: Talk at Devopsdays Bangalore 2011
Devops at SlideShare: Talk at Devopsdays Bangalore 2011
 
How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015How open source is driving DevOps innovation: CloudOpen NA 2015
How open source is driving DevOps innovation: CloudOpen NA 2015
 
Building the Baltimore DevOps Community
Building the Baltimore DevOps CommunityBuilding the Baltimore DevOps Community
Building the Baltimore DevOps Community
 
Devops the Microsoft Way
Devops the Microsoft WayDevops the Microsoft Way
Devops the Microsoft Way
 
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 StepsWSO2Con USA 2017: DevOps Best Practices in 7 Steps
WSO2Con USA 2017: DevOps Best Practices in 7 Steps
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 
DevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerDevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for Docker
 
DevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than TechnologyDevOps: A Culture Transformation, More than Technology
DevOps: A Culture Transformation, More than Technology
 
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
 
Beyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the GapBeyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the Gap
 

Ähnlich wie DevOps: l'IT al servizio del Business

Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
PMexpo
 
TIGPaper_DevOps_170615 Final
TIGPaper_DevOps_170615 FinalTIGPaper_DevOps_170615 Final
TIGPaper_DevOps_170615 Final
Elena Vaciago
 

Ähnlich wie DevOps: l'IT al servizio del Business (20)

DevOps Jump Start
DevOps Jump StartDevOps Jump Start
DevOps Jump Start
 
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
 
XPeppers e AWS
XPeppers e AWSXPeppers e AWS
XPeppers e AWS
 
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAbilitare le organizzazioni e le persone ad adottare con successo il Cloud
Abilitare le organizzazioni e le persone ad adottare con successo il Cloud
 
TIGPaper_DevOps_170615 Final
TIGPaper_DevOps_170615 FinalTIGPaper_DevOps_170615 Final
TIGPaper_DevOps_170615 Final
 
DevOps - Come diventare un buon DevOpper
DevOps -  Come diventare un buon DevOpperDevOps -  Come diventare un buon DevOpper
DevOps - Come diventare un buon DevOpper
 
DAD e Visual Studio Online
DAD e Visual Studio OnlineDAD e Visual Studio Online
DAD e Visual Studio Online
 
PASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous DeploymentPASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous Deployment
 
Disciplined Agile 2.1
Disciplined Agile 2.1Disciplined Agile 2.1
Disciplined Agile 2.1
 
DevOps e Outsourcing
DevOps e OutsourcingDevOps e Outsourcing
DevOps e Outsourcing
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio Devops
 
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
 
05 azure well architected framework
05 azure well architected framework05 azure well architected framework
05 azure well architected framework
 
Evolutive User Experience Design
Evolutive User Experience DesignEvolutive User Experience Design
Evolutive User Experience Design
 
Digital Transformation - Lean It Consulting
Digital Transformation - Lean It ConsultingDigital Transformation - Lean It Consulting
Digital Transformation - Lean It Consulting
 
2013 why agile
2013 why agile2013 why agile
2013 why agile
 
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
 
Alm assessment, a che livello siete?
Alm assessment, a che livello siete?Alm assessment, a che livello siete?
Alm assessment, a che livello siete?
 
Netspin Lab soluzioni per le aziende
Netspin Lab soluzioni per le aziendeNetspin Lab soluzioni per le aziende
Netspin Lab soluzioni per le aziende
 

Mehr von Felice Pescatore

Mehr von Felice Pescatore (20)

Il Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoIl Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista Imbruttito
 
Intelligent Business Agility
Intelligent Business AgilityIntelligent Business Agility
Intelligent Business Agility
 
AgileBIM, BIM mets Agile
AgileBIM, BIM mets AgileAgileBIM, BIM mets Agile
AgileBIM, BIM mets Agile
 
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioDisciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il Prestigio
 
AgileBIM overview
AgileBIM overviewAgileBIM overview
AgileBIM overview
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioPMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
 
Agilozzi le testa tutte
Agilozzi le testa tutteAgilozzi le testa tutte
Agilozzi le testa tutte
 
39bit al secondo
39bit al secondo39bit al secondo
39bit al secondo
 
Un cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàUn cuore moderno per l'Agilità
Un cuore moderno per l'Agilità
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
 
#NoElevator4DevOps
#NoElevator4DevOps#NoElevator4DevOps
#NoElevator4DevOps
 
Don't Dirty my Backlog!
Don't Dirty my Backlog!Don't Dirty my Backlog!
Don't Dirty my Backlog!
 
Industry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaIndustry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in Italia
 
Agile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileAgile IoT & Eclipse Duttile
Agile IoT & Eclipse Duttile
 
Fuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFuffa Day - The Sixth Sense
Fuffa Day - The Sixth Sense
 
#NoElevator for DevOps
#NoElevator for DevOps#NoElevator for DevOps
#NoElevator for DevOps
 
Value Focused Team
Value Focused TeamValue Focused Team
Value Focused Team
 
Value Focused Team: road to DevOps
Value Focused Team: road to DevOpsValue Focused Team: road to DevOps
Value Focused Team: road to DevOps
 

DevOps: l'IT al servizio del Business

  • 1. getlatestversion DevOps: l'IT al servizio del Business Felice Pescatore felicepecatore.it @felicepescatore
  • 2. DevOps Elephant! Lean, Agile and DevOps The Three Ways of DevOps La Cultura al centro di tutto DevOps: Goal, Principi e Pratiche Tools Risorse e Riferimenti Agenda
  • 3. DevOps Elephant! …a movement, a philosophy, a way of thinking; …is a person who can perform both Dev/Ops roles; …means cross skilling people; …is continuous delivery; …is a job title; …is automation; …is a team of developers and operation staff; …is a culture movement; …is monitoring. DevOps is… It’s DevOps! It’s DevOps! It’s DevOps! It’s DevOps!
  • 4. DevOps DevOps è un approccio Culturale in cui l’intera Line of Business si assume la responsabilità della creazione di Valore per il cliente. In tale scenario, Developers e Operations sperimentano continuamente nuovi modi di lavorare insieme, andando a standardizzare e padroneggiare i processi attraverso la ripetitività e la pratica. DevOps: Delivery Enhanced Values Over Processes Smells [f.p.]
  • 5. DevOps…. …non sostituisce un approccio Agile Viene esteso il concetto di “Done”: quanto realizzato è considerato completato solo quando i test di accettazione sono superati ed è in erogazione. …non significa NoOps …non è applicabile solo al mondo dell’Open Source Entrambi spingono ad automatizzare quanto più possibile processi, configurazioni, deployment, e contemplano una governance di Change Management. I sistemisti non diventano “inutili” ma innalzano l’asticella delle proprie competenze e delle proprie attività. …non rimpiazza la metodologia ITIL …non è solo “infrastructure as a code” o automazione …non è solo per le Startup e le Unicorn Soluzioni applicative per DevOps esistono sia in ambito commerciale che OpenSource, quest’ultimo spesso laboratorio di nuove idee. Il cuore di questo approccio è la condivisione degli obiettivi lungo l’intero Stream di Valore che sottende la realizzazione di soluzioni IT. DevOps è un approccio applicabile a qualsiasi realtà aziendale, soprattutto quelle che riconoscono nell’IT la propria dorsale di supporto.
  • 6. Lean, Agile and DevOps LEAN Value Stream – End-to-End Flow Solution Vision & Customer Delivery [Lean Startup, Running Lean] Agile Solution Development [Scrum, Kanban] [XP, TDD] Solution Delivery [Continuous Delivery e Deployment] Values and Principles Practices DevOps Portfolio management Business process management Big Data/Analytics Idea Value AGILE @Scale Framework (SAFe, DAD, LeSS, Nexus) Consistent Environment Individualmente, nessuno di questi approcci è in grado di ottimizzare la creazione del Valore nel complesso. Bisogna adottarli all’unisono per migliorare il proprio business.
  • 7. 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 Deploy Delivery UAT & QA OPS Agile Team
  • 8. The Three Ways of DevOps DEV OPS BUSINESS The First Way: System Thinking The Second Way: Amplify Feedback Loop The Third Way: Culture of Continual Experimentation and Learning CULTURA CUSTOMER Con DevOps si vuole creare un approccio Culturale focalizzato sul Delivery di Valore per il cliente, invece di prendersi cura solo dei problemi tecnici .
  • 9. 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 Comunicazione Integrazione AutomazioneCollaborazione
  • 10. Comunicazione e Integrazione Comunicazione Integrazione Unico value-path per Sviluppo, Operation… e il resto dall’azienda Migliorare e automatizzare i processi Rimuovere gli Ostacoli e i Colli di Bottiglia Favorire il flusso informativo dall’Idea alla Consegna al cliente Creare Loop di Feedback ad ogni fase Abbattere 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
  • 11. Collaborazione e Automazione Collaborazione Relazioni 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 Uso di strumenti di Visual Management / Information Radiator Automazione Automatizzare l’esecuzione dei Task ripetitivi Automatizzare i Processi, connettendo task e decisioni Automatizzare Delivery e Deployment Trigger Decisionali sfruttando Analytics e Monitoraggio
  • 12. Shorten Cycle Time Optimize Resources Improve Quality and Availability DevOps: Goal, Principi e Pratiche Evidenziare sempre i problemi e risolverli velocemente; Build Quality in, software di qualità; «Done» significa «Rilasciato»; Tutti sono responsabili per il Delivery e il Deployment; Continuous Improvement: miglioramento continuo. Principi Creare processi affidabili, ripetibili, versionabili e verificabili; Automatizzare il più possibile i diversi step del processo; Gli Script sono la vera documentazione up-to-date; Tutti gli elementi del progetto vanno nel sistema di source control; Le build avvengono sempre e solo dal codice sorgente; Configurazione automatica degli ambienti Pratiche
  • 13. DevOps Goal Shorten Cycle Time Passare in modo efficace da lunghi cicli di rilascio a rilasci settimanali o giornalieri indispensabili per supportare adeguatamente i clienti e le trasformazione del business.
  • 14. Full Application Lifecycle Management Continuous Delivery Continuous Deployment Agile Project Manag. IDE Version Control System Continuous Integration Agile Project Management and Development Agile Team Analysis + Design Development Testing 1 2 3 4 n Integration Quality + Acceptance Test Release Operation Ops Agile Deployment Pipeline: the «last mile» Customer & Business Agile Team & QA Team
  • 15. Agile Project Management and Development I tool di Agile Project Management consento di gestire le varie fasi di sviluppo legando direttamente i vari artefatti alle attività annesse al processo. Un Integrated Development Environment è un ambiente omnicomprensivo che permette di sviluppare nel linguaggio di riferimento, sfruttando le funzionalità dei framework interconnettendosi con i vari sistemi a supporto. Agile Project Management IDE Version Control System Un Version Control System (VCS) consente una gestione efficace della propria code-base, persistendo i file, tracciando le modifiche e gestendo l’history di sviluppo.
  • 16. L’Agile Deployment Pipeline (ADP) descrive il processo che porta il software dal version control system nelle «mani» dell’utente finale. Si tratta di un concetto ispirato dal “Value Stream Maps” di Lean Software Development: ogni step produce un output che è prelevato (pull) dallo step successivo quando è pronto ad elaborarlo. L’ADP è anche nota come Continuous Integration Pipeline, build pipeline, ecc Agile Deployment Pipeline: the «last mile» . Agile Project Management IDE Version Control System Continuous Integration Continuous Delivery Continuous Deployment
  • 17. The «last mile» La Continuous Integration è una pratica di sviluppo software dove i membri di un team integrano il lavoro frequentemente, almeno una volta al giorno. La Continuous Delivery è un set di principi e di pratiche volte a rilasciare il software in ambiente di pre-produzione, velocemente e frequentamene, sfruttando strumenti automatizzati di building e testing. La Continuous Deployment è la fase successiva alla Continuous Delivery, incentrata sul rilascio automatizzato in ambiente di produzione della soluzione precedentemente convalidata in pre-prod. Solo le build che superano gli UAT e i QA Test vengono messe in erogazione automaticamente. Continuous Integration Continuous Delivery Continuous Deployment
  • 18. Agile Deployment Pipeline: automation levels build unit tests integration tests validation tests deploy to production build unit tests integration tests build unit tests integration tests validation tests Continuos Integration Code Unit Test + Integration Build + Integration Test Continuous Delivery Continuous Integration + QA Test & ATDD Continuos Deployment Continuos Delivery + automatic deploy in prod Manual Actions Manual Actions
  • 19. Agile Deployment Pipeline Trigger Continuos Integration Continuous Delivery Cont. Deployment
  • 20. L’«ultimo miglio» nella realtà La Continuous Integration è relativamente semplice da implementare: è tutta una questione di comunicazione, vista la maturità dei tool. La Continuous Delivery è difficile, ma un po' tutte le software house trovano una soluzione contestuale per adottarla: • alcune cose sono difficili da testare in modo automatico; • è necessario avere dei tecnici dedicati alla scrittura di parte dei test. La Continuous Deployment è adottata molto raramente • i Clienti non la vogliono; • inadatta alle soluzioni Mission Critical. Continuous Integration Continuous Delivery Continuous Deployment
  • 21. Optimize Resurces DevOps Goal Condividere la comprensione della pipeline di rilascio in modo che ognuno possa svolgere al meglio il proprio lavoro.
  • 22. Ogni membro del team deve disporre di una workstation con IDE e strumenti appropriati al proprio ruolo per essere sempre produttivo. I team progettano, sviluppano e dispiegano le applicazioni utilizzando una suite integrata per la gestione del ciclo di vita della soluzione. E’ fondamentale disporre di ambienti di pre-produzione per lo sviluppo, l’integrazione e l’esecuzione dei test di Quality Assurance e di Accettazione. Developer Workstation Team Collaboration Environment Dev and Test Environments Cloud Services for Development Sfruttare servizi cloud-oriented, public o on-premise. Software Development Infrastructure
  • 23. High Cost Inability to Delivery Value Deploying Software Manually Software Development Infrastructure Issue Mantenere un’efficace infrastruttura di sviluppo e test può diventare costoso. Processi lunghi e burocratizzati minano la capacita del team di consegnare Valore. Il Deploy Manuale è un anti-pattern, che incide negativamente sulla creazione di Valore.
  • 24. Improve Quality and Availability DevOps Goal Essere confidenti che si sta propriamente tracciando, gestendo e monitorando il ciclo di rilascio.
  • 25. Improve quality & availability Plan Develop & test Release Monitor & learn All stakeholders Developers & testers Operations
  • 26. Hypothesis-Driven Development La Hypothesis-Driven Development è un approccio allo sviluppo che si basa su una serie di continui esperimenti al fine di determinare se un’idea è valida o fino all’ottenimento del risultato desiderato. Le ipotesi vengono testate nel giro di ore grazie alle pratiche di Continuous Delivery (Deployment) e gli strumenti di Monitoring We believe <that if we write a blog post on our new product> Will result in <people that will want to buy it> We will have confidence to proceed when <30 people sign up within 24 hours>
  • 28. Parlarsi! Misurare Gestire la complessità senza abituarsi ad essa Creare micro-processi che accompagnano l’intero ciclo rilascio Procedere con piccoli esperimenti Automatizzare il processo di rilascio Iniziare con un processo di rilascio condiviso Creare molti punti di feedback Cambiare il sistema di incentivazione in funzione dei risultati generali Adattare l’organizzazione Eliminating Waste: do and repeat it! 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
  • 29. DevOps Tools Platform and Stand-alone Per raggiungere un alto livello di automazione, andando a ridurre gli errori, è imprescindibile l’utilizzo di adeguati strumenti a supporto.
  • 30. DevOps Tools Families Configuration Manager Software Provisioning Software Packaging Software Consentono di definire da codice lo stato di una specifica macchina, andando ad esplicitare la configurazione, il software installato, ecc.. Consentono di istanziare una macchina virtuale da codice e configurarla a livello di sistema operativo. Si interfacciano con i Configuration Manager Software per completarne la configurazione applicativa. Consentono di impacchettare il software in un’unità atomica auto contenuta. Monitoring Software Consentono di monitorare il corretto funzionamento del software e segnalare le relative anomalie
  • 31. DevOps Tools Families Configuration Management Server Image Provisioning Package Management (Container Management) PowerShell DSC Drawbridge LXD VORTEX Monitoring
  • 33. Risorse e Riferimenti DevOps Jump Start - L'approccio DevOps Agile Application Lifecycle Management con VSO/TFS Pubblicare un package nuget grazie alla build Gestire la Semantic Versioning con GitFlow e GitVersion in una vNext Build Lean Startup, Jump Start! Agile@Scale: visione olistica del valore Lean Philosophy Introduzione a Kanban Application Lifecycle Management (ALM) con VSO getlatestversion
  • 35. http://bit.ly/DOAW16FEED1 Dedicateci 2 minuti del vostro tempo, e ci aiuterete a crescere e migliorare! Track Intro http://bit.ly/DOAW16FEED2 Track Avanzata

Hinweis der Redaktion

  1. Gene Kim propone i “The Three Ways”, un set di principi basilari utili a guidare l’azienda nella propria e specifica trasformazione:
  2. Cycle Time è il tempo impiegato per ogni singola attività. Da non confondersi con i Lead Time pari al tempo totale per lo sviluppo della nuova unità incrementale, data dal Cycle Time * WIP
  3. Deploy Manuale: richiede molta documentazione che dettaglia ogni singola attività da eseguire; non viene tipicamente avvallato da test in ambienti di pre-produzione simili a quelli di produzione; vengono effettuate correzioni ai package durante il deploy; il deploy non è confermato da test automatizzati; l’attività di rilascio di una nuova versione richiede diverse ore; frequenti rollback per malfunzionamento: sulla mia macchina funzionava! tipicamente fatti di notte.
  4. [Slide goal] Describe how DevOps enables organizations to increase the flow of value by focusing on improving quality and availability [Talk track] Continuous inspection throughout the lifecycle as well as production monitoring enable teams to detect and remediate defects before customers encounter them. Defining acceptance tests along with user stories increases likelihood of detecting a defect early in the lifecycle. Automated unit, performance and acceptance tests throughout the lifecycle improve the chances of detecting a defect before it goes to production. Availability and performance monitoring as well as alerting reduces the mean-time-to-detection (MTTD) if a defect does make it to production. Ensuring development and operations teams have access to the monitoring/alerting production data is vital to driving down MTTD.
  5. [Slide goal] Describe how DevOps enables organizations to increase the flow of value by focusing on hypothesis-driven development and continuous learning. [Talk track] N/A
  6. [Slide goal] Describe how continuous learning can contribute to the flow of value [Talk track] Too often, determining the next set of investments is difficult. Without insights into what customers are really doing, experiencing and achieving, planning becomes mostly guessing - increasing the probability of making poor decisions. By having visibility to usage data, companies can prioritize and validate investment decisions allowing them to continuously learn and improve. Continuous learning and hypothesis-driven development share process patterns, as well as the tools to implement them.