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

Slides:



Advertisements
Similar presentations
customer.
Advertisements

Testing Azure Applications with Visual Studio 2010 Abhishek Agrawal Senior Program Manager Visual Studio Microsoft Corporation
The Microsoft DevOps Vision
Microsoft Virtual Academy
Zero to DevOps Donovan
1/27/2018 5:13 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Run Azure Services in your datacenter
Building ARM IaaS Application Environment
4/24/ :07 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Modern lifecycle with DevOps
Deployment Planning Services
0 to DevOps. 0 to DevOps Who am I? Donovan Brown Fun Stuff 5/7/2018 Who am I? Donovan Brown Principal DevOps Manager.
Microsoft Virtual Academy
S4 Solution Specialist Sales Summit
Creating Enterprise Grade BI Models with Azure Analysis Services
Deployment Planning Services
Modern Application Lifecycle Management
Microsoft Ignite /4/2018 8:46 AM
Deployment Planning Services
Developing Hybrid Apps on Microsoft Azure Stack
How to expand your Azure Stack marketplace
TFS Database Import Service for Visual Studio Team Services
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
7/2/2018 2:39 AM BRK2413 Customer lifecycle with LCS: Dynamics 365 for Finance and Operations, Enterprise edition Manali Dongre Senior Program Manager.
Configuration Management with Azure Automation DSC
Zero to DevOps Louis Berman Cloud Solutions Architect
9/19/2018 5:55 AM How Microsoft does IT: Modern Cloud management with Operations Management Suite Seth Malcolm IT Showcase © Microsoft Corporation. All.
Microsoft Azure Certified
Release Management with Visual Studio Team Services
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Microsoft Build /8/2018 5:15 AM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Microsoft Azure P wer Lunch
Confidence at speed: Visual Studio 2017 and your CI pipeline
Microsoft /12/2018 8:06 AM BRK2103 Deliver more features faster with a modern development and test solution Claude Remillard Group Program Manager.
DevOps Fundamentals Configuration Management
Continuous Delivery for Microsoft Azure
Microsoft Ignite NZ October 2016 SKYCITY, Auckland.
Continuous Delivery with Visual Studio Team Services
Mobile Center and VSTS:​ Better together for your Mobile DevOps
11/29/2018 2:52 AM MDC317A Continuous Delivery - The Agile End to End Story for Developers & IT Pros! Morgan Webb Technical © 2013.
TFS from on-prem to the cloud with Azure DevOps Services
Build /2/ The future of Azure devops: Building and managing cloud applications lifecycle across your teams Bradley Millington Program.
TechEd /3/2018 8:11 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
DevOps Fundamentals Automated Testing
Microsoft Virtual Academy
12/26/2018 1:44 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Securely pass passwords into your deployment
Release Management with Visual Studio Team Services
DevOps Fundamentals Continuous Integration
From Development to Production: Optimizing for Continuous Delivery
Introduction to VSTS Database Professional
The Ops side of DevOps Manager Microsoft
From Development to Production: Optimizing for Continuous Delivery
Common Data Service Data Integrator
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
DevOps better together with System Center 2012 SP1 and Visual Studio
What’s new in Visual Studio 2012
04 | Continuous Deployment and Integration
Day 2, Session 2 Connecting System Center to the Public Cloud
01 | A Lap Around Visual Studio Online
Office 365 Development July 2014.
7/19/2019 2:53 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
7/28/ :33 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or.
Azure AD Simon May Technical Evangelist.
Welcome to Architect Insight 2010
Getting Started with Team Foundation Service
Azure DevOps Integration
Miao Jiang API Management: deep dive - Part 1
Microsoft Virtual Academy
Presentation transcript:

Microsoft Ignite NZ 25-28 October 2016 SKYCITY, Auckland

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 james@zarmada.com © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

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.

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.

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.

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

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.

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

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 email, 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 through @mentions, 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.

Demo Plan + Track

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.

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.

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

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

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.

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": "2015-08-01", "name": "[variables('hostingPlanName')]", "location": "[resourceGroup().location]", "sku": { "name": "[parameters('p').skuName]", "tier": "[parameters('p').tier]", "capacity": "[parameters('p').capacity]" }, "properties": { "numberOfWorkers": 1 } { "$schema": "https://schema...", "contentVersion": "1.0.0.0", "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.

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.

Demo Develop + Test

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

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.

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.

Demo Release

Plan the next iteration Monitor + Learn Feedback Monitor 4

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.

Demo Monitor + Learn

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.

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.

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.