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.

BASTA! 2017 - DevOps by examples


Published on

Session at DevOps by examples @ BASTA! 2017 in Mainz

Published in: Software
  • Login to see the comments

BASTA! 2017 - DevOps by examples

  1. 1. DevOps by examples Giulio Vian
  2. 2. This Session 100/200-level Grasp the essentials of the DevOps approach. (well …, some essentials) 2
  3. 3. What we will talk about? DevOps intro Demos Environment hosting the app The Application itself Deployment Dynamic configuration Wrap-up 3 OpsDev
  4. 4. About me 4
  5. 5. Your turn Azure Visual Studio Team Services (VSTS) ASP.NET Linux (Ubuntu) Developers Infra Engineers Architects Managers 5
  6. 6. «Appetizer» 6
  7. 7. DevOps is a product 7
  8. 8. DevOps is a job 8
  9. 9. Except for DevOps Leads…
  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. Continuous Delivery evolution… Source: Jez Humble © 2010 11
  12. 12. …rooted in Agile Principles… Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  13. 13. …giving back 13 Source: Felice Pescatore Value Collaboration Agile Development Continous Integration Continous Delivery DevOps
  14. 14. The Handbook says DevOps is the result of applying Lean principles to the technology value stream
  15. 15. Illustration © David Schmidt 1992 Experiment Learn Dev Flow Feedback Ops
  16. 16. «Main course» Where? Infrastructure-as-Code What? Build & Package How? Deploy 16
  17. 17. Execution environment Operating System O.S. Modules Local Services, Libraries Application Network & External Services Data 17
  18. 18. Execution environment (alt) Base container Custom Container Application (in container) Network & External Services (e.g. Kubernetes) Data 18
  19. 19. Execution environment – Comments Setup times vs. launch times Capacity planning Running costs (Buy vs. Make) 19
  20. 20. Infrastructure-as- Code Azure Resource Manager • Code • Automation 20
  21. 21. Infrastructure-as-Code – Comments Declarative vs. Imperative Version Control Continuous Integration Dynamic vs. Static Azure Resource Manager Declarative Json-based Extensible (script, DSC) Entire infrastructure AWS CloudFormation Declarative Json-based Terraform Docker Not much declarative Single container Swarm, Kubernetes, Mesos, … Ansible, Puppet, Chef, CFEngine, … 21
  22. 22. So Version Control is…
  23. 23. Application Web page showing DB data • Environment • Configuration 23
  24. 24. Build & Packaging Collect everything 24
  25. 25. Build & Packaging – Comments Version Control Continuous Integration Semantic Versioning Artifacts Images (Docker, AMI, Azure VM images) 25
  26. 26. Deploy VSTS Release Management • Controlled Automation 26
  27. 27. Secrets Build time Signing 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, etc. 27
  28. 28. Deploy – Comments Category Dev / QA / Prod Target-bound Release cadence Feature toggles 28 Source: Pete Hodgson
  29. 29. Dynamic Configuration Basic Feature Toggle 29
  30. 30. Feature Toggles Management using Launch Darkly 30
  31. 31. …keep track
  32. 32. Database Invest early Improve 32 (Photo: Coonan, Inc.)
  33. 33. «Dessert» 33
  34. 34. People (Photo: DoD) 34
  35. 35. Automation (Photo: Alexander Dummer) 35
  36. 36. Resources 36 (Photo: Elya)
  37. 37. Partial checklist Where is configuration stored? How is configuration updated? Is production configuration isolated and secured? Where are the secrets and who can access them? How versions are tracked? Who authorizes changes and how? How data is preserved on updates? How data schema and module interfaces updates? Using environment images or scripts? How big is the deploy window? How are the tracked activities and errors? How are operational data is collected from production? 37
  38. 38. Bibliografy & References team-services/ 38
  39. 39. To know more Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation — J.Humble, D.Farley (Addison-Wesley) Delivery/dp/0321601912/ The Phoenix Project — G.Kim, K.Behr, G.Spafford (IT Revolution Press) DevOps-Helping-Business/dp/0988262509/ 39
  40. 40. To know more (cont’d) The DevOps Handbook — G.Kim, P.Debois, J.Willis, J.Humble (IT Revolution Press) Handbook-World-Class-Reliability- Organizations/dp/1942788002/ DevOps on the Microsoft Stack — Wouter de Kort (Apress) Microsoft-Stack-Wouter- Kort/dp/1484214471/ 40
  41. 41. To know more (cont’d) Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress) Delivery-Visual-Studio-2015/dp/1484212738/ Continuous Delivery with Windows and .NET — Matthew Skelton and Chris O'Dell (O'Reilly) perf/free/continuous-delivery-with-windows- and-net.csp 41
  42. 42. Call to action 42 (Photo: Francesco Canu)
  43. 43. Contacts @giulio_vian
  44. 44. Ciao!