Upload
tranlien
View
224
Download
2
Embed Size (px)
Citation preview
Agenda
• Announcements
• Silverlight Migration
• ASP.NET Migration
• Web Service Migration
• Database Migration
Announcements
• Microsoft Shutting Down Northwest Data Center
– Reason given: changes in local tax laws
– Apps hosted there must move to Southwest
– Expect they are relocating the data center elsewhere
• SQL Azure CTP Is Out
– …but we’re all still waiting for our tokens
– Documentation online at http://msdn.microsoft.com/en-us/library/ee336279.aspx
– Expect to look at SQL Azure at next month’s meeting
Mainstream Migration Targets
• Silverlight Application
• ASP.NET Web Site
• Web Service
• SQL Server Database
Migration Challenges
• Can’t install 3rd party applications on cloud machines
• Applications and web services need to be stateless or you must find a way to do session state in the cloud
• Need to secure cloud-hosted applications and services to your enterprise
• Need a data synchronization strategy between enterprise and cloud databases/storage
Silverlight Migration - Basics
• Silverlight project itself probably won’t change• Changes to web hosting
– Host in Windows Azure web role (2+ instances)– Need to secure access to application
• Changes to supporting web services– Can be enterprise- or cloud-hosted (2nd web role)– Enterprise services must host cross-domain policy file– Need to secure access to web services
• Changes to database– Keep database co-located with web services
Enterprise
Enterprise
Web Server
Silverlight Migration – Partial/Full
Silverlight Application
Cloud
Web Role
Silverlight Application
Cloud
Web Role
Silverlight Application
SQL Azure Database
Web Role
Supporting Web Service(s)
SQL Server Database
App Server
Supporting Web Service(s)
App Server
SQL Server Database
Supporting Web Service(s)
Silverlight Migration - Steps
1. Create cloud service with 1 web role
2. Add Silverlight project to solution
3. Specify web role as host for Silverlight app
4. Add each web service project to solution
5. Associate web service as additional web role
ASP.NET Migration - Basics
• Changes to ASP.NET Site
– Hosted in a Windows Azure Web Role (2+ instances)
– Go stateless or use a cloud session state provider
– Need to secure access to application
• Changes to supporting web services
– Can be enterprise- or cloud-hosted (2nd web role)
– Need to secure access to web services
• Changes to database
– Keep database co-located with web services
Enterprise
Enterprise
Web Server
ASP.NET Migration – Partial/Full
ASP.NET Application
Cloud
Web Role
ASP.NET Application
Cloud
Web Role
ASP.NET Application
SQL Azure Database
Web Role
Supporting Web Service(s)
SQL Server Database
App Server
Supporting Web Service(s)
App Server
SQL Server Database
Supporting Web Service(s)
ASP.NET Migration - Steps
1. Create cloud service with no web roles
2. Add ASP.NET web project to solution
3. Associate web project as web role
4. Add each web service project to solution
5. Associate web service as additional web role
Service Migration - Basics
• Changes to Web Service
– Use stateless code (recommended)or use a cloud session state provider
• ASP.NET-hosted WCF Services
– Host in a Windows Azure Web Role (2+ instances)
– Need to secure access to web service
• Self-hosted WCF Services
– Host in a Windows Azure Worker Role (2+ instances)
– Need to secure access to web service
Enterprise
Web Server
Service Migration – IIS-/Self-Hosted
Web Service
Cloud
Web Role
IIS-Hosted Web Service
SQL Azure DatabaseSQL Server Database
Cloud
Worker Role
Self-Hosted Web Service
SQL Azure Database
Service Migration - Steps
1. Create cloud service with no web roles
2. Add each web service project to solution
3. Associate each web service project as a web role (IIS-hosted) or a worker role (self-hosted)
Database Migration - Basics
• SQL Azure– SQL Server near-equivalent in the cloud– Database functionality only– “Only difference is the connection string”– Limited to 1GB ($9.99/mo) or 10GB ($99.99/m)– No transactions across databases
• Need a data management strategy– Some data in the enterprise, some in the cloud– Decide where the master stores are, how you will
synchronize/replicate
• Co-locate apps/services with their data stores
Authentication Options for Cloud Apps
• MS Membership Provider for Cloud Storage
• Windows Live ID
• Access Control Service (primarily for services)
• Geneva Server / ADFS(redirect to domain for login then back to application)
• Custom Membership Provider (you implement)
Geneva Server – Azure GuideMicrosoft has issued guide and sample for securing Azure Sites with Geneva ServerDownload from http://code.msdn.microsoft.com/wifwazpassive
An Experimental Approach to Securing Azure Web
Applications with Domain Windows Authentication
This approach applies the pattern used by Windows Live ID to an enterprise.
Cloud application sends unauthorized user to a page hosted at your enterprise for a true domain login. The page provisions cloud storage and the user is redirected back to the cloud application where a login cookie is created.
Demo 1 – Migrate ASP.NET App + Service
• ComputeTax Demo
– Accepts an amount and a tax rate, computes total
– ASP.NET front end, calls a WCF web service
• Starting point – enterprise solution
– ASP.NET web site + service
• Ending point – cloud solution
– Windows Azure-hosted ASP.NET web site + service
Demo 2 – Microsoft Cloud Providers
• AspProvidersDemo (Windows Azure SDK)http://msdn.microsoft.com/en-us/library/dd179386.aspx
• Demonstrates MS membership, role, profile, and session state providers for the cloud
Resources
• Azure Design Patternshttp://www.AzureDesignPatterns.com
• Azure Portalhttp://www.Azure.com
• Azure User Group Sitehttp://www.AzureUserGroup.com
• Azure Blogshttp://www.AzureFeeds.com