Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Un esempio di Continuous Delivery - Visual Studio Saturday 2017

183 views

Published on

Un esempio di Continuous Delivery - Visual Studio Saturday 2017, Pordenone

Published in: Software
  • Be the first to comment

Un esempio di Continuous Delivery - Visual Studio Saturday 2017

  1. 1. saturday 2017 UN ESEMPIO DI CONTINUOUS DELIVERY Giulio Vian
  2. 2. INQUADRAMENTO DELLA SESSIONE Livello 100/200 Cogliere l’uso di Visual Studio Team Services in un approccio DevOps Potete interrompere liberamente 2
  3. 3. DI CHE SI CHIACCHIERA? DevOps? Demo commentate Un ambiente per il codice Una applicazione Il suo rilascio Riconfigurazione Riassunto e riferimenti 3 OpsDev
  4. 4. BIOGRAFIA 4 giulio@nolbej.com @giulio_vian http://blog.casavian.eu/ https://tfsaggregator.github.io
  5. 5. TOCCA A VOI Azure? Visual Studio Team Services (VSTS)? ASP.NET ? Linux (Ubuntu) ? 6
  6. 6. «ANTIPASTO» 7
  7. 7. DEVOPS È UN PRODOTTO? 8
  8. 8. DEVOPS È UN LAVORO? 9
  9. 9. …BEH, QUASI
  10. 10. DEVOPS IS A CULTURE, MOVEMENT OR PRACTICE DevOps is a term used to refer to a set of practicesthat 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) 11
  11. 11. IL MANUALE RECITA DevOps is the result of applying Lean principles to the technology value stream DevOps e’ il prodotto dell’applicazione dei principi lean alla generazione di valore mediante la tecnologia (trad. mia)
  12. 12. Illustration © David Schmidt 1992 Experiment Learn Dev Flow Feedback Ops
  13. 13. «PORTATE PRINCIPALI» Dove? Infrastructure-as-Code Cosa? Build & Package Come?Deploy 14
  14. 14. AMBIENTE DI ESECUZIONE Sistema Operativo Moduli S.O. Servizi locali, Librerie Applicazione Rete e Servizi esterni Dati 15
  15. 15. AMBIENTE DI ESECUZIONE (ALTERNATIVO) Base container Custom Container Applicazione (in container) Rete e Servizi esterni (e.g. Kubernetes) Dati 16
  16. 16. CONSIDERAZIONI SULL’AMBIENTE DI ESECUZIONE Tempi di allestimento Capacity planning Costi di esercizio 17
  17. 17. INFRASTRUCTURE-AS-CODE Azure Resource Manager • Codice • Automazione 18
  18. 18. 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, … 19
  19. 19. DUNQUE IL VERSION CONTROL…
  20. 20. APPLICAZIONE Pagina web con dati da DB • Ambiente • Configurazione 21
  21. 21. BUILD & PACKAGING Raccogliere qualsiasi cosa possa servire 22
  22. 22. BUILD & PACKAGING – CONSIDERAZIONI Version Control Continuous Integration Semantic Versioning Artifacts Immagini (Docker, AMI, Azure VM images) 23
  23. 23. DEPLOY VSTS Release Management • Automazione controllata 24
  24. 24. 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 eccetera 25
  25. 25. DEPLOY – CONSIDERAZIONI Categoria Dev / QA / Prod Integrato (dinamico) Frequenza di Rilascio Feature toggles 26 Source: Pete Hodgson
  26. 26. CONFIGURAZIONE DINAMICA Feature Toggle elementare 27
  27. 27. …TENER TRACCIA
  28. 28. FEATURE TOGGLES Launch Darkly come strumento di gestione 29
  29. 29. DATABASE Investire da subito Migliorare, migliorare, migliorare 30 (Photo: Coonan, Inc.)
  30. 30. «DESSERT» 31
  31. 31. 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/ 32
  32. 32. BIBLIOGRAFIA 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/ 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/ 33
  33. 33. BIBLIOGRAFIA (SEGUE) DevOps on the Microsoft Stack — Wouter de Kort (Apress)  https://www.amazon.com/DevOps-Microsoft-Stack-Wouter-Kort/dp/1484214471/ Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress)  http://www.amazon.com/Continuous-Delivery-Visual-Studio-2015/dp/1484212738/ Beginning Build and Release Management with TFS 2017 and VSTS — Chandrasekara, Chaminda (Apress)  http://www.apress.com/gp/book/9781484228104 Continuous Delivery with Windows and .NET — Matthew Skelton and Chris O'Dell (O'Reilly) http://www.oreilly.com/webops-perf/free/continuous-delivery-with-windows-and- net.csp 34
  34. 34. 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? 35
  35. 35. TOCCA A VOI 36 (Photo: Francesco Canu)
  36. 36. Fine delle trasmissioni 37

×