Successfully reported this slideshow.

DevOps by examples - Agile O'Day 2017

0

Share

Upcoming SlideShare
Software rotting
Software rotting
Loading in …3
×
1 of 35
1 of 35

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

DevOps by examples - Agile O'Day 2017

  1. 1. DevOps by examples Giulio Vian http://blog.casavian.eu/ giulio.dev@casavian.eu @giulio_vian http://www.getlatestversion.it/
  2. 2. 1990 1992 1999 2014 2010 2016 1995 freelance 2014 2015 TFS Aggregator 2017 ?
  3. 3. L’ultimo progetto cui ho partecipato © 2016 IMG Universe, LLC. All Rights Reserved 3
  4. 4. Inquadramento della Sessione Livello 100/200 Cogliere l’essenziale dell’approccio DevOps Interrompere solo per domande fulminee Sì, No, Può ripetere, ... 4
  5. 5. Di che si chiacchiera? DevOps? Esempi Un ambiente per il codice Una applicazione Il suo rilascio Riconfigurazione Riassunto e riferimenti 5
  6. 6. Tocca a voi Azure? Visual Studio Team Services (VSTS)? ASP.NET ? Linux (Ubuntu) ? 6
  7. 7. «Antipasto» 7
  8. 8. DevOps è un lavoro? 8
  9. 9. DevOps è un prodotto? 9
  10. 10. 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
  11. 11. Evoluzione di Continuous Delivery… Source: Jez Humble © 2010 11
  12. 12. …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/
  13. 13. «Le portate» Dove? Infrastructure-as-Code Cosa? Build & Package Come? Deploy 13
  14. 14. Ambiente di esecuzione Sistema Operativo Moduli S.O. Servizi locali, Librerie Applicazione Rete e Servizi esterni Dati 14
  15. 15. Ambiente di esecuzione (alternativo) Base container Custom Container Applicazione (in container) Rete e Servizi esterni (e.g. Kubernetes) Dati 15
  16. 16. Considerazioni sull’ambiente di esecuzione Tempi di allestimento Capacity planning Costi di esercizio 16
  17. 17. Infrastructure-as- Code Azure Resource Manager • Codice • Automazione 17
  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, … 18
  19. 19. Applicazione Pagina web con dati da DB • Ambiente • Configurazione 19
  20. 20. Build & Packaging Raccogliere tutto quanto possa servire 20
  21. 21. Build & Packaging – Considerazioni Version Control Continuous Integration Semantic Versioning Artifacts Immagini (Docker, AMI, Azure VM images) 21
  22. 22. Deploy VSTS Release Management • Automazione controllata 22
  23. 23. 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
  24. 24. Deploy – Considerazioni Categoria Dev / QA / Prod Integrato (dinamico) Frequenza di Rilascio Feature toggles 24 Source: Pete Hodgson
  25. 25. Configurazione dinamica Feature Toggle 25
  26. 26. Non abbiamo il tempo di parlare di Monitoraggio delle applicazione Risoluzione dei problemi Feedback verso Dev …e molto altro 26 OpsDev
  27. 27. Persone (Photo: DoD) 27
  28. 28. Automazione (Photo: Alexander Dummer) 28
  29. 29. Risorse 29 (Photo: User:Elya, Wikimedia)
  30. 30. Call to action (Photo: Gorge Deep) 30
  31. 31. 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
  32. 32. 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
  33. 33. 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
  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 34
  35. 35. Fine delle trasmissioni 35

Editor's Notes

  • 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://martinfowler.com/articles/feature-toggles.html
  • Nota con VSTS cloud non significa pubblico!
  • 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)
  • ×