SlideShare a Scribd company logo
1 of 26
GITOPS
&
BEST PRACTICES FOR CLOUD NATIVE CI/CD
Antonio ’Turibbio’ Liccardi
Cloud Developer & DevOps Engineer @ Blexin
Microsoft MVP for Developer Technologies
@turibbio
#DOAW20
• Capire cosa è GitOps
• Differenze tra GitOps & DevOps
• Principi di GitOps
• Implementare GitOps (tools & best practices)
AGENDA
#DOAW20
COSAE’GITOPS
#DOAW20
1. L’intero sistema viene descritto in maniera dichiarativa
2. Il desired state del sistema è versionato in Git
3. Le modifiche soggette ad approvazione vengono applicate
automaticamente al sistema
4. Agenti o servizi garantiscono la corretta applicazione del
desired state e avvisano in caso di divergenza
PRINCIPIDIGITOPS
#DOAW20
Only what can be described and
observed can be automated and
controlled and accellerated
#DOAW20
• Tutte le azioni sono guidate dagli eventi in Git, ed è
considerato come l’unica fonte di verità dell’intero sistema
• GitOps si basa fortemente sulle pratiche DevOps
• Ma se DevOps esiste da anni, perché solo ora compare
GitOps?
• Fino ad oggi non abbiamo avuto tanti strumenti a favore di una
declarative infrastructure che potesse essere storicizzata in Git.
• Git rappresenta lo strumento migliore per questo scopo grazie a
audit, commenti e history
GITOPSINDETTAGLIO
#DOAW20
• Una volta impostato il flusso di lavoro, l’intero processo di
modifiche viene effettuato usando solo Git tramite Pull
Request.
• Sia il codice dell’applicazione, che la dichiarazione
dell’infrastruttura risiedono all’interno del repository. L’uso di
strumenti come kubectl per la configurazione
dell’infrastruttura è vietato, si predilige IaC
• L’intero processo deve essere automatizzato
• L’intero processo è sempre ripristinabile grazie ad IaC
GITOPSINDETTAGLIO
#DOAW20
1. Aumento della produttività
2. Esperienza di sviluppo migliore
3. Compliance & Stability
4. Reliability
5. Consistency & Standardization
6. Stronger Security Guarantees
VANTAGGIDIGITOPS
#DOAW20
Pipelines Observability Control
I3PILASTRIDIGITOPS
#DOAW20
PIPELINEDIDEPLOYSTANDARD
#DOAW20
PIPELINEDIDEPLOYSTANDARD
#DOAW20
GITOPSPIPELINE
#DOAW20
GITOPSPIPELINE
#DOAW20
• E’ difficile scovare un problema in un sistema se non è
osservabile
OBSERVABILITY
#DOAW20
OBSERVABILITY
#DOAW20
OBSERVABILITY
#DOAW20
• Lavora a stretto contatto con Observability
• Control means convergence
CONTROL
#DOAW20
CONTROL
#DOAW20
GITOPSLIFECYCLE
#DOAW20
STRUTTURADIUNREPOSITORYGITOPS
#DOAW20
• 1 repository per applicazione o servizio
• Usare branch separati per environment (Kubernetes
namespace o cluster)
• Push delle modifiche sia sul codice che sulla infrastruttura
• Rolling out tramite revert
• Uso dei protected branches per forzare la pull request
STRUTTURADIUNREPOSITORYGITOPS
DEMO
HANDS-ON GITOPS
#DOAW20
GitOps is the logical conclusion
for operation
GRAZIE!
DOMANDE?

More Related Content

Similar to GitOps and Best Practices for Cloud Native CI/CD

Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Fabio Armani
 
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...Profesia Srl, Lynx Group
 
Surfing The Cloud Tsunami 2016
Surfing The Cloud Tsunami 2016Surfing The Cloud Tsunami 2016
Surfing The Cloud Tsunami 2016Blueit SpA
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaProfesia Srl, Lynx Group
 
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 DevopsEmerasoft, solutions to collaborate
 
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech
 
Risparmiare utilizzando il monitoraggio di rete, possibile?
Risparmiare utilizzando il monitoraggio di rete, possibile? Risparmiare utilizzando il monitoraggio di rete, possibile?
Risparmiare utilizzando il monitoraggio di rete, possibile? Alessio Ligabue
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 
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
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKSGiuliano Latini
 
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...Alessandro Cirillo
 
Un prototipo di integrazione fra CMDBuild e NetEye / Nagios
Un prototipo di integrazione fra CMDBuild e NetEye / NagiosUn prototipo di integrazione fra CMDBuild e NetEye / Nagios
Un prototipo di integrazione fra CMDBuild e NetEye / NagiosCMDBuild org
 
CI/CD - Presentazione Introduttiva
CI/CD - Presentazione IntroduttivaCI/CD - Presentazione Introduttiva
CI/CD - Presentazione IntroduttivaMatteo Di Carlo
 
Ibm bluemix tracking&tracing use case implementation
Ibm bluemix tracking&tracing use case implementationIbm bluemix tracking&tracing use case implementation
Ibm bluemix tracking&tracing use case implementationRomualdo Gobbo
 
Software Engineering Introduction in Italian
Software Engineering Introduction in ItalianSoftware Engineering Introduction in Italian
Software Engineering Introduction in ItalianPierpaoloCaricato
 
Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerMarco Parenzan
 

Similar to GitOps and Best Practices for Cloud Native CI/CD (20)

Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)Agile requirements - alla ricerca del filo rosso (iad 2013)
Agile requirements - alla ricerca del filo rosso (iad 2013)
 
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
WSO2 ITALIA SMART TALK #5 - APIFICATION: OPPORTUNITÀ DELLE ORGANIZZAZIONI MOD...
 
Surfing The Cloud Tsunami 2016
Surfing The Cloud Tsunami 2016Surfing The Cloud Tsunami 2016
Surfing The Cloud Tsunami 2016
 
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalySMAU Milano 2014 GAE 24/10/2014 - IWA Italy
SMAU Milano 2014 GAE 24/10/2014 - IWA Italy
 
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
 
Containerized Liferay
Containerized LiferayContainerized Liferay
Containerized Liferay
 
API Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole ItaliaAPI Transformation in Crédit Agricole Italia
API Transformation in Crédit Agricole Italia
 
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
 
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
Kiratech "Qualità, metodologia e competenza al servizio della Digital Enterpr...
 
Risparmiare utilizzando il monitoraggio di rete, possibile?
Risparmiare utilizzando il monitoraggio di rete, possibile? Risparmiare utilizzando il monitoraggio di rete, possibile?
Risparmiare utilizzando il monitoraggio di rete, possibile?
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 
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...
 
Monitoring Applications in AKS
Monitoring Applications in AKSMonitoring Applications in AKS
Monitoring Applications in AKS
 
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...
equiPDATA, la tua soluzione cloud based di gestione attrezzature e mappatura ...
 
Un prototipo di integrazione fra CMDBuild e NetEye / Nagios
Un prototipo di integrazione fra CMDBuild e NetEye / NagiosUn prototipo di integrazione fra CMDBuild e NetEye / Nagios
Un prototipo di integrazione fra CMDBuild e NetEye / Nagios
 
CI/CD - Presentazione Introduttiva
CI/CD - Presentazione IntroduttivaCI/CD - Presentazione Introduttiva
CI/CD - Presentazione Introduttiva
 
Presentazione Unibo
Presentazione UniboPresentazione Unibo
Presentazione Unibo
 
Ibm bluemix tracking&tracing use case implementation
Ibm bluemix tracking&tracing use case implementationIbm bluemix tracking&tracing use case implementation
Ibm bluemix tracking&tracing use case implementation
 
Software Engineering Introduction in Italian
Software Engineering Introduction in ItalianSoftware Engineering Introduction in Italian
Software Engineering Introduction in Italian
 
Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 

More from Antonio Liccardi

Delivering code with git hub actions
Delivering code with git hub actionsDelivering code with git hub actions
Delivering code with git hub actionsAntonio Liccardi
 
Cloud native CI/CD with GitOps
Cloud native CI/CD with GitOpsCloud native CI/CD with GitOps
Cloud native CI/CD with GitOpsAntonio Liccardi
 
DevOps in a Microservices World
DevOps in a Microservices WorldDevOps in a Microservices World
DevOps in a Microservices WorldAntonio Liccardi
 
DevDay Salerno - Mobile DevOps con Xamarin
DevDay Salerno - Mobile DevOps con XamarinDevDay Salerno - Mobile DevOps con Xamarin
DevDay Salerno - Mobile DevOps con XamarinAntonio Liccardi
 
DevDay Salerno - Introduzione a Xamarin
DevDay Salerno - Introduzione a XamarinDevDay Salerno - Introduzione a Xamarin
DevDay Salerno - Introduzione a XamarinAntonio Liccardi
 
SonarQube e il debito tecnico - Matteo Emili
SonarQube e il debito tecnico - Matteo EmiliSonarQube e il debito tecnico - Matteo Emili
SonarQube e il debito tecnico - Matteo EmiliAntonio Liccardi
 
Continuous integration per sviluppatori mobile
Continuous integration per sviluppatori mobileContinuous integration per sviluppatori mobile
Continuous integration per sviluppatori mobileAntonio Liccardi
 
Continuous integration per le tue applicazioni mobile
Continuous integration per le tue applicazioni mobileContinuous integration per le tue applicazioni mobile
Continuous integration per le tue applicazioni mobileAntonio Liccardi
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationAntonio Liccardi
 
Vs04 - DevOps: Continuous Deployment con Windows Azure
Vs04 - DevOps: Continuous Deployment con Windows AzureVs04 - DevOps: Continuous Deployment con Windows Azure
Vs04 - DevOps: Continuous Deployment con Windows AzureAntonio Liccardi
 
Vs03 – migliorare la qualità del codice con vs 2013
Vs03 – migliorare la qualità del codice con vs 2013Vs03 – migliorare la qualità del codice con vs 2013
Vs03 – migliorare la qualità del codice con vs 2013Antonio Liccardi
 
Le novita' su diagnostica e qualita' del codice con visual studio 2013
Le novita' su diagnostica e qualita' del codice con visual studio 2013Le novita' su diagnostica e qualita' del codice con visual studio 2013
Le novita' su diagnostica e qualita' del codice con visual studio 2013Antonio Liccardi
 
Le novità di team foundation server 2012
Le novità di team foundation server 2012Le novità di team foundation server 2012
Le novità di team foundation server 2012Antonio Liccardi
 

More from Antonio Liccardi (15)

Delivering code with git hub actions
Delivering code with git hub actionsDelivering code with git hub actions
Delivering code with git hub actions
 
Cloud native CI/CD with GitOps
Cloud native CI/CD with GitOpsCloud native CI/CD with GitOps
Cloud native CI/CD with GitOps
 
Microservizi & DevOps
Microservizi & DevOpsMicroservizi & DevOps
Microservizi & DevOps
 
DevOps in a Microservices World
DevOps in a Microservices WorldDevOps in a Microservices World
DevOps in a Microservices World
 
DevDay Salerno - Mobile DevOps con Xamarin
DevDay Salerno - Mobile DevOps con XamarinDevDay Salerno - Mobile DevOps con Xamarin
DevDay Salerno - Mobile DevOps con Xamarin
 
DevDay Salerno - Introduzione a Xamarin
DevDay Salerno - Introduzione a XamarinDevDay Salerno - Introduzione a Xamarin
DevDay Salerno - Introduzione a Xamarin
 
SonarQube e il debito tecnico - Matteo Emili
SonarQube e il debito tecnico - Matteo EmiliSonarQube e il debito tecnico - Matteo Emili
SonarQube e il debito tecnico - Matteo Emili
 
Continuous integration per sviluppatori mobile
Continuous integration per sviluppatori mobileContinuous integration per sviluppatori mobile
Continuous integration per sviluppatori mobile
 
Introduzione a docker
Introduzione a dockerIntroduzione a docker
Introduzione a docker
 
Continuous integration per le tue applicazioni mobile
Continuous integration per le tue applicazioni mobileContinuous integration per le tue applicazioni mobile
Continuous integration per le tue applicazioni mobile
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Vs04 - DevOps: Continuous Deployment con Windows Azure
Vs04 - DevOps: Continuous Deployment con Windows AzureVs04 - DevOps: Continuous Deployment con Windows Azure
Vs04 - DevOps: Continuous Deployment con Windows Azure
 
Vs03 – migliorare la qualità del codice con vs 2013
Vs03 – migliorare la qualità del codice con vs 2013Vs03 – migliorare la qualità del codice con vs 2013
Vs03 – migliorare la qualità del codice con vs 2013
 
Le novita' su diagnostica e qualita' del codice con visual studio 2013
Le novita' su diagnostica e qualita' del codice con visual studio 2013Le novita' su diagnostica e qualita' del codice con visual studio 2013
Le novita' su diagnostica e qualita' del codice con visual studio 2013
 
Le novità di team foundation server 2012
Le novità di team foundation server 2012Le novità di team foundation server 2012
Le novità di team foundation server 2012
 

GitOps and Best Practices for Cloud Native CI/CD