Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft Ignite NZ 25-28 October 2016 SKYCITY, Auckland.

Similar presentations


Presentation on theme: "Microsoft Ignite NZ 25-28 October 2016 SKYCITY, Auckland."— Presentation transcript:

1 Microsoft Ignite NZ 25-28 October 2016 SKYCITY, Auckland

2 DevOps in the real world: a true story
Microsoft Ignite 2016 9/19/2018 6:27 AM DevOps in the real world: a true story M321 James Carpinter © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

3 Our history From @nzthiago & @dtzar DEV OPS 9/19/2018
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

4 S4 Solution Specialist Sales Summit
9/19/2018 6:27 AM “DevOps is development and operations collaboration” “DevOps is treating your infrastructure as code” It’s DevOps! It’s DevOps! “DevOps is using automation” “DevOps is feature switches” It’s DevOps! It’s DevOps! “DevOps is small deployments” “Kanban for Ops?” © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

5 Our story DevOps is a combination of culture, process, and tools
Microsoft Ignite 2016 9/19/2018 6:27 AM Our story DevOps is a combination of culture, process, and tools You can’t buy it (DevOps != VSTS) And we only have an hour… so we’ll stick to practical steps There is no single way to do DevOps Even if you snap to a product like VSTS But lots of good examples for teams of various sizes so borrow what works This is the story of our team Built a web app serving a global audience Multi-tiered loosely coupled .NET app running on Azure Numerous integration partners incl. on premises Soft launched, regular feature & bug fix releases Team size of around ~20 people © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

6 Today’s session 200 level Practices 300 level Product w/ Practice
100 level Overview Azure Deployment Template with Azure Website + SQL DB Infrastructure as Code Chef Recipe with Linux VM on Azure People, Process, Business Value, etc. Visual Studio Team Services (git) + Jenkins (build) Continuous Integration Github + Visual Studio Team Services + Gradle

7 4 1 3 2 Today’s session Development Production Monitor + Learn
Microsoft Ignite 2016 9/19/2018 6:27 AM Today’s session 4 1 Monitor + Learn Plan + Track Development Production 3 2 Release Develop + Test © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

8 Plan + Track Develop + Test 1 Project starts Manage work
Track progress Plan 1

9 Plan + Track Make VSTS the source of truth Design for process change
Microsoft Ignite 2016 9/19/2018 6:27 AM Plan + Track Make VSTS the source of truth Say no to , Excel, and SharePoint Backlog items, tasks, bugs but also TODOs, questions, CRs, PRs, tests, meeting actions… Design for process change The process should evolve JIT and be user-driven; the platform – VSTS, aka VSO, aka TFS – releases every three weeks so expect it Customize your dashboards, boards, work items, queries & process templates Reach your team Insufficient engagement == failure Direct connect integrate with Slack etc., or fallback to tools like Excel Build team-specific experiences © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

10 Demo Plan + Track

11 Develop + Test 2 Release Write Code Unit Testing Version Control Build
Microsoft Ignite 2016 9/19/2018 6:27 AM 2 Develop + Test Write Code Unit Testing Version Control Build Build Verification Release © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

12 Develop + Test: Process
Microsoft Ignite 2016 9/19/2018 6:27 AM Develop + Test: Process Enterprise-style branching Git branches are cheap but long running branches create merge debt so PR regularly Master should always be in a known good state so prevent direct merges Ready or not, it’s going to production so use feature flags if it’s not ready Week 1 Week 2 Week 3 N-2 N-1 Master Test Dev © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

13 Develop + Test: Process
Enterprise-style branching Git branches are cheap but long running branches create merge debt so PR regularly Master should always be in a known good state so prevent direct merges Ready or not, it’s going to production so use feature flags if it’s not ready Drive visibility through VSTS Start your branch from VSTS: keeps work item associated & supports unexpected absences Finish your branch with VSTS: use pull request to require feedback but also share knowledge

14 Develop + Test: Process
Enterprise-style branching Git branches are cheap but long running branches create merge debt so PR regularly Master should always be in a known good state so prevent direct merges Ready or not, it’s going to production so use feature flags if it’s not ready Drive visibility through VSTS Start your branch from VSTS: keeps work item associated & supports unexpected absences Finish your branch with VSTS: use pull request to require feedback but also share knowledge Build & test on every commit Require successful build before a merge Hosted build is cheap & reliable but IO is slow + tool chain is auto-upgraded

15 Develop + Test: Platform
Microsoft Ignite 2016 9/19/2018 6:27 AM Develop + Test: Platform Start with Azure AD Use it within your solution to allow your apps to interact with platform; doesn’t require you to use it outside Each app has a service principal with cert auth © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

16 Develop + Test: Platform
Microsoft Ignite 2016 9/19/2018 6:27 AM Develop + Test: Platform Start with Azure AD Use it within your solution to allow your apps to interact with platform; doesn’t require you to use it outside Each app has a service principal with cert auth Infrastructure as code Azure service catalog has exploded; overhead of manual provision/scripts limits adoption ARM enables managed & predictable deployments; also can spin up new dev labs Parameterize per environment { "type": "Microsoft.Web/serverfarms", "apiVersion": " ", "name": "[variables('hostingPlanName')]", "location": "[resourceGroup().location]", "sku": { "name": "[parameters('p').skuName]", "tier": "[parameters('p').tier]", "capacity": "[parameters('p').capacity]" }, "properties": { "numberOfWorkers": 1 } { "$schema": " "contentVersion": " ", "parameters": { ... }, "variables": { ... }, "resources": [ ... ], "outputs": { ... } } © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

17 Develop + Test: Platform
Microsoft Ignite 2016 9/19/2018 6:27 AM Develop + Test: Platform Start with Azure AD Use it within your solution to allow your apps to interact with platform; doesn’t require you to use it outside Each app has a service principal with cert auth Infrastructure as code Azure service catalog has exploded; overhead of manual provision/scripts limits adoption ARM enables managed & predictable deployments; also can spin up new dev labs Parameterize per environment Configuration as code Most config should be managed like code Avoid config transforms & per-env. packages; instead, use ARM & KeyVault { "parameters": { "appName": { "value": "examplemobileapp" }, "sqlServerAdminLogin": { "value": "NewAdmin" "sqlServerAdminPassword": { "value": "GEN-PASSWORD" } © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

18 Demo Develop + Test

19 Release Monitor + Learn 3 Cloud Load Testing Integration testing
environment Staging environment 3 Automated functional testing environment Pre-production environment Monitor + Learn

20 Release Everyone can deploy everything
Microsoft Ignite 2016 9/19/2018 6:27 AM Release Everyone can deploy everything Make it a single click via VSTS; no surprises by disabling auto-deploy & adding approvers Start with a full app & infrastructure release, then decompose for separate dev/test cycles Consider PowerShell + ARM to enable local reuse for local dev/test environments © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

21 Release Everyone can deploy everything Testing in production
Microsoft Ignite 2016 9/19/2018 6:27 AM Release Everyone can deploy everything Make it a single click via VSTS; no surprises by disabling auto-deploy & adding approvers Start with a full app & infrastructure release, then decompose for separate dev/test cycles Consider PowerShell + ARM to enable local reuse for local dev/test environments Testing in production “I don’t always test my code but when I do I do it in production” -- ?? Use deployment slots for staging, production, and production – 1 versions Use staged rollouts for build validation Use A/B testing for data-driven development And then roll forward (or back) © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

22 Demo Release

23 Plan the next iteration
Monitor + Learn Feedback Monitor 4

24 Monitor + Learn Availability monitoring Application Insights
Microsoft Ignite 2016 9/19/2018 6:27 AM Monitor + Learn Availability monitoring Configure synthetic tests to ensure you know when your application is down (i.e. non-Twitter based status monitoring) Application Insights Default integration provides immediate value Advanced integration with your logging tool or direct with AI SDK improves visibility Create alerts & even open bugs from portal Don’t be limited by default blades: look to App Insights Analytics & Power BI for insight Platform tools Everyone gets access: RBAC provides granular controls, adjust permissions from dev -> prod Dashboards can now be shared  © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

25 Demo Monitor + Learn

26 Wrap Up There is no one way to do DevOps Microsoft tools worked for us
Microsoft Ignite 2016 9/19/2018 6:27 AM Wrap Up There is no one way to do DevOps It’s more than just technology: it spans culture, process, & tools Every vendor will have a different spin so take what works for you Microsoft tools worked for us It’s not just VSTS: architecture, Azure, .NET, AAD, etc. need to be considered Keep in mind our patterns aren’t the only way – or may be even the right way – to use them Start small and then fail fast + often Don’t stop improving Empower your team to innovate and drive the evolution And build on a platform that adopts the same attitude © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

27 Our future From @nzthiago & @dtzar DEV OPS Production 9/19/2018
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

28 9/19/2018 6:27 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "Microsoft Ignite NZ 25-28 October 2016 SKYCITY, Auckland."

Similar presentations


Ads by Google