accenture CCH Web Server RDB Admin Client RDB.

35
Lessons Learned: Migrating Applications to the Windows Azure Platform Wade Wegner Senior Architect Microsoft Corporation SVC30

Transcript of accenture CCH Web Server RDB Admin Client RDB.

Page 1: accenture CCH Web Server RDB Admin Client RDB.

Lessons Learned: Migrating Applications to the Windows Azure PlatformWade WegnerSenior ArchitectMicrosoft Corporation

SVC30

Page 2: accenture CCH Web Server RDB Admin Client RDB.

Agenda

> Lessons learned from real solutions> Four different scenarios

> Internal line-of-business application> Autonomous services> E-commerce website> Video transcoding service

> Q&A

Page 3: accenture CCH Web Server RDB Admin Client RDB.

Speakers

> Joseph Paradi> Accenture

> Gurleen Randhawa> CCH, a Wolters Kluwer business

> David Haubenstricker> Domino’s Pizza

> Mark Richards> OriginDigital

Page 4: accenture CCH Web Server RDB Admin Client RDB.

Real World Azure

Joseph ParadiInnovation Lead for Internal ITAccenture

accenture

Page 5: accenture CCH Web Server RDB Admin Client RDB.

Corporate Concerns

> “The Pillars of Concern”> Authentication> Authorization> Data Synchronization> Security of Data> Application Integration> Operations / Management

> Minimize the cost/effort to move to Azure

Page 6: accenture CCH Web Server RDB Admin Client RDB.

“Before” Infrastructure

User

Web App Database

ADWeb App 2

Page 7: accenture CCH Web Server RDB Admin Client RDB.

Web AppWindows

Azure

DatabaseSQL Azure

“After” Infrastructure

User

DatabaseWeb App 2

ADADFS

Server

Page 8: accenture CCH Web Server RDB Admin Client RDB.

What did we find?

> Authentication – ADFS server against corporate AD in our DC

> Authorization – ADFS custom claim to make the authorization decision

> Data Sync – SSIS to push subset of rows and columns to SQL Azure

> Security/Audit – specific to each organization and industry for data and operations

> Application Integration – use of ADFS Passive Fed allowed Web SSO model between apps in different locations

> Operations/Management – cannot use Windows Event Log and SCOM

> Cost – very little code change to existing application; quick time to deliver

Page 9: accenture CCH Web Server RDB Admin Client RDB.

Why is this cool?

> You already have the skills you need (Visual Studio, SSIS)

> No infrastructure required! (assuming you already have ADFS)

> Don’t worry about the plumbing, just build the application

> Microsoft is providing the tooling and guidance to reduce the barrier to leveraging Azure

Page 10: accenture CCH Web Server RDB Admin Client RDB.

SALES TAX ENGINE

Gurleen RandhawaDevelopment ManagerCCH, a Wolters Kluwer business

CCH

Page 11: accenture CCH Web Server RDB Admin Client RDB.

Application Overview

> Sales Tax Office> Real-time sales tax calculation> Multiple business entities, multiple ERP

modules or even different ERP systems> Sales Tax Office works behind the

scenes with minimal user interaction

Page 12: accenture CCH Web Server RDB Admin Client RDB.

Original Architecture

Web Client Web Server

Admin Client

App Server

RDB

Page 13: accenture CCH Web Server RDB Admin Client RDB.

Cloud Architecture

Web ClientAdmin Client

Web Services

RDB

App Server

Page 14: accenture CCH Web Server RDB Admin Client RDB.

Challenges

> Plex (3rd party libraries)> State management> Performance> Security> Database migration> Database partitioning

Page 15: accenture CCH Web Server RDB Admin Client RDB.

Lessons Learned

> Be prepared to sacrifice hardware and software control in exchange for lower maintenance costs.

> Log, log and log. Verbose logging will make application troubleshooting easier.

> Design your systems for scaling out, not up. If dealing w/ an existing system some code refactoring may be necessary.

> Use database partitioning techniques (the database also has to scale out due to the 10 GB limitation on the db size).

> Plan your data migration.> Store sensitive customer data on premises.> Use proper State management techniques - think

“Stateless”.

Page 16: accenture CCH Web Server RDB Admin Client RDB.

Pizza Delivery Platform

David HaubenstrickerEnterprise ArchitectDomino’s Pizza

Domino's Pizza

Page 17: accenture CCH Web Server RDB Admin Client RDB.

The Problem

Page 18: accenture CCH Web Server RDB Admin Client RDB.

Current Architecture

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Java / Tomcat Solaris

Oracle

VB6/C#Win2000/20

03

Cisco

Page 19: accenture CCH Web Server RDB Admin Client RDB.

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Co-Deployed Architecture

Page 20: accenture CCH Web Server RDB Admin Client RDB.

Web SOAWeb SOA

StoresStores

Stores

RDB

VPNWeb SOAWeb SOA

Azure Runs Java

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Web SOAWeb SOA

Migrate (Relatively)

Easily

Page 21: accenture CCH Web Server RDB Admin Client RDB.

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Connection Issues

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Svc Bus

No Hardware Allowed

Svc Bus

Page 22: accenture CCH Web Server RDB Admin Client RDB.

Web SOA StoresStores

Stores

RDB

Web SOA

Data Issues

Web SOA StoresStores

Stores

RDB

VPNWeb SOA

Svc Bus

Hot SpotSharding?

Key-Value

Storage

AzureStorageAzure

Storage

Key-Value

Storage

Page 23: accenture CCH Web Server RDB Admin Client RDB.

Key-Value

Storage

AzureStorage

Web SOA StoresStores

StoresWeb SOA

Pain in the Cloud

Web SOA StoresStores

StoresVPN

Web SOA

Svc Bus

Connectivity

Differences

StorageDifferences

LoggingDifferences

Page 24: accenture CCH Web Server RDB Admin Client RDB.

Solution: Abstraction Layer

Application

Abstraction Layer

Azure Technology

Domino’sTechnology

Domino’sTechnology

Domino’sTechnology

Page 25: accenture CCH Web Server RDB Admin Client RDB.

Take aways

> Java runs in Azure> Service Bus provides VPN like

connectivity> Azure storage technologies are easily

abstracted

Page 26: accenture CCH Web Server RDB Admin Client RDB.

Mark RichardsVP, Business DevelopmentOrigin Digital

Origin Digital

Page 27: accenture CCH Web Server RDB Admin Client RDB.

Overview

> Application Overview > Build a video and audio transcoding solution

based on the Windows Azure cloud computing platform

> Key Business Goals> Decrease transcoding costs> Provide greater scalability> Greater Geographic distribution

> Platform Adoption Driver> The key factor driving Azure adoption is to be

able to cost effectively respond to changing customer demands and volumes

Page 28: accenture CCH Web Server RDB Admin Client RDB.

Odaptor Overview

XYZ CorporationFile Upload

UGC, Corporate content, etc…

Odaptor File UploadHTTP Post,

iFrame, Silverlight,

Flash

OdaptorCMS

Video/Audio

Transcoding

CDNAkamai,

Limelight, Azure etc..

Postback with Asset Information

Source Media File

Transcoded Files

Page 29: accenture CCH Web Server RDB Admin Client RDB.

Solution ArchitectureManager Worker Role

Blob

Queue

Web RoleFile Uploads

Transcoding Worker Role

CDN’s

Page 30: accenture CCH Web Server RDB Admin Client RDB.

Challenges

> Finding and implementing a inexpensive and reliable software based encoding, and implementing it in the cloud

> Determining an algorithm for auto scaling

> Working with pre-release SDKs, as they tend to change

> Deployment and release process

Page 31: accenture CCH Web Server RDB Admin Client RDB.

Benefits

> Significant cost savings versus existing transcoding hardware and software

> Ability to quickly and cheaply respond to varying demand levels

> Ability to easily provide geographically relevant solutions to our customers

Page 32: accenture CCH Web Server RDB Admin Client RDB.

YOUR FEEDBACK IS IMPORTANT TO US!

Please fill out session evaluation

forms online atMicrosoftPDC.com

Page 33: accenture CCH Web Server RDB Admin Client RDB.

Learn More On Channel 9

> Expand your PDC experience through Channel 9

> Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses

channel9.msdn.com/learnBuilt by Developers for Developers….

Page 34: accenture CCH Web Server RDB Admin Client RDB.

© 2009 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 35: accenture CCH Web Server RDB Admin Client RDB.