350 likes | 648 Views
SVC30. Lessons Learned: Migrating Applications to the Windows Azure Platform. Wade Wegner Senior Architect Microsoft Corporation. Agenda. Lessons learned from real solutions Four different scenarios Internal line-of-business application Autonomous services E-commerce website
E N D
SVC30 Lessons Learned: Migrating Applications to the Windows Azure Platform Wade Wegner Senior Architect Microsoft Corporation
Agenda • Lessons learned from real solutions • Four different scenarios • Internal line-of-business application • Autonomous services • E-commerce website • Video transcoding service • Q&A
Speakers • Joseph Paradi • Accenture • Gurleen Randhawa • CCH, a Wolters Kluwer business • David Haubenstricker • Domino’s Pizza • Mark Richards • OriginDigital
Real World Azure accenture Joseph Paradi Innovation Lead for Internal IT Accenture
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
“Before” Infrastructure Web App Database User Web App 2 AD
“After” Infrastructure Web App Windows Azure Database SQL Azure User Database Web App 2 ADFS Server AD
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
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
SALES TAX ENGINE CCH Gurleen Randhawa Development Manager CCH, a Wolters Kluwer business
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
Original Architecture Web Client Web Server RDB App Server Admin Client
Cloud Architecture App Server Admin Client Web Client Web Services RDB
Challenges • Plex (3rd party libraries) • State management • Performance • Security • Database migration • Database partitioning
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”.
Pizza Delivery Platform Domino's Pizza David Haubenstricker Enterprise Architect Domino’s Pizza
Current Architecture Java / Tomcat Solaris VB6/C# Win2000/2003 Web SOA Stores VPN Web SOA Stores Stores RDB Oracle Cisco
Co-Deployed Architecture Web SOA Stores VPN Web SOA Stores Stores RDB Web SOA Stores VPN Web SOA Stores Stores RDB
Azure Runs Java Web SOA Web Web SOA SOA Stores VPN Web SOA Web Web SOA SOA Stores Stores RDB Web SOA Stores Migrate (Relatively) Easily VPN Web SOA Stores Stores RDB
Connection Issues Svc Bus Svc Bus Web SOA Stores VPN Web SOA Stores Stores RDB Web SOA Stores No Hardware Allowed VPN Web SOA Stores Stores RDB
Data Issues Svc Bus Web SOA Stores Web SOA Stores Stores Azure Storage Azure Storage RDB Hot Spot Sharding? Web SOA Stores VPN Web SOA Stores Stores RDB Key-Value Storage Key-Value Storage
Pain in the Cloud Svc Bus Web SOA Stores Web SOA Stores Stores Azure Storage Web SOA Stores VPN Web SOA Connectivity Differences Logging Differences Storage Differences Stores Stores Key-Value Storage
Solution: Abstraction Layer Application Abstraction Layer Azure Technology Domino’s Technology Domino’s Technology Domino’s Technology
Take aways • Java runs in Azure • Service Bus provides VPN like connectivity • Azure storage technologies are easily abstracted
Origin Digital Mark Richards VP, Business Development Origin Digital
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
Odaptor Overview XYZ Corporation File Upload UGC, Corporate content, etc… Odaptor File Upload HTTP Post, iFrame, Silverlight, Flash Odaptor CMS Source Media File Postback with Asset Information Transcoded Files CDN Akamai, Limelight, Azure etc.. Video/Audio Transcoding
Solution Architecture Transcoding Worker Role Manager Worker Role Web Role File Uploads CDN’s Blob Queue
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
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
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
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/learn Built by Developers for Developers….