SlideShare a Scribd company logo
DevOps by examples - DevOps@Work 2017
Esempi di Pipeline e DevOps
Giulio Vian
http://blog.casavian.eu/
giulio.dev@casavian.eu
@giulio_vian
http://www.getlatestversion.it/
DevOps by Examples
Giulio Vian
http://blog.casavian.eu/
giulio.dev@casavian.eu
@giulio_vian
http://www.getlatestversion.it/
1990
1992 1999 2014
2010 2016
1995
freelance
2014 2015
TFS Aggregator
L’ultimo progetto cui ho partecipato
Miss Universe 2016
Iris Mittenaere
© 2016 IMG Universe, LLC.
All Rights Reserved
Di che si chiacchiera?
DevOps?
Esempi
Un ambiente per il codice
Una applicazione
Il suo rilascio
Riconfigurazione
Riassunto e riferimenti
Livello semplice
o avanzato?
È una figura professionale?
È un prodotto?
DevOps is a culture, movement or practice
DevOps is a term used to referto a set of practices that emphasizes the collaboration
and communication of both software developers and other information-
technology (IT) professionals while automating the process of software delivery
and infrastructure changes.
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the
adoption of agile, lean practices in the context of a system-oriented approach. DevOps
emphasizes people (and culture), and seeks to improve collaboration between operations and
development teams. DevOps implementations utilize technology — especially automation tools
that can leverage an increasingly programmable and dynamic infrastructure from a life cycle
perspective.
DevOps is the union of people, process, and products to enable continuous
delivery of value to our end users.
Wikipedia (2017)
Gartner
Microsoft
(Donovan Brown)
Evoluzione di Continuous Delivery
Source: Jez Humble © 2010
La ciccia
Dove?
Infrastructure-as-Code
Cosa?
Build & Package
Come?
Deploy
Ambiente di esecuzione
Sistema Operativo
Moduli S.O.
Servizi locali, Librerie
Applicazione
Rete e Servizi esterni
Dati
Ambiente di esecuzione (alt)
Base container
Custom Container
Applicazione
(in container)
Rete e Servizi esterni
(e.g. Kubernetes)
Dati
Considerazioni sull’ambiente di esecuzione
Tempi di allestimento
Costi di esercizio
Infrastructure-as-Code
Azure Resource Manager
• Codice
• Automazione
Infrastructure-as-Code – Considerazioni
Declarativo o Imperativo
Version Control
Continuous Integration
Dinamico o Statico
Azure Resource Manager
Declarative Json-based
Extensible (script, DSC)
Entire infrastructure
AWS CloudFormation
Declarative Json-based
Docker
Not much declarative
Single container
Ansible, Puppet, Chef, CFEngine, …
Applicazione
Pagina web con dati da DB
• Ambiente
• Configurazione
Build & Package – Considerazioni
Version Control
Continuous Integration
Semantic Versioning
Artifacts
Immagini (Docker, AMI, Azure VM images)
Deploy
VSTS Release Management
• Automazione controllata
Segreti
Build time
Sign
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignore
Centralized Version Control
Distinct repositories
Azure Key Vault
AWS Key Management Service
Deploy – Considerazioni
Categoria
Dev / QA / Prod
Integrato (dinamico)
Frequenza di Rilascio
Feature toggles
Source: Pete Hodgson
Configurazione dinamica
Feature toggle
Non abbiamo il tempo di parlare di
Application Monitoring
Troubleshooting
Feedback loop
Persone
(Photo: DoD)
Automazione
(Photo: Alexander Dummer)
Call to action
Question time
Thanks to our Sponsors
Bibliografia & Riferimenti
http://martinfowler.com/articles/feature-toggles.html
https://leanpub.com/build
https://launchdarkly.com/
http://www.slideshare.net/giuliov/presentations
http://agilemanifesto.org/
https://azure.microsoft.com/en-us/services/application-insights/
https://github.com/tfsaggregator/tfsaggregator
https://github.com/aspnet
https://azure.microsoft.com/en-us/services/key-vault/
https://aws.amazon.com/kms/
https://blogs.msdn.microsoft.com/buckh/2016/09/30/controlling-exposure-through-
feature-flags-in-vs-team-services/
To know more
Continuous Delivery: Reliable Software Releases
through Build, Test, and Deployment Automation —
J.Humble, D.Farley (Addison-Wesley)
https://www.amazon.it/Continuous-Delivery/dp/0321601912/
Continuous Delivery with Visual Studio ALM 2015 —
M.Olausson, J.Ehn (Apress)
http://www.amazon.it/Continuous-Delivery-Visual-Studio-
2015/dp/1484212738/
Fine delle trasmissioni

More Related Content

DevOps by examples - DevOps@Work 2017

Editor's Notes

  1. http://www.gartner.com/it-glossary/devops/ DevOps is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably. Wikipedia (2017)
  2. http://martinfowler.com/articles/feature-toggles.html