Inquadramento della Sessione
Livello 100/200
Cogliere l’essenziale dell’approccio DevOps
Interrompere solo per domande fulminee
Sì, No, Può ripetere, ...
4
Di che si chiacchiera?
DevOps?
Esempi
Un ambiente per il codice
Una applicazione
Il suo rilascio
Riconfigurazione
Riassunto e riferimenti
5
DevOps is a culture, movement or practice
DevOps is a term used to refer to 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)
10
…fondata sui principi Agile
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
http://agilemanifesto.org/
Infrastructure-as-Code – Considerazioni
Dichiarativo o imperativo
Version Control
Continuous Integration
Dinamico o Statico
Azure Resource Manager
Dichiarativo, Json-based
Estendibile (script, DSC)
Tutta l’infrastruttura
AWS CloudFormation
Dichiarativo, Json-based
Docker
Non cosi dichiarativo
Livello di singolo container
Swarm, Kubernetes, Mesos, …
Ansible, Puppet, Chef, CFEngine, …
18
Password e chiavi (secrets)
Build time
Signing
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignore
Version Control centralizzato
Repositories dedicati
Azure Key Vault
AWS Key Management Service
23
Bibliografia (3)
The DevOps Handbook — G.Kim,
P.Debois, J.Willis, J.Humble (IT
Revolution Press)
https://www.amazon.com/DevOps-
Handbook-World-Class-Reliability-
Organizations/dp/1942788002/
Continuous Delivery with Visual Studio
ALM 2015 — M.Olausson, J.Ehn (Apress)
http://www.amazon.it/Continuous-Delivery-
Visual-Studio-2015/dp/1484212738/
33
Compiti per casa
Dove tengo la configurazione
Come aggiorno la configurazione
Come separo configurazioni di sviluppo da produzione
Dove tengo le chiavi segrete e chi vi ha accesso
Come traccio le versioni
Chi autorizza i cambiamenti e come
Come conservo i Dati
Come aggiorno schemi database e interfacce tra moduli
Costruisco immagini o faccio il deploy via script
Che finestre di rilascio ho
Come traccio le attività e gli errori
Come raccolgo informazioni dalla produzione
34
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)
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)