Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps by examples - Agile O'Day 2017

DevOps by examples - Agile O'Day 2017

Sessione dell'Agile O'Day 2017 (Napoli)

Giulio Vian

May 12, 2017
Tweet

More Decks by Giulio Vian

Other Decks in Technology

Transcript

  1. Di che si chiacchiera? DevOps? Esempi Un ambiente per il

    codice Una applicazione Il suo rilascio Riconfigurazione Riassunto e riferimenti 5
  2. 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
  3. …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/
  4. Ambiente di esecuzione (alternativo) Base container Custom Container Applicazione (in

    container) Rete e Servizi esterni (e.g. Kubernetes) Dati 15
  5. 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
  6. Build & Packaging – Considerazioni Version Control Continuous Integration Semantic

    Versioning Artifacts Immagini (Docker, AMI, Azure VM images) 21
  7. 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
  8. Deploy – Considerazioni Categoria Dev / QA / Prod Integrato

    (dinamico) Frequenza di Rilascio Feature toggles 24 Source: Pete Hodgson
  9. Non abbiamo il tempo di parlare di Monitoraggio delle applicazione

    Risoluzione dei problemi Feedback verso Dev …e molto altro 26 Ops Dev
  10. 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
  11. 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
  12. 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
  13. 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