DevOps on the Microsoft Stackteamsystemcafe.blob.core.windows.net/files/DevOps on the...

64
DevOps on the Microsoft Stack Randy Pagels Sr. Developer Technology Specialist US DX Team – [email protected]

Transcript of DevOps on the Microsoft Stackteamsystemcafe.blob.core.windows.net/files/DevOps on the...

DevOps on the Microsoft Stack

Randy PagelsSr. Developer Technology SpecialistUS DX Team – [email protected]

iOSWindows AndroidLinux

.NET C# C++ JavaScript PHP

Python Node.js R Cordova Unity

Java Perl

Application lifecycle management

Modern app development Continuous value delivery and rapid response to change

How we used to workWe did ask for feedback after each milestone – but we could not really react to it.

For the most part, we would tell everybody “sorry” - and push things to the next release.

We did find and fix bugs – without really knowing if we built the right thing in the first place.

We had closed silos of information across different organizations, hurting collaboration.

Our own journey

Planning Code Test & Stabilize Code Test & Stabilize

Beta? RTM?2.5 years!

Planning Chat

Every 3 sprints

Sprint

3 week sprints

Season

6 monthseason

Vision

18 monthvision

How we work nowWe ship frequently with minimum friction

Build>Deploy>Test reliably, hundreds of times a day

We continue to meet a rigorous on-premises quality bar

We build confidence through staging, exposure control & rich telemetry

Where we are today

Visit http://stories.visualstudio.com to get the full story!

Pla

n +

Develo

p IDE

Team Collaboration

Bu

ild +

Test Build/CI

Test

Dep

loy Release

Mo

nito

r +

Learn Monitor

MicrosoftEcosystem

DEV TEST QA

ON-PREMISES | HYBRID | PUBL IC CLOUD

Pla

n +

Develo

p IDE

Team Collaboration

Bu

ild +

Test Build/CI

Test

Dep

loy Configuration

Mo

nito

r +

Learn Monitor

OSSEcosystem

Release

This graphic shows OSS and partner products

integrated with the Microsoft DevOps solution

Plan1 Monitor + Learn

ReleaseDevelop + Test2

Development

Production

DevOps

4

3

It starts with an idea – and a plan

how to turn this idea into reality …

Manage work

Develop + Test 1

Plan

Project starts

PlanTrack progress

Agile Tools

Work Item Visualization

Available in the Visual Studio Marketplace

Write Code

Unit Testing

2

Build

Version Control

Build Verification

Release

Once the iteration starts, developers

turn great ideas into features …

Develop + Test

Unit Testing

Microsoft Fakes

Stubs

A stub replaces a class with a small substitute that implements the same interface

Shimes

A shim modifies the compiled code of your application at run time so that instead of making a specified method call, it runs the shim code that your test provides

Deployed component depends on external parts that are

incomplete or exhibit variable behavior.

Component isolated testing. The stubs and shims work

under the control of the tests.

Isolate the code you are testing by replacing other parts

of the application with stubs or shims.

Small pieces of code that are under the control of your

tests.

Code Maps

• Filter link types on Code maps and dependency graphs

• Drag and drop from object browser or class view

• Create new diagrams from selected nodes

• Create new blank Code Map from the simplified Architecture menu

• Faster display and better responsiveness

• Less clutter with implicit .NET type dependencies hidden

• Filters for code elements as well as dependency links

Diagnostic Tools window

Debugger Events (with IntelliTrace)

See memory Usage, CPU Usage, and more

Next generation build

Continuous integration to find build issues earlier

Create your own build definition templates or use community templates from your Git provider

Build Summary Report

Technical Debt Bottleneck

… but technical debt slows it down

… but technical debt slows it down

… but technical debt slows it down

Makes forward progress on customer value inefficient

Technical debt zaps productivity

Technical makes code hard to understand, fragile, difficult to

validate

Technical creates unplanned work that blocks progress

50% of capacity is zapped by technical debt

SonarQube Integration

code analysis issues duplicate code code complexity

not enough tests redundant & flaky tests architectural spaghetti

Examples

Cloud

Load Testing

Integration testing

environment

Automated functional

testing environment

3

Pre-production

environment

Staging

environment

Monitor + Learn

When all tests pass, the build is deployed to testing

environments for each stage in the release process

Release

Release management

ReleasePipeline

UI Automation

Coded UI tests provide a way to create fully automated tests to validate the functionality and behavior of your application’s user interface

Selenium automates browsers. Primarily, it is for automating web applications for testing purposes, but is not limited to just that

Test Run Hub

Fast, easy, and lean dev-test environments in Azure.

Specifically for your team. On demand.

Azure Dev/Test Labs Worry free self-service

Fast Provisioning, “ready to test”

Create once, use everywhere

Integrate with your toolchain

Cloud Based Load Tests

Learn and understand how users use your app, how it reacts

and quickly fix issues and bugs

Monitor + Learn

4

Monitor

Feedback

Plan the next iteration

Visual Studio Application InsightsDetect issues, diagnose crashes and track usage in your web and mobile apps

Announcing Public Preview on Azure Preview Portal

Monitor ASP.NET, Java and other web apps and services

Support for Android, iOS and Windows mobile apps

Pricing details available now including free tier

Check it out!

http://azure.microsoft.com/en-us/services/application-insights

Application insights

Application insights

Power BI Integration

“How many pull requests per day? Per week?”

Gain understanding and insights into projects in VSTS

Automate Everything

API APPS

Easily build and consume APIs in the cloud

WEB APPSWeb apps that scale with your

business

LOGIC APPS

Automate business process across SaaS and on-premises

MOBILE APPS

Build Mobile apps for any device

Azure App Service

.NET, Java, Node.js, PHP, Python

Auto OS patching

Auto scale/built in load balancing

Integration with existing apps

Continuous deployment

Azure Web AppsCloud Deployment Slots

Azure Web Apps: Web Jobs

run.cmd, run.bat run.exe run.ps1 run.sh run.php run.py run.js

BlobTrigger, TableTrigger, QueueTrigger, ServicebusTrigger

Scale: Singleton, Multi-instance

Job Type: On-Demand, Scheduled, Continuous

WebJobs SDK Feature:

Deployment: Portal, Visual Studio, CLI, Git

Azure

Web App: DevOps Workflow

DEMO

www.teamsystemcafe.net/resources

Next Steps Create a Visual Studio Online account

Try the Release Management Service & Application Insights

visualstudio.com

Download Visual Studio 2015

Use your Visual Studio Online & Azure benefits

msdn.microsoft.com

Microsoft’s DevOps Journey

stories.visualstudio.com/devops

Try App Service: Web Apps today

tryappservice.azure.com

DevOps and Application Lifecycle Management

msdn.microsoft.com/en-us/library/fda2bad5.aspx

Miscellaneous

Access to Azure

All MSDN subscribers have access to $50 to $150 monthly Azure credit

Use all your MSDN software benefits in Azure for Dev/Test

Spin up Virtual Machines, Websites, Databases, etc.

What can you do with $100 in Azure?

3 VMs for 16 hours a day

80 VMs for 20 hour load test

Up to 500 web sites plus SQL DB

Azure Automation

Automation as a ServiceThink Orchestrator or Azure Pack Service Automation, but in Azure

Automate repetitive or long-running processes

Script Authoring EnvironmentUses PowerShell Workflows

Combination of PowerShell 4.0 and WF

Uses Integration Modules, very similar to PowerShell Modules

Scheduling and MonitoringExecute scripts on a schedule

Review execution status on a dashboard

.Net Walkthrough

Java Walkthrough