SlideShare a Scribd company logo
1 of 58
Download to read offline
MIA | PLATFORM ACCELERATOR
1
It Starts With a Goal
Principi e Pratiche Efficaci di Continuous Delivery
Riccardo Porrini
MIA | PLATFORM ACCELERATOR
2
Ciao, sono Riccardo
● Tech Leader @ mia-platform
● Work SMARTER, not HARDER
● La differenza la fa COME facciamo le cose
github.com/rporrini
riccardo.porrini@mia-platform.eu
linkedin.com/in/riccardoporrini
MIA | PLATFORM ACCELERATOR
3
Cosa Spero vi Portiate a Casa
● Continuous Delivery non è una questione di scala ...
● … ma è basato su principi e pratiche (Processo)
● Porta beneficio sia al business che agli sviluppatori
MIA | PLATFORM ACCELERATOR
4
Cosa Spero vi Portiate a Casa
● Continuous Delivery non è una questione di scala ...
● … ma è basato su Principi e Pratiche
● Porta beneficio sia al business che agli sviluppatori
MIA | PLATFORM ACCELERATOR
5
Cosa Spero vi Portiate a Casa
● Continuous Delivery non è una questione di scala ...
● … ma è basato su Principi e Pratiche
● Racconto di un’esperienza maturata sul campo
MIA | PLATFORM ACCELERATOR
6
MIA | PLATFORM ACCELERATOR
7
MIA | PLATFORM ACCELERATOR
8
MIA | PLATFORM ACCELERATOR
9
Continuous Delivery
Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
MIA | PLATFORM ACCELERATOR
10
Continuous Delivery
The ability to get changes of all types into the hands of
users, safely and quickly in a sustainable way.
Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
MIA | PLATFORM ACCELERATOR
11
Da un commit alla Produzione
Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
MIA | PLATFORM ACCELERATOR
12
Value Stream
https://www.linux.com/blog/learn/chapter/dev-ops/2017/7/devops-fundamentals-part-2-value-stream
MIA | PLATFORM ACCELERATOR
13
Processo di Rilascio
● Riproducibile
● Affidabile
● Predicibile
● Veloce
Perché fare Continuous Delivery?
Cycle Time Ridotto
● Time to market migliore
● A / B testing
● ...
Qualità
● Verifica automatica
● Stabilità
● ...
MIA | PLATFORM ACCELERATOR
14
Contesto
MIA | PLATFORM ACCELERATOR
15
Anatomia di una API Platform - Prodotto
µ
µ
µ
career@mia-platform.eu
We’re Hiring!
MIA | PLATFORM ACCELERATOR
16
Anatomia di una API Platform - Prodotto
µ
µ
µ
MIA | PLATFORM ACCELERATOR
17
Anatomia di una API Platform - Prodotto
µ
µ
µ
MIA | PLATFORM ACCELERATOR
18
Anatomia di una API Platform - Progetti e Clienti
MIA | PLATFORM ACCELERATOR
19
Anatomia di una API Platform - Progetti e Clienti
MIA | PLATFORM ACCELERATOR
20
Anatomia di una API Platform - Progetti e Clienti
MIA | PLATFORM ACCELERATOR
21
Progetti e Piattaforma - Diversi Cicli di Vita e di Rilascio
tempo
R&D
Cliente A
Cliente B
Platform
Web App
App IOS
App Android
V1 V2
V1 V2 V3 V4
V1
V1 V2
MIA | PLATFORM ACCELERATOR
22
MIA | PLATFORM ACCELERATOR
22
Rilascio Continuo
MIA | PLATFORM ACCELERATOR
23
MIA | PLATFORM ACCELERATOR
23
Rilascio Continuo
MIA | PLATFORM ACCELERATOR
24
Come?
MIA | PLATFORM ACCELERATOR
25
Continuous Delivery - Principi
Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
Work in small batches
Automate almost
everything
Continuous improvement
Everyone is responsible
Build quality in
Done means Released
MIA | PLATFORM ACCELERATOR
26
Routine di Rilascio Giornaliera
MIA | PLATFORM ACCELERATOR
27
Routine di Rilascio Giornaliera
Staging
Production
Feature 1
Feature 2
Bug Fix
Feature 3
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
MIA | PLATFORM ACCELERATOR
28
Routine di Rilascio Giornaliera
Staging
Production
Feature 1
Feature 2
Bug Fix
Feature 3
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
MIA | PLATFORM ACCELERATOR
29
Routine di Rilascio Giornaliera
Staging
Production
Feature 1
Feature 2
Bug Fix
Feature 3
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
MIA | PLATFORM ACCELERATOR
30
Routine di Rilascio Giornaliera
Staging
Production
Feature 1
Feature 2
Bug Fix
Feature 3
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
MIA | PLATFORM ACCELERATOR
31
Verifica e
validazione
Obiettivi giornalieri
Pratiche
Deployment Automatico
Finestre di Rilascio
Versionamento Rigoroso
Limite al batch Work
MIA | PLATFORM ACCELERATOR
32
Obiettivi Giornalieri
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Feature 3
MIA | PLATFORM ACCELERATOR
33
La Board - Cosa Rilasciamo Domani?
● Obiettivi (anche di sprint)
● Rilasci pianificati
Comunica
● fissare un obiettivo giornaliero
Viene utilizzata per
● Giornalmente
● Ogni sprint / iterazione
Viene aggiornata
MIA | PLATFORM ACCELERATOR
34
La Board - Cosa Rilasciamo Domani?
● Qualcuno ne deve essere
responsabile
● Richiede pianificazione
● ... arte nello splittare il lavoro in
pezzi indipendenti tra loro
● … e nel trovare il giusto
bilanciamento tra obiettivi
ambiziosi e realizzabili
Difficoltà
MIA | PLATFORM ACCELERATOR
35
Variazione sul Tema - La Board dei Rilasci
MIA | PLATFORM ACCELERATOR
36
Finestre di Rilascio
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Feature 3
MIA | PLATFORM ACCELERATOR
37
● Dipendenti da applicazione / dominio applicativo
● Sono necessarie nel B2B
● Analizzando il traffico / utilizzo si può trovare quella giusta
● Comprende anche il tempo per eventuali rollback
● Non di sera / notte (se possibile :D)
Finestre di Rilascio
MIA | PLATFORM ACCELERATOR
38
Verifica e Validazione Continua
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Feature 3
MIA | PLATFORM ACCELERATOR
39
Verifica e Validazione Continua
● Test di Accettazione
● Continuous Integration
● Ogni funzionalità validata in Staging in isolamento
● Validazione del Release Candidate una volta rilasciato in Staging
MIA | PLATFORM ACCELERATOR
40
Limite al Batch Work
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Verification
Feature 3
MIA | PLATFORM ACCELERATOR
41
Il Batch Work è il Nostro Peggior Nemico
● Aumenta la possibilità di fallire il rilascio
● In caso di rollback, viene invalidato tutto il lavoro fatto
● La complessità di merge aumenta non linearmente
● Troppo lavoro in parallelo sulla stessa area funzionale è
potenzialmente disastroso
MIA | PLATFORM ACCELERATOR
42
Limite al Batch Work
● Identificare un’ora X oltre la quale “quel che è fatto è fatto”
● Uniche deroghe possibili le funzionalità che attendono verifica
● … o per emergenze
● In prossimità dell’ora X non si aprono nuovi fronti
● Si aiuta a finire quelli aperti
MIA | PLATFORM ACCELERATOR
43
Deployment Automatici
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Feature 3
MIA | PLATFORM ACCELERATOR
44
Un buon processo di Deployment
● Automatico
● Comprende anche l’infrastruttura
● Tutti sanno come attivarlo
● Permette il rollback (e.g., re-deployment di una versione precedente)
● Disaccoppiato dalla build dell’artefatto da deployare
● Uguale per tutti gli ambienti
MIA | PLATFORM ACCELERATOR
45
Versionamento Rigoroso
Staging
Production
Feature 1
Feature 2
Bug Fix
merge
V1 V2
17:30 18:309:459:30
Stand-up meeting
Verification
Feature 3
MIA | PLATFORM ACCELERATOR
46
Tracciabilità
● Dobbiamo essere sicuri di cosa è rilasciato in ogni ambiente
● Perchè rilasciamo molto spesso in tutti gli ambienti
● Ogni applicazione / servizio espone un numero di versione
MIA | PLATFORM ACCELERATOR
47
In conclusione
MIA | PLATFORM ACCELERATOR
48
Continuous Delivery - Principi e Pratiche
Work in small
batches
Automation almost
everything
Continuous
improvement
Everyone
is responsible
Build quality in Obiettivi giornalieri
Deployment
Automatico
Finestre di Rilascio
Versionamento
Rigoroso
Verifica e
validazione
Limite al batch WorkDone means
Released
MIA | PLATFORM ACCELERATOR
49
Punti Aperti
MIA | PLATFORM ACCELERATOR
50
Branching vs Feature Toggles
MIA | PLATFORM ACCELERATOR
51
● Senza schema è più facile
● Ma rimangono comunque i dati da migrare
● Differenze gestite lato applicativo (un grande vantaggio)
Continuous Delivery Schemi e Dati
MIA | PLATFORM ACCELERATOR
52
MIA | PLATFORM ACCELERATOR
53
MIA | PLATFORM ACCELERATOR
54
Riferimenti Utili
MIA | PLATFORM ACCELERATOR
55
Riferimenti Utili
MIA | PLATFORM ACCELERATOR
56
Grazie!
github.com/rporrini
riccardo.porrini@mia-platform.eu
linkedin.com/in/riccardoporrini
MIA | PLATFORM ACCELERATOR
57
Grazie!
github.com/rporrini
riccardo.porrini@mia-platform.eu
linkedin.com/in/riccardoporrini
career@mia-platform.eu
Continuous Delivery
è la tua ossessione?
We’re Hiring
Dev+Ops!
MIA | PLATFORM ACCELERATOR
58
GetLatestVersion.it

More Related Content

What's hot

5 scrum dalle trincee - principi agili
5   scrum dalle trincee - principi agili5   scrum dalle trincee - principi agili
5 scrum dalle trincee - principi agiliAlessio Del Toro
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013 Fabio Armani
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019rhubbit
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum WorkshopRaoul Buzziol
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Paolo Quaglia
 

What's hot (11)

5 scrum dalle trincee - principi agili
5   scrum dalle trincee - principi agili5   scrum dalle trincee - principi agili
5 scrum dalle trincee - principi agili
 
Dal waterfall allo scrum
Dal waterfall allo scrumDal waterfall allo scrum
Dal waterfall allo scrum
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 
Agile@core - Scrum
Agile@core - ScrumAgile@core - Scrum
Agile@core - Scrum
 
The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019The scrum rules - SMAU Milano 2019
The scrum rules - SMAU Milano 2019
 
La salute del software
La salute del softwareLa salute del software
La salute del software
 
Introduzione a Scrum
Introduzione a ScrumIntroduzione a Scrum
Introduzione a Scrum
 
Daniela Baldo
Daniela BaldoDaniela Baldo
Daniela Baldo
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum Workshop
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
 
Agile methodologies
Agile methodologiesAgile methodologies
Agile methodologies
 

Similar to Riccardo it starts_with_a_goal_DevOps_Heroes_Parma

2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trentoClaudio Saurin
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfFlorence Consulting
 
La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018Claudio Saurin
 
MANAGEMENT DELLA QUALITA'
MANAGEMENT DELLA QUALITA'MANAGEMENT DELLA QUALITA'
MANAGEMENT DELLA QUALITA'GiuliaForconi
 
Riccardo Tempesta - Strumenti di automazione in Magento 2
Riccardo Tempesta - Strumenti di automazione in Magento 2Riccardo Tempesta - Strumenti di automazione in Magento 2
Riccardo Tempesta - Strumenti di automazione in Magento 2Meet Magento Italy
 
Strumenti di automazione in Magento 2
Strumenti di automazione in Magento 2Strumenti di automazione in Magento 2
Strumenti di automazione in Magento 2MageSpecialist
 
Milano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce IntegrationMilano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce IntegrationGonzalo Marcos Ansoain
 
SMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieSMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieMPS Consulting
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto AgileGiancarlo Valente
 
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"Webinar: "Il database: l’equipaggiamento su cui fare affidamento"
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"Emerasoft, solutions to collaborate
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Alexander Minichino
 
MuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfMuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfFlorence Consulting
 
Il BIM come srumento di controllo della fase realizzativa
Il BIM come srumento di controllo della fase realizzativaIl BIM come srumento di controllo della fase realizzativa
Il BIM come srumento di controllo della fase realizzativaBIM group @ University of Padua
 
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...Agile Lean Conference
 
Mocen - CENTRALINE FRENI E PICTH CONTROL
Mocen - CENTRALINE FRENI E PICTH CONTROLMocen - CENTRALINE FRENI E PICTH CONTROL
Mocen - CENTRALINE FRENI E PICTH CONTROLMOCEN Fluid Power
 
Luiss Event Agile Team
Luiss Event Agile TeamLuiss Event Agile Team
Luiss Event Agile TeamEmiliano Soldi
 

Similar to Riccardo it starts_with_a_goal_DevOps_Heroes_Parma (20)

2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento2014 11-21 presentazione breton agile at work - trento
2014 11-21 presentazione breton agile at work - trento
 
Milano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdfMilano Meetups XIII - Official.pdf
Milano Meetups XIII - Official.pdf
 
La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018La dura Agilità - Agile Business Day 2018
La dura Agilità - Agile Business Day 2018
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
MANAGEMENT DELLA QUALITA'
MANAGEMENT DELLA QUALITA'MANAGEMENT DELLA QUALITA'
MANAGEMENT DELLA QUALITA'
 
Riccardo Tempesta - Strumenti di automazione in Magento 2
Riccardo Tempesta - Strumenti di automazione in Magento 2Riccardo Tempesta - Strumenti di automazione in Magento 2
Riccardo Tempesta - Strumenti di automazione in Magento 2
 
Strumenti di automazione in Magento 2
Strumenti di automazione in Magento 2Strumenti di automazione in Magento 2
Strumenti di automazione in Magento 2
 
Milano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce IntegrationMilano Meetup #8 - Testing & Salesforce Integration
Milano Meetup #8 - Testing & Salesforce Integration
 
SMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of DieSMED - Single Minute Exchange of Die
SMED - Single Minute Exchange of Die
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto Agile
 
3DD 1e Reconfig
3DD 1e Reconfig3DD 1e Reconfig
3DD 1e Reconfig
 
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"Webinar: "Il database: l’equipaggiamento su cui fare affidamento"
Webinar: "Il database: l’equipaggiamento su cui fare affidamento"
 
Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...Final presentation of Project Management course (Gestione Progetti Software) ...
Final presentation of Project Management course (Gestione Progetti Software) ...
 
MuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfMuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdf
 
Il BIM come srumento di controllo della fase realizzativa
Il BIM come srumento di controllo della fase realizzativaIl BIM come srumento di controllo della fase realizzativa
Il BIM come srumento di controllo della fase realizzativa
 
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
Agile Lean Conference 2015 - Integrare metodi di gestione progetto tradiziona...
 
Mocen - CENTRALINE FRENI E PICTH CONTROL
Mocen - CENTRALINE FRENI E PICTH CONTROLMocen - CENTRALINE FRENI E PICTH CONTROL
Mocen - CENTRALINE FRENI E PICTH CONTROL
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Luiss Event Agile Team
Luiss Event Agile TeamLuiss Event Agile Team
Luiss Event Agile Team
 

Recently uploaded

GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneServizi a rete
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleServizi a rete
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroServizi a rete
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaServizi a rete
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxtecongo2007
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptxfilippoluciani9
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoServizi a rete
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO AntonioServizi a rete
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoServizi a rete
 

Recently uploaded (9)

GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA SimoneGIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
GIORNATA TECNICA DA AQP 18/04 | MOTTA Simone
 
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO RaffaeleGIORNATA TECNICA 18/04 | LITTERIO Raffaele
GIORNATA TECNICA 18/04 | LITTERIO Raffaele
 
GIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI AlessandroGIORNATA TECNICA 18/04 | BENANTI Alessandro
GIORNATA TECNICA 18/04 | BENANTI Alessandro
 
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO SerenaGIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
GIORNATA TECNICA DA AQP 18/04 | ZONNO Serena
 
Descrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptxDescrizione della struttura architettonica Eretteo.pptx
Descrizione della struttura architettonica Eretteo.pptx
 
Presentzione Matematica similitudini circonferenze e omotetie.pptx
Presentzione  Matematica similitudini circonferenze e omotetie.pptxPresentzione  Matematica similitudini circonferenze e omotetie.pptx
Presentzione Matematica similitudini circonferenze e omotetie.pptx
 
GIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA RobertoGIORNATA TECNICA 18/04 | DE ROSA Roberto
GIORNATA TECNICA 18/04 | DE ROSA Roberto
 
GIORNATA TECNICA 18/04 | DE LEO Antonio
GIORNATA TECNICA 18/04  | DE LEO AntonioGIORNATA TECNICA 18/04  | DE LEO Antonio
GIORNATA TECNICA 18/04 | DE LEO Antonio
 
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI MassimoGIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
GIORNATA TECNICA 18/04 | SPIZZIRRI Massimo
 

Riccardo it starts_with_a_goal_DevOps_Heroes_Parma

  • 1. MIA | PLATFORM ACCELERATOR 1 It Starts With a Goal Principi e Pratiche Efficaci di Continuous Delivery Riccardo Porrini
  • 2. MIA | PLATFORM ACCELERATOR 2 Ciao, sono Riccardo ● Tech Leader @ mia-platform ● Work SMARTER, not HARDER ● La differenza la fa COME facciamo le cose github.com/rporrini riccardo.porrini@mia-platform.eu linkedin.com/in/riccardoporrini
  • 3. MIA | PLATFORM ACCELERATOR 3 Cosa Spero vi Portiate a Casa ● Continuous Delivery non è una questione di scala ... ● … ma è basato su principi e pratiche (Processo) ● Porta beneficio sia al business che agli sviluppatori
  • 4. MIA | PLATFORM ACCELERATOR 4 Cosa Spero vi Portiate a Casa ● Continuous Delivery non è una questione di scala ... ● … ma è basato su Principi e Pratiche ● Porta beneficio sia al business che agli sviluppatori
  • 5. MIA | PLATFORM ACCELERATOR 5 Cosa Spero vi Portiate a Casa ● Continuous Delivery non è una questione di scala ... ● … ma è basato su Principi e Pratiche ● Racconto di un’esperienza maturata sul campo
  • 6. MIA | PLATFORM ACCELERATOR 6
  • 7. MIA | PLATFORM ACCELERATOR 7
  • 8. MIA | PLATFORM ACCELERATOR 8
  • 9. MIA | PLATFORM ACCELERATOR 9 Continuous Delivery Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
  • 10. MIA | PLATFORM ACCELERATOR 10 Continuous Delivery The ability to get changes of all types into the hands of users, safely and quickly in a sustainable way. Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
  • 11. MIA | PLATFORM ACCELERATOR 11 Da un commit alla Produzione Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License
  • 12. MIA | PLATFORM ACCELERATOR 12 Value Stream https://www.linux.com/blog/learn/chapter/dev-ops/2017/7/devops-fundamentals-part-2-value-stream
  • 13. MIA | PLATFORM ACCELERATOR 13 Processo di Rilascio ● Riproducibile ● Affidabile ● Predicibile ● Veloce Perché fare Continuous Delivery? Cycle Time Ridotto ● Time to market migliore ● A / B testing ● ... Qualità ● Verifica automatica ● Stabilità ● ...
  • 14. MIA | PLATFORM ACCELERATOR 14 Contesto
  • 15. MIA | PLATFORM ACCELERATOR 15 Anatomia di una API Platform - Prodotto µ µ µ career@mia-platform.eu We’re Hiring!
  • 16. MIA | PLATFORM ACCELERATOR 16 Anatomia di una API Platform - Prodotto µ µ µ
  • 17. MIA | PLATFORM ACCELERATOR 17 Anatomia di una API Platform - Prodotto µ µ µ
  • 18. MIA | PLATFORM ACCELERATOR 18 Anatomia di una API Platform - Progetti e Clienti
  • 19. MIA | PLATFORM ACCELERATOR 19 Anatomia di una API Platform - Progetti e Clienti
  • 20. MIA | PLATFORM ACCELERATOR 20 Anatomia di una API Platform - Progetti e Clienti
  • 21. MIA | PLATFORM ACCELERATOR 21 Progetti e Piattaforma - Diversi Cicli di Vita e di Rilascio tempo R&D Cliente A Cliente B Platform Web App App IOS App Android V1 V2 V1 V2 V3 V4 V1 V1 V2
  • 22. MIA | PLATFORM ACCELERATOR 22 MIA | PLATFORM ACCELERATOR 22 Rilascio Continuo
  • 23. MIA | PLATFORM ACCELERATOR 23 MIA | PLATFORM ACCELERATOR 23 Rilascio Continuo
  • 24. MIA | PLATFORM ACCELERATOR 24 Come?
  • 25. MIA | PLATFORM ACCELERATOR 25 Continuous Delivery - Principi Adapted from Jez Humble - continuousdelivery.com under the CC BY SA-3.0 License Work in small batches Automate almost everything Continuous improvement Everyone is responsible Build quality in Done means Released
  • 26. MIA | PLATFORM ACCELERATOR 26 Routine di Rilascio Giornaliera
  • 27. MIA | PLATFORM ACCELERATOR 27 Routine di Rilascio Giornaliera Staging Production Feature 1 Feature 2 Bug Fix Feature 3 merge V1 V2 17:30 18:309:459:30 Stand-up meeting
  • 28. MIA | PLATFORM ACCELERATOR 28 Routine di Rilascio Giornaliera Staging Production Feature 1 Feature 2 Bug Fix Feature 3 merge V1 V2 17:30 18:309:459:30 Stand-up meeting
  • 29. MIA | PLATFORM ACCELERATOR 29 Routine di Rilascio Giornaliera Staging Production Feature 1 Feature 2 Bug Fix Feature 3 merge V1 V2 17:30 18:309:459:30 Stand-up meeting
  • 30. MIA | PLATFORM ACCELERATOR 30 Routine di Rilascio Giornaliera Staging Production Feature 1 Feature 2 Bug Fix Feature 3 merge V1 V2 17:30 18:309:459:30 Stand-up meeting
  • 31. MIA | PLATFORM ACCELERATOR 31 Verifica e validazione Obiettivi giornalieri Pratiche Deployment Automatico Finestre di Rilascio Versionamento Rigoroso Limite al batch Work
  • 32. MIA | PLATFORM ACCELERATOR 32 Obiettivi Giornalieri Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Feature 3
  • 33. MIA | PLATFORM ACCELERATOR 33 La Board - Cosa Rilasciamo Domani? ● Obiettivi (anche di sprint) ● Rilasci pianificati Comunica ● fissare un obiettivo giornaliero Viene utilizzata per ● Giornalmente ● Ogni sprint / iterazione Viene aggiornata
  • 34. MIA | PLATFORM ACCELERATOR 34 La Board - Cosa Rilasciamo Domani? ● Qualcuno ne deve essere responsabile ● Richiede pianificazione ● ... arte nello splittare il lavoro in pezzi indipendenti tra loro ● … e nel trovare il giusto bilanciamento tra obiettivi ambiziosi e realizzabili Difficoltà
  • 35. MIA | PLATFORM ACCELERATOR 35 Variazione sul Tema - La Board dei Rilasci
  • 36. MIA | PLATFORM ACCELERATOR 36 Finestre di Rilascio Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Feature 3
  • 37. MIA | PLATFORM ACCELERATOR 37 ● Dipendenti da applicazione / dominio applicativo ● Sono necessarie nel B2B ● Analizzando il traffico / utilizzo si può trovare quella giusta ● Comprende anche il tempo per eventuali rollback ● Non di sera / notte (se possibile :D) Finestre di Rilascio
  • 38. MIA | PLATFORM ACCELERATOR 38 Verifica e Validazione Continua Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Feature 3
  • 39. MIA | PLATFORM ACCELERATOR 39 Verifica e Validazione Continua ● Test di Accettazione ● Continuous Integration ● Ogni funzionalità validata in Staging in isolamento ● Validazione del Release Candidate una volta rilasciato in Staging
  • 40. MIA | PLATFORM ACCELERATOR 40 Limite al Batch Work Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Verification Feature 3
  • 41. MIA | PLATFORM ACCELERATOR 41 Il Batch Work è il Nostro Peggior Nemico ● Aumenta la possibilità di fallire il rilascio ● In caso di rollback, viene invalidato tutto il lavoro fatto ● La complessità di merge aumenta non linearmente ● Troppo lavoro in parallelo sulla stessa area funzionale è potenzialmente disastroso
  • 42. MIA | PLATFORM ACCELERATOR 42 Limite al Batch Work ● Identificare un’ora X oltre la quale “quel che è fatto è fatto” ● Uniche deroghe possibili le funzionalità che attendono verifica ● … o per emergenze ● In prossimità dell’ora X non si aprono nuovi fronti ● Si aiuta a finire quelli aperti
  • 43. MIA | PLATFORM ACCELERATOR 43 Deployment Automatici Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Feature 3
  • 44. MIA | PLATFORM ACCELERATOR 44 Un buon processo di Deployment ● Automatico ● Comprende anche l’infrastruttura ● Tutti sanno come attivarlo ● Permette il rollback (e.g., re-deployment di una versione precedente) ● Disaccoppiato dalla build dell’artefatto da deployare ● Uguale per tutti gli ambienti
  • 45. MIA | PLATFORM ACCELERATOR 45 Versionamento Rigoroso Staging Production Feature 1 Feature 2 Bug Fix merge V1 V2 17:30 18:309:459:30 Stand-up meeting Verification Feature 3
  • 46. MIA | PLATFORM ACCELERATOR 46 Tracciabilità ● Dobbiamo essere sicuri di cosa è rilasciato in ogni ambiente ● Perchè rilasciamo molto spesso in tutti gli ambienti ● Ogni applicazione / servizio espone un numero di versione
  • 47. MIA | PLATFORM ACCELERATOR 47 In conclusione
  • 48. MIA | PLATFORM ACCELERATOR 48 Continuous Delivery - Principi e Pratiche Work in small batches Automation almost everything Continuous improvement Everyone is responsible Build quality in Obiettivi giornalieri Deployment Automatico Finestre di Rilascio Versionamento Rigoroso Verifica e validazione Limite al batch WorkDone means Released
  • 49. MIA | PLATFORM ACCELERATOR 49 Punti Aperti
  • 50. MIA | PLATFORM ACCELERATOR 50 Branching vs Feature Toggles
  • 51. MIA | PLATFORM ACCELERATOR 51 ● Senza schema è più facile ● Ma rimangono comunque i dati da migrare ● Differenze gestite lato applicativo (un grande vantaggio) Continuous Delivery Schemi e Dati
  • 52. MIA | PLATFORM ACCELERATOR 52
  • 53. MIA | PLATFORM ACCELERATOR 53
  • 54. MIA | PLATFORM ACCELERATOR 54 Riferimenti Utili
  • 55. MIA | PLATFORM ACCELERATOR 55 Riferimenti Utili
  • 56. MIA | PLATFORM ACCELERATOR 56 Grazie! github.com/rporrini riccardo.porrini@mia-platform.eu linkedin.com/in/riccardoporrini
  • 57. MIA | PLATFORM ACCELERATOR 57 Grazie! github.com/rporrini riccardo.porrini@mia-platform.eu linkedin.com/in/riccardoporrini career@mia-platform.eu Continuous Delivery è la tua ossessione? We’re Hiring Dev+Ops!
  • 58. MIA | PLATFORM ACCELERATOR 58 GetLatestVersion.it