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.

Continuous Delivery with Visual Studio Team Services and Azure - LDNA 12-2017

86 views

Published on

Limerick DotNet-Azure User Group (LDNA) 14 December 2017 Meetup (https://www.meetup.com/Limerick-DotNet/events/245114532/)
Continuous Delivery with Visual Studio Team Services and Azure

Published in: Software
  • Be the first to like this

Continuous Delivery with Visual Studio Team Services and Azure - LDNA 12-2017

  1. 1. Continuous Delivery with Visual Studio Team Services and Azure Giulio Vian 14th December 2017
  2. 2. Continuous Delivery featuring Visual Studio Team Services and Azure Giulio Vian 14th December 2017
  3. 3. About me 3 giulio.dev@casavian.eu @giulio_vian http://blog.casavian.eu/ https://tfsaggregator.github.io Hardware spec: 1KB RAM (upg. 16KB) 4KB ROM
  4. 4. What we will talk about? Theory Demos Environment hosting the app The Application itself Deployment Dynamic configuration Wrap-up 4 100/200-level Deck on SlideShare Bibliography at the end
  5. 5. Theory 5
  6. 6. Continuous Delivery «The ability to get changes of all types – including new features, configuration changes, bug fixes and experiments – into production, or into the hands of users, safely and quickly in a sustainable way» — Jez Humble
  7. 7. Deployment Pipeline Source: Jez Humble © 2010-2017
  8. 8. Deployment Pipeline © Microsoft
  9. 9. Deployment Pipeline Source: jenkins.io
  10. 10. Continuous Deployment «Every change goes through the pipeline and automatically gets put into production, resulting in many production deployments every day» — Martin Fowler
  11. 11. Illustration © David Schmidt 1992 Experiment Learn Dev Flow Feedback Ops
  12. 12. Demos What? Build & Package Where? Infrastructure-as-Code How? Deploy 12
  13. 13. What? No Docker?
  14. 14. 14 Application Web page showing DB data • Environment • Configuration
  15. 15. 15 Build (& Packaging) Collect everything
  16. 16. Build – Comments Version Control Continuous Integration Semantic Versioning Artifacts Packages Images (Docker, AMI, Azure VM images) 16
  17. 17. 17 Infrastructure-as-Code Azure Resource Manager • Code • Automation
  18. 18. Infrastructure-as-Code – Comments Declarative vs. Imperative Version Control Continuous Integration Dynamic vs. Static Capacity planning Running costs (Buy vs. Make) Azure Resource Manager Declarative JSON-based Extensible (script, DSC) Entire infrastructure AWS CloudFormation Declarative JSON- or YAML- based Terraform Ansible, Puppet, Chef, CFEngine, … Docker Not much declarative Single container Swarm, Kubernetes, Mesos, … 18
  19. 19. Version Control ?!
  20. 20. 20 Deploy VSTS Release Management Controlled Automation
  21. 21. Deploy – Comments Category Dev / QA / Prod Target-bound Release cadence Feature toggles
  22. 22. 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.
  23. 23. Database automation Invest early Improve Improve Improve Improve (Photo: Coonan, Inc.)
  24. 24. Source: Pete Hodgson Feature Toggles Release Toggles Business owned Transitionary Experiment Toggles Business / dev owned Transitionary Ops Toggles Dev / Ops owned Short / long-lived Permission Toggles Business / dev owned Long-lived
  25. 25. 25 Feature Toggles Launch Darkly
  26. 26. Wrap-up 26
  27. 27. To know more 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/ 27
  28. 28. To know more (cont’d) DevOps on the Microsoft Stack — Wouter de Kort (Apress) https://www.amazon.com/DevOps-Microsoft-Stack-Wouter- Kort/dp/1484214471/ Beginning Build and Release Management with TFS 2017 and VSTS — Chandrasekara, Chaminda (Apress) http://www.apress.com/gp/book/9781484228104 Refactoring Databases — Scott J Ambler and Pramod J. Sadalage (Addison-Wesley) https://www.amazon.com/Refactoring-Databases- Evolutionary-paperback-Addison-Wesley/dp/0321774515/ 28
  29. 29. More References https://github.com/giuliov/DevOps-by-examples http://www.slideshare.net/giuliov/presentations http://agilemanifesto.org/ https://continuousdelivery.com/ https://azure.microsoft.com/en-us/services/key-vault/ https://aws.amazon.com/kms/ https://martinfowler.com/articles/evodb.html http://databaserefactoring.com/ http://agiledata.org/essays/databaseRefactoring.html http://martinfowler.com/articles/feature-toggles.html https://launchdarkly.com/ https://blogs.msdn.microsoft.com/buckh/2016/09/30/controlling-exposure-through-feature-flags-in-vs- team-services/ 29
  30. 30. 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? 30
  31. 31. The Life and Times of Scrooge McDuck The Life and Times of Scrooge McDuck Companion Additional bibliography This slide won’t be published

×