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

DevOps by examples - DevOps@Work 2017

DevOps by examples - DevOps@Work 2017

Presentazione tenuta all'evento DevOps@Work 2017 del 10 febbraio 2017 a Roma

Giulio Vian

February 10, 2017
Tweet

More Decks by Giulio Vian

Other Decks in Programming

Transcript

  1. L’ultimo progetto cui ho partecipato Miss Universe 2016 Iris Mittenaere

    © 2016 IMG Universe, LLC. All Rights Reserved
  2. Di che si chiacchiera? DevOps? Esempi Un ambiente per il

    codice Una applicazione Il suo rilascio Riconfigurazione Riassunto e riferimenti Livello semplice o avanzato?
  3. 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)
  4. Ambiente di esecuzione (alt) Base container Custom Container Applicazione (in

    container) Rete e Servizi esterni (e.g. Kubernetes) Dati
  5. Infrastructure-as-Code – Considerazioni Declarativo o Imperativo Version Control Continuous Integration

    Dinamico o Statico Azure Resource Manager Declarative Json-based Extensible (script, DSC) Entire infrastructure AWS CloudFormation Declarative Json-based Docker Not much declarative Single container Ansible, Puppet, Chef, CFEngine, …
  6. Build & Package – Considerazioni Version Control Continuous Integration Semantic

    Versioning Artifacts Immagini (Docker, AMI, Azure VM images)
  7. Segreti Build time Sign Deploy time Credentials Run time Tokens

    Avoid exposures git push hook Static analysis .gitignore Centralized Version Control Distinct repositories Azure Key Vault AWS Key Management Service
  8. Deploy – Considerazioni Categoria Dev / QA / Prod Integrato

    (dinamico) Frequenza di Rilascio Feature toggles Source: Pete Hodgson
  9. Bibliografia & Riferimenti http://martinfowler.com/articles/feature-toggles.html https://leanpub.com/build https://launchdarkly.com/ http://www.slideshare.net/giuliov/presentations 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/
  10. To know more Continuous Delivery: Reliable Software Releases through Build,

    Test, and Deployment Automation — J.Humble, D.Farley (Addison-Wesley) https://www.amazon.it/Continuous-Delivery/dp/0321601912/ Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress) http://www.amazon.it/Continuous-Delivery-Visual-Studio- 2015/dp/1484212738/