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
2017
?
L’ultimo progetto cui ho partecipato
© 2016 IMG Universe, LLC.
All Rights Reserved
3
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
Tocca a voi
Azure?
Visual Studio Team Services (VSTS)?
ASP.NET ?
Linux (Ubuntu) ?
6
«Antipasto»
7
DevOps è un lavoro?
8
DevOps è un prodotto?
9
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
Evoluzione di Continuous Delivery…
Source: Jez Humble © 2010
11
…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/
«Le portate»
Dove? Infrastructure-as-Code
Cosa? Build & Package
Come? Deploy
13
Ambiente di esecuzione
Sistema Operativo
Moduli S.O.
Servizi locali, Librerie
Applicazione
Rete e Servizi esterni
Dati
14
Ambiente di esecuzione (alternativo)
Base container
Custom Container
Applicazione
(in container)
Rete e Servizi esterni
(e.g. Kubernetes)
Dati
15
Considerazioni sull’ambiente di esecuzione
Tempi di allestimento
Capacity planning
Costi di esercizio
16
Infrastructure-as-
Code
Azure Resource Manager
• Codice
• Automazione
17
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
Applicazione
Pagina web con dati da DB
• Ambiente
• Configurazione
19
Build & Packaging
Raccogliere tutto quanto possa servire
20
Build & Packaging – Considerazioni
Version Control
Continuous Integration
Semantic Versioning
Artifacts
Immagini (Docker, AMI, Azure VM images)
21
Deploy
VSTS Release Management
• Automazione controllata
22
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
Deploy – Considerazioni
Categoria
Dev / QA / Prod
Integrato (dinamico)
Frequenza di Rilascio
Feature toggles
24
Source: Pete Hodgson
Configurazione
dinamica
Feature Toggle
25
Non abbiamo il tempo di parlare di
Monitoraggio delle applicazione
Risoluzione dei problemi
Feedback verso Dev
…e molto altro
26
OpsDev
Persone
(Photo: DoD)
27
Automazione
(Photo: Alexander Dummer)
28
Risorse
29
(Photo: User:Elya, Wikimedia)
Call to action
(Photo: Gorge Deep)
30
Bibliografia & Riferimenti
https://github.com/giuliov/DevOps-by-examples
http://www.slideshare.net/giuliov/presentations
http://martinfowler.com/articles/feature-toggles.html
https://leanpub.com/build
https://launchdarkly.com/
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/
31
Bibliografia (2)
Continuous Delivery: Reliable Software
Releases through Build, Test, and
Deployment Automation — J.Humble,
D.Farley (Addison-Wesley)
https://www.amazon.com/Continuous-
Delivery/dp/0321601912/
The Phoenix Project — G.Kim, K.Behr,
G.Spafford (IT Revolution Press)
https://www.amazon.com/Phoenix-Project-
DevOps-Helping-Business/dp/0988262509/
32
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
Fine delle trasmissioni
35

More Related Content

PPTX
DevOps Jump Start
PDF
Agileday2013 pratiche agili applicate all'infrastruttura
PPTX
AgileIoT, agile meets IoT - MEC 2016
PPTX
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
PPTX
Keep calm and deploy
PPTX
Continuous Delivery da zero a rilascio con un clic
PDF
Favorire i feature teams con architetture microservices
PPTX
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NET
DevOps Jump Start
Agileday2013 pratiche agili applicate all'infrastruttura
AgileIoT, agile meets IoT - MEC 2016
Keep calm and Deploy - Panoramica sui problemi che emergono in fase di rilasc...
Keep calm and deploy
Continuous Delivery da zero a rilascio con un clic
Favorire i feature teams con architetture microservices
Le novità di Visual Studio 2015 per lo sviluppatore ASP.NET

What's hot (20)

PPT
CruiseControl.net in un progetto reale
PPTX
SonarQube e il debito tecnico - Matteo Emili
PPTX
Integrazione continua e Deploy automatizzato
PPTX
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
PPTX
É ora di passare a Pipeline as code
PPTX
Php for ASP.NET Developers
PPTX
Php Day 2009:Un Salto Nel Buio
PPTX
Tfs Basic - Quick Intro
PPTX
Guarda, senza mani! Automatizzare build e rilasci con Powershell senza farsi ...
PDF
Come scegliere l'Hosting per WordPress - WordPress Meetup Bologna - Paolo Dolci
PPTX
Creare App per Office 365 con ASP.NET MVC 5
PPTX
ALM Revolutions - What's new in visual studio ALM 11
PPTX
Introduzione a git
PPTX
Branching & Merging strategies (with TFS)
PPTX
Quick intro sul Source Control su SQL Server
PPTX
Single Page Applications
PPTX
.NET Core, ASP.NET Core e Linux per il Mobile
PDF
VMUGIT UC 2013 - 07b Enrico Signoretti
PPTX
Introduzione a Scrum
PPTX
Strategie di migrazione da Team Foundation Server ad Azure DevOps Services
CruiseControl.net in un progetto reale
SonarQube e il debito tecnico - Matteo Emili
Integrazione continua e Deploy automatizzato
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
É ora di passare a Pipeline as code
Php for ASP.NET Developers
Php Day 2009:Un Salto Nel Buio
Tfs Basic - Quick Intro
Guarda, senza mani! Automatizzare build e rilasci con Powershell senza farsi ...
Come scegliere l'Hosting per WordPress - WordPress Meetup Bologna - Paolo Dolci
Creare App per Office 365 con ASP.NET MVC 5
ALM Revolutions - What's new in visual studio ALM 11
Introduzione a git
Branching & Merging strategies (with TFS)
Quick intro sul Source Control su SQL Server
Single Page Applications
.NET Core, ASP.NET Core e Linux per il Mobile
VMUGIT UC 2013 - 07b Enrico Signoretti
Introduzione a Scrum
Strategie di migrazione da Team Foundation Server ad Azure DevOps Services
Ad

Similar to DevOps by examples - Agile O'Day 2017 (20)

PPTX
Webcast - Introduzione a Visual Studio Online
PPTX
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
PDF
Meetup Azure DevOps
PPTX
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
PDF
Meetup Azure DevOps
PDF
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
PPTX
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
PPTX
Azure dev ops meetup one
PPTX
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
PPTX
Machine learning models continuous deployment on azure using devops
PDF
Visual COBOL - Conoscere Visual COBOL- Micro Focus
PDF
Evoluzione del web development dalle cgi ai microservices
PDF
Progettare e sviluppare soluzioni serverless con AWS
PPTX
Win05 accesso ai dati in win 8
PPTX
PASS Virtual Chapter - SQL Server Continuous Integration
PPTX
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
PPTX
Introduzione a Microsoft Azure
PPTX
Architetture a Microservizi con Docker Container
PPTX
Azure dayroma java, il lato oscuro del cloud
PPTX
DevOps: l'IT al servizio del Business
Webcast - Introduzione a Visual Studio Online
2015.01.09 - Principi del Cloud Computing e migrazione delle applicazioni mod...
Meetup Azure DevOps
Webinar: "DevOps e Orchestrazione Bimodale dei Processi IT"
Meetup Azure DevOps
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Azure dev ops meetup one
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
Machine learning models continuous deployment on azure using devops
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Evoluzione del web development dalle cgi ai microservices
Progettare e sviluppare soluzioni serverless con AWS
Win05 accesso ai dati in win 8
PASS Virtual Chapter - SQL Server Continuous Integration
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
Introduzione a Microsoft Azure
Architetture a Microservizi con Docker Container
Azure dayroma java, il lato oscuro del cloud
DevOps: l'IT al servizio del Business
Ad

More from Giulio Vian (20)

PPTX
Come implementare la governance nella vostra piattaforma e lavorare felici se...
PDF
Is Technical Debt the right metaphor for Continuous Update?
PPTX
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
PPTX
Software rotting - DevOpsCon Berlin
PPTX
Software rotting
PPTX
Software rotting - 28 Apr - DeveloperWeek Europe 2022
PPTX
L'impatto della sicurezza su DevOps
PPTX
L'impatto della sicurezza su DevOps
PPTX
A map for DevOps on Microsoft Stack - MS DevSummit
PPTX
Perché è così difficile il deploy dei database - DevCast DevOps Serie
PPTX
Database deployments - dotnetsheff
PPTX
Database deployment: still hard after all these years - Data Saturday #1
PPTX
Pipeline your Pipelines - 2020 All Day DevOps
PPTX
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
PPTX
Top 10 pipeline mistakes - dotnetsheff
PPTX
Introduction to Terraform with Azure flavor
PPTX
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
PPTX
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
PPTX
Pipeline your pipelines!
PPTX
Why is DevOps vital for my company’s business
Come implementare la governance nella vostra piattaforma e lavorare felici se...
Is Technical Debt the right metaphor for Continuous Update?
Is Technical Debt the right metaphor for Continuous Update - AllDayDevOps 2022
Software rotting - DevOpsCon Berlin
Software rotting
Software rotting - 28 Apr - DeveloperWeek Europe 2022
L'impatto della sicurezza su DevOps
L'impatto della sicurezza su DevOps
A map for DevOps on Microsoft Stack - MS DevSummit
Perché è così difficile il deploy dei database - DevCast DevOps Serie
Database deployments - dotnetsheff
Database deployment: still hard after all these years - Data Saturday #1
Pipeline your Pipelines - 2020 All Day DevOps
How to write cloud-agnostic Terraform code - Incontro DevOps Italia 2020
Top 10 pipeline mistakes - dotnetsheff
Introduction to Terraform with Azure flavor
How collaboration works between Dev and Ops - DevOps Agile Testing and Test S...
Usare SQL Server for Linux e Docker per semplificare i processi di testing - ...
Pipeline your pipelines!
Why is DevOps vital for my company’s business

DevOps by examples - Agile O'Day 2017

Editor's Notes

  • #11: 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)
  • #25: http://martinfowler.com/articles/feature-toggles.html
  • #37: Nota con VSTS cloud non significa pubblico!
  • #38: 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)