Download presentation
Presentation is loading. Please wait.
Published byTyler Floyd Modified over 6 years ago
1
Where Dev meets Ops Session Code Paul Glavich / Chris Padgett
2
Agenda DevOps in brief – what we think it is
5/19/2018 4:32 PM Agenda DevOps in brief – what we think it is Component overview – the pieces Component breakdown Full stack – challenges and a few demos Some jokes in between Microsoft Ignite © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
3
DevOps == ? Addition to the buzzword arsenal Common goals
5/19/2018 4:32 PM DevOps == ? Addition to the buzzword arsenal Common goals United effort + vision © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
4
5/19/2018 4:32 PM A password cracker walks into a bar. Orders a beer. Then a Beer. Then a BEER. beer. b33r. BeeR. Be3r. bEeR. bE3R. BeEr © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
5
Component Overview Tooling Environment Continuous Integration ( CI )
5/19/2018 4:32 PM Component Overview Tooling Environment Continuous Integration ( CI ) Continuous Deployment ( CD ) Monitoring / Feedback Microsoft Ignite © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
6
Component Breakdown - Environment
5/19/2018 4:32 PM Component Breakdown - Environment Where am I deploying to? The case of immutable infrastructure Configuration Dev Experience © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
7
What is immutable infrastructure?
Microsoft Ignite 2016 5/19/2018 4:32 PM What is immutable infrastructure? Completely eliminates infrastructure config drift Everytime a new "build" is promoted to release, build an entirely new "stack", then tear down the old "stack" Removes the need to maintain separate UAT/Staging environments, in effect, the UAT/Staging environment becomes production* *Image from Martin Fowler ( * Might not be applicable for enterprises – security policies may dictate separation of dev/test/uat/prod © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
8
5/19/2018 4:32 PM Q: Why did the programmer quit his job? A: Because he didn’t get arrays. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
9
Component Breakdown - Tooling
5/19/2018 4:32 PM Component Breakdown - Tooling Visual Studio Team Services Octopus Jenkins Puppet, Chef Powershell Package Management (Nuget, npm)…. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
10
Immutable Infra – Making it real in Azure
Microsoft Ignite 2016 5/19/2018 4:32 PM Immutable Infra – Making it real in Azure © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
11
5/19/2018 4:32 PM Q: Why do programmers always mix up Halloween and Christmas? A: Because Oct 31 == Dec 25! © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
12
Component Breakdown - CI
5/19/2018 4:32 PM Component Breakdown - CI Branching strategy Depending on branching strategy, consider multiple CI pipelines for different branches. Can automate the creation of new CI pipeline (See demo later ) Master Feature 1 Feature 2 Hotfix CI Pipeline? CI Pipeline? © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
13
Component Breakdown - CI
5/19/2018 4:32 PM Component Breakdown - CI Unit Tests Add from the beginning. Consider as part of ‘done’ criteria Run as ‘first’ step in CI test process ‘fail fast’. Do not ‘add excessively’ to attempt to get 100% code coverage. Legacy code, highly coupled Harder to retrofit © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
14
Component Breakdown - CI
5/19/2018 4:32 PM Component Breakdown - CI Integration tests Typically cover more code Viewed as adding more value overall Slower – run as secondary step in CI test process For legacy/tightly coupled code: Begin by abstracting data access Integration tests can start at top most layer, hit abstract data layer © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
15
Component Breakdown – CI Static code analysis
5/19/2018 4:32 PM Component Breakdown – CI Static code analysis Code Quality metrics Static code analysis / FX Cop type rules SonarQube, NDepends Security scanning Many code quality scanners also identify potential security vulnerabilities HP Fortify - OWASP-ZAP for Jenkins © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
16
5/19/2018 4:32 PM I recently started a band called 1023 megabytes. We haven't got a gig yet. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
17
Component Breakdown - CD
5/19/2018 4:32 PM Component Breakdown - CD Configuration – Tokenisation and CMDB (Azure KeyVault) Manage config as code (flat files) with static references that are immutable VSTS, Octopus and others provide variable substitution © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
18
Component Breakdown - CD
5/19/2018 4:32 PM Component Breakdown - CD Environment progression Dev, QA, UAT, Pre prod, Production… Infrastructure as code Progression via branching and Pull requests Asset Promotion Progression via approval or automated process © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
19
Component Breakdown – CD Ensuring quality
5/19/2018 4:32 PM Component Breakdown – CD Ensuring quality Load testing Consider running short burst load tests to verify no regression VSTS and other cloud services can provide this Additional security scanning Penetration tests © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
20
Component Breakdown – CD Ensuring quality
5/19/2018 4:32 PM Component Breakdown – CD Ensuring quality Functional / UI tests Typically longest to run and most brittle - Selenium grid in the cloud for UI tests - Selenium cloud testing Often run daily to reduce pipeline execution time rather than every check-in Consider not running in Dev environment – ensure fast Build turn-around, run in QA env © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
21
Infrastructure Code/Promotion Workflow (for enterprises)
Microsoft Ignite 2016 5/19/2018 4:32 PM Infrastructure Code/Promotion Workflow (for enterprises) A modified version of github flow meant for enterprises who need to segregate dev and prod environments PR early – not at the end of your work! PRs will act as gates for changes to flow through environments Introduce branches in the middle as more environments are required (adds overhead) © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
22
Promotion Workflow - Paas
Microsoft Ignite 2016 5/19/2018 4:32 PM Promotion Workflow - Paas Manual approval steps can be in place for progression to new environments. As maturity improves, automated progression steps can be used. © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
23
5/19/2018 4:32 PM Before you can understand recursion, you must first understand recursion. © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
24
Component Breakdown - Monitoring
5/19/2018 4:32 PM Component Breakdown - Monitoring Performance metrics Azure AppInsights, NewRelic Setup alerts Usage analytics Google Analytics Kissmetrics - Feedback © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
25
Demo Let’s see what breaks
Microsoft Ignite 2016 5/19/2018 4:32 PM Demo Let’s see what breaks Generator used in this demo - © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
26
Wrapping up Begin building your pipeline at project inception
5/19/2018 4:32 PM Wrapping up Begin building your pipeline at project inception Understand your environments Continue to build your pipeline as you go Revise – Iterate – Improve © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
27
Continue your Ignite learning path
5/19/2018 4:32 PM Continue your Ignite learning path Visit Channel 9 to access a wide range of Microsoft training and event recordings Head to the TechNet Eval Centre to download trials of the latest Microsoft products Visit Microsoft Virtual Academy for free online training visit © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
28
Thank you Chat with me in the Speaker Lounge Find me @glav
5/19/2018 4:32 PM Thank you Chat with me in the Speaker Lounge Find © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.