[ppt]powerpoint presentationvideo.ch9.ms/teched/2012/na/azr312.pptx · web viewfield engineering...

43
How to Move and Enhance Existing Apps for Windows Azure Tom Fuller, Purush Vankireddy, Greg Varveris Field and Service Engineering Microsoft Corporation AZR312

Upload: doannhi

Post on 27-May-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

How to Move and Enhance Existing Apps for Windows AzureTom Fuller, Purush Vankireddy, Greg VarverisField and Service EngineeringMicrosoft Corporation

AZR312

Page 2: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

This Session Is…Your cloud atlasA long term path to business agility via the cloud

Good BetterBest

A hybrid success storyA pragmatic plan for getting to PaaS

Page 3: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Your Cloud Atlas

Tom FullerPremier Field EngineeringMicrosoft

Navigating All Things ‘Cloud’

Page 4: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

The JourneyM

arch

20

10

Nove

mbe

r 20

10

June

20

12

Mar

ch

2011

Janu

ary

2012

"This is the bet for the company, … for the cloud, we're all in.“ -Steve Ballmer

SDK 1.3 Released

July

20

11

VM Role and Azure Connect Beta

Nove

mbe

r 20

11

SDK 1.6 Released

Field and Services Engineering partner to migrate MSDN/TechNet

Field Engineering releases offerings to assist in moving to PaaS

Field Engineering begins supporting IaaS customer previews

Field and Services Engineering begin working on MSDN/TechNet migration to IaaS

Windows Azure IaaS Era Begins

Page 5: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Beyond Public CloudManaged public clouds != happiness

Bare Metal

Private Virtualized

Hybrid

SpecializedNon-VirtualUltra Performant

Compliance ConstrainedPre-InvestedOn-Prem Infrastructure Bound

Niche NeedContinuity and RecoveryIncreasing Reach

Page 6: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

What is a Private Cloud?Shift your datacenter to a single compute ‘cloud’Key Characteristics

Pooled ResourcesSelf-ServiceElasticUsage Based

Page 7: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Breaking Down WallsOn-Premise applications tend to be

Dependent

Windows Components (DTC, WAS, COM+, etc.)

Complicated

Not Constraint Friendly (Storage Limits, Rigid Auth, etc)Knowledge Leak Issues

Authn/Authz InfrastructureWindows Software + License (ex. Sharepoint)

Established User BaseScaling arch is vertical

Page 8: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

All About the AppsThree typical solution architecturesGeo-Distributed Service

Public Facing Website

Intranet LOB Application

No data privacy or compliance Issues

Depends on specialized Windows Server Infra. (ex. DTC, AD)Usage patterns map well to the cloud

High data storage requirementsNo complex dependenciesStateless design for UI TierHigh scale and elasticity demands

No data privacy or compliance Issues

Infra. dependencies can be automated

Trivial to move toward Statelessness and high ResiliencyPerformance is key

Page 9: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

App #1: Inventory Management (Centralized)

User (Chicago)

LB

Existing Centralized On

Premise Architecture

Product Inventory

Service (1)

Product Inventory

Service (n)

Central Inventory

User (Los Angeles)

User (Orlando)

Branch Inventory (Los Angeles)

Branch Inventory (Chicago)

Branch Inventory (Orlando)

Requires 2-Phased Atomic

Transaction

Page 10: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

App #1: Inventory Management (Distributed)

Inventory Service

(1)

User (Los

Angeles) LB

Inventory Service

(n)

User (Orlando)

Inventory Service

(1)LB

Inventory Service

(n)

LB

Inventory Service

(1)

Inventory Service

(n)

User (Chicago)

Branch Inventor

y Central Inventor

y

Branch Inventory

Central Inventory

Branch Inventory

Central Inventory

! No Distributed Transaction Coordinator

Available in PaaS Today!

!

Page 11: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Why Forklift?Just make it work baby

Triggers Privacy Options

Usage ChangingHardware RefreshingCapacity Exceeded

Retain Control VM MobilityExtend your DC via VPNUse your Windows SKUs

Move Non-Sensitive Components

Missing Platform Features

Page 12: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

The Distributed Transaction CoordinatorWhat is it?

Part of Windows since Win2K (could even be added to NT4)Distributed Tx Coordination for COM and .NET

Why does it require IaaS?Typically uses windows integrated authRequires stateful log fileWindows Firewall modifications

Legacy solutions depend on itHeterogeneous Resource ManagersCOM+

Page 13: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

demo

Tom FullerPremier Field EngineeringMicrosoft

IaaS Features Enable DTC

Page 14: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Summary

An overview of ‘cloud’ paths

Looked at 3 types of solutions to move

Reviewed how IaaS helps you get to the cloud

This was good … how could it be better?

Page 15: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

MSDN/TechNet

Purush VankireddyDirector of Service EngineeringMicrosoft

A Hybrid Success Story

Page 16: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Moving a Public Facing WebsiteThe world of Enterprise Platform Experience (EPX)

Scope Commitments

Priorities

Largest developer and ITPRO network for MicrosoftOver 50M unique visitors / 300M page viewsOver 2.8 TB content

Over 600 physical hosts

30 releases per month

99.9% availability

3 sec or less response time

SLA compliance of over 90%

Scale and agility

Cost efficiencies

Innovation and new technologies

Page 17: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Why Cloud?Cloud impact on EPX

Agility Manageability

Hosting

Launch readinessEngineering investments

Fail fast and learn

Efficient provisioning

Increased utilization > 50%20% cost reduction

Reduce labor

Deployments and monitoringDynamic scaling

Page 18: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Windows Azure Migration Goals

No Architectural/ Code changes Performance =

on-prem hosted

Manageability and operability

Dynamic scaling and geo redundancy

Page 19: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

App #2: MSDN/TechNetUser

LB

Web Front End

(1)

Web Front End

(2)

Web Front End

(n)Log Aggregator

SQL Front

End (1)

SQL Front

End (2)

SQL Front

End (n)

Publishing Tools

DistributorPublisher

4 TB

Build Services

LB

Existing On Premise

Architecture Bursting and Hosting in Windows

Azure

Web Role (n + 1)

Web Role (n + 2)

SQL Front End (n + 1)

SQL Front End (n + 2)

Web Role (n)

SQL Front

End (n)

4 TB

4 TB

4 TB

4 TB

4 TB

4 TB

LB

Future State: Everything in

PaaS/IaaS

Web Front End

(1)

Web Front End

(2)

Web Front End

(n)

SQL Front

End (1)

SQL Front

End (2)

SQL Front

End (n)

4 TB

4 TB

4 TB

Log Aggregator

Publishing Tools

4 TB

Build Services

DistributorPublisher

User

Page 20: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

demo

Purush VankireddyDirector of Service EngineeringMicrosoft

TechNet Database on IaaS

Page 21: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Performance Metrics for both PaaS and IaaS

Site Migration Performance Criteria• Start Render Time: PaaS / IaaS delta <1second• Finish Render Time: PaaS / IaaS delta <1second

Technet Sharepoint Home

Script Center Home Page

Internet Explorer Homepage

Technet Exchange Server

Technet Homepage0

0.20.40.60.8

11.21.41.61.8

PaaS / IaaS

Paas/On-Prem Iaas

Page

fini

sh r

ende

r ti

me

n se

cond

s

Page 22: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Summary

This was great … can it get any better?

Completed Migration in 3 Months

80 instances added for Win8 beta!

Learning curve smaller than expected!

Connectivity is critical!

Deployments & Monitoring

Page 23: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

The End State

Greg VarverisPremier Field EngineeringMicrosoft

Moving directly to PaaS

Page 24: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Moving directly to PaaS

Simple

Stateless by design

Complex

Code is incompatible as is (data access, IO, stateful, etc…)Environment and config highly specialized

Few dependencies

Vanilla environment config Runtime shared and trends unknown

Platform constraints a non issue

Page 25: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

App #3: Expense Report Application

User

LB

Existing Siloed On Premise Architecture

Expense Web UI (1)

Expense Web UI (n)

Expense Repository

All Operations In Process and All Data persisted in a

single DB

Expense Web UI (1)

Expense Repository

Image Resizer (1)

Receipt Storage

LB

Image Resizer (n)Expense Web

UI (n)

Image Resizing Queue

Move and Enhance

Application to use pure PaaS

Split up processing for scale and cost

reduction

Page 26: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Why move this app?Is it really worth it?

Agility Cost

Expense reports filed at end of month

Managed OS servicing and high availability

Enable global workforce

Data storage of receipts for 7 years

Licenses and maintenance costs folded into subscriptionDR built into the platform

Page 27: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

EnvironmentOverall

GAC’d assembliesCOM objects

IISWebsites and application pools mostly use defaultsCustom ISAPI filters or HTTP ModulesUse startup scripts/OnStart method to make changesWindows Authentication

Page 28: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

CodeMost code can remain unchanged … except

Stateful Non-Resilient

Dependent

Registry Access

File IO

Data Access (Try/Catch/Retry)

Windows Auth InfrastructureLegacy .INI files

Hardcore Networking

Unhandled ExceptionsIn Memory State

Mishandled

Page 29: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Code – Data Accesspublic static SqlDataReader ExecuteDataReader(SqlCommand command, CommandBehavior commandBehavior, SqlRetry retry){ SqlDataReader reader = null; int retryCount = 0; while (retry.Retries > 0){ try{ reader = command.ExecuteReader(commandBehavior); break; } catch (SqlException ex){ if (!IsRetryCapable(ex)) throw;

retry.Retries--; retryCount++; if (retry.Retries == 0) throw new ApplicationException("Failed to execute command. Max retries reached.", ex);

int sleepTime = (int)Math.Pow(retry.Retries + 1, 2.0) * retry.RetryLag; if (sleepTime > retry.MaxSleep) sleepTime = retry.MaxSleep; else if (sleepTime < retry.MinSleep) sleepTime = retry.MinSleep;

Thread.Sleep(sleepTime); } } return reader;}

private static bool IsRetryCapable(SqlException sqlException){ foreach (SqlError error in sqlException.Errors) { switch(error.Number) { case 40197: return true; case 40501: return true;} } return false;}

Page 30: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

RuntimeOn Premise Environment != Windows Azure Environment

Understand the loadSt

ep 1

Optimize

Step

2

Compare to VM sizes

Step

3

Deploy, Test, Repeat

Step

4

Page 31: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Understand the loadIIS Logs (Requests/Hour)

Server CPU (Overall)

Website traffic is typically

cyclical

IIS CPU (w3wp.exe)

Impacted by Virus Scanners

and other processes

IIS CPU less

than Overall

CPU

Page 32: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Optimize app/siteClean things up, you’re paying for it!

Web Sites Background Workers

HTTP 302: Causes extra requestsHTTP 304: More than 1 request for unchanged resourceHTTP 404: Unnecessary requests taking CPUHTTP 500: High volumes can negatively impact CPU/Memory

Unhandled exceptions cause recycle

Async programming is your friend

Purge or Archive stale logs and data

Page 33: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Tools of the tradeSQ

L Az

ure

Mig

ratio

n W

izard • SQL Schema and Object

Analysis• SQL Azure Script Generation• SQL Azure Data Migration• http://bit.ly/17k4s0

Micr

osof

t Ass

essm

ent a

nd

Plan

ning

Tool

kit f

or

Win

dows

Azu

re P

latfo

rm • Environment Inventory• Evaluate applications• Stack Rank Applications• TCO-ROI Analysis• Plan for the migration• http://bit.ly/e6XLpH

Page 34: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Windows Azure Migration Assessment

• Discovers a complete application environment.• Over 30 .NET code analysis check items to

identify specific lines that need to be changed before migrating.

• Over 200 checks of your SQL database and SQL related configuration.

• Over 50 points of analysis intended to identify configuration that will need to be pushed to the cloud.

• Complete runtime analysis and recommendations to improve performance once on Windows Azure

Features

Page 35: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

demo

Greg VarverisPremier Field EngineeringMicrosoft

Direct to PaaS with confidence

Page 36: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Related Content

AZR314 – Migrating Applications to Windows Azure Virtual Machines

MSDN/TechNet Whitepaper (http://bit.ly/Nw1uNP)

AZR201 – Windows Azure IaaS and how it works

Inventory Service Source Code (http://bit.ly/L3OgYq)

Find Tom at developertofu.com (@DeveloperTofu)

Find Greg at samuraiprogrammer.com (@varveris)

MSDN/TechNet Case Study (http://bit.ly/NFelL0)

Page 37: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Summary

Good Best

Better The time is now!

Page 39: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Resources

Connect. Share. Discuss.http://northamerica.msteched.com

Learning

Microsoft Certification & Training Resourceswww.microsoft.com/learning

TechNet

Resources for IT Professionalshttp://microsoft.com/technet

Resources for Developershttp://microsoft.com/msdn

Page 40: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

Complete an evaluation on CommNet and enter to win!

Page 41: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

MS Tag

Scan the Tagto evaluate thissession now onmyTechEd Mobile

Page 42: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.

Page 43: [PPT]PowerPoint Presentationvideo.ch9.ms/teched/2012/na/AZR312.pptx · Web viewField Engineering begins supporting IaaS customer previews Field and Services Engineering begin working