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

Azure Meetup Frankfurt 06-2017 - DevOps by examples

Azure Meetup Frankfurt 06-2017 - DevOps by examples

"DevOps by examples" session at Azure Meetup Frankfurt June 2017
https://www.meetup.com/Azure-Meetup-Frankfurt/events/239850328/
English includes screenshots

Giulio Vian

June 01, 2017
Tweet

More Decks by Giulio Vian

Other Decks in Programming

Transcript

  1. This Session 100/200-level Grasp the essentials of the DevOps approach.

    (well …, some essentials) Leave open questions to the end Something Olde, Something New, Something Borrowed, Something Blue 4
  2. What we will talk about? DevOps intro Demos Environment hosting

    the app The Application itself Deployment Dynamic configuration Monitoring Wrap-up 5 Ops Dev
  3. Your turn Azure Visual Studio Team Services (VSTS) ASP.NET Linux

    (Ubuntu) Developers Infra Engineers Architects Managers 6
  4. 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
  5. …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 http://agilemanifesto.org/
  6. 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, … 18
  7. Build & Packaging – Comments Version Control Continuous Integration Semantic

    Versioning Artifacts Images (Docker, AMI, Azure VM images) 21
  8. 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
  9. Deploy – Comments Category Dev / QA / Prod Integrated

    (dynamic) Release cadence Feature toggles 24 Source: Pete Hodgson
  10. Application Monitoring Errors Performance Availability Scalability Analytics App Insight HockeyApp

    ELK ElasticSearch+LogStash+Kibana Splunk BugSense Fabric Firebase New Relic … 27
  11. Troubleshooting & Feedback loop Access to production Read-only Debug Sensitive

    production data Design/architecture Quality of data Those Precious PDBs 29
  12. Bibliografy & References 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/ 36
  13. 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/ 37
  14. To know more (cont’d) 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.com/Continuous- Delivery-Visual-Studio-2015/dp/1484212738/ 38
  15. 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? 39