Your SlideShare is downloading. ×
MSDN - Converting an existing ASP.NET application to Windows Azure
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

MSDN - Converting an existing ASP.NET application to Windows Azure

11,432
views

Published on

Put your stuff in the cloud! Windows Azure allows you to take advantage of cloud computing infranstructure for hosting, computing, and storage of your applications. In this demo filled session we take …

Put your stuff in the cloud! Windows Azure allows you to take advantage of cloud computing infranstructure for hosting, computing, and storage of your applications. In this demo filled session we take an existing ASP.Net Application and move it to be hosted in Windows Azure, while taking advantage of Windows Azure storage.

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,432
On Slideshare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
207
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • http://eric.blob.core.windows.net/music/rock/rush/xanadu.mp3Blobs – Provide a simple interface for storing named files along with metadata for the fileTables – Provide structured storage. A Table is a set of entities, which contain a set of propertiesQueues – Provide reliable storage and delivery of messages for an applicationTab
  • Transcript

    • 1. Converting an existing ASP.NET application to Windows Azure
      Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
    • 2. Whoam I?
      Maarten Balliauw
      Antwerp, Belgium
      www.realdolmen.com
      Focus on web
      ASP.NET, ASP.NET MVC, PHP, Azure, VSTS, …
      MVP ASP.NET
      http://blog.maartenballiauw.be
      http://twitter.com/maartenballiauw
    • 3. Agenda
      Windows Azure?
      An existing application…
      Migration paths
      Considerations
      Q&A
    • 4. What’s in the cloud?
      Windows Azure
    • 5. The Windows Azure Platform
      Windows Azure
      SQL Azure
      Windows Azure platform AppFabric
      Developer tools
      Microsoft Codename “Dallas”
    • 6. Windows Azure
      Flexible application hosting
      Lights-out service management
      Provide code & service model, hit ENTER
      Storage at massive scale
      Compute
      Storage
      Management
    • 7. SQL Azure
      Relational database as a service
      Highly available, automatically maintained
      Extension of the SQL Server Data Platform
      Business Analytics
      Reporting
      Data Sync
      Database
    • 8. SQL Azure
      Relational database, provided as a service
      Highly symmetrical development and tooling experience (use TDS protocol and T-SQL)
      Highly scaled out, on commodity hardware
      Built on the SQL Server technology foundation
      Beyond “hosted database”
      High availability, DB provisioning, and DB management are provided by the service
      Pay for what you use
    • 9. Windows Azure AppFabric
      Secure connections between services
      Across organizational boundaries
      Claims-based access control
      ServiceBus
      AccessControl
    • 10. Windows Azure AppFabric - Service Bus
      Securely connect applications
      Over the internet
      Across any network topology
      Across organizational boundaries
      Primary application patterns
      Eventing:
      Notify applications and/or devices
      Service Remoting:
      Securely project on-premises services out to the cloud
      Tunneling:
      App-to-app communication with NAT/Firewall traversal
    • 11. Windows Azure AppFabric - Access Control
      Provides outsourcing of claims-based access control for REST web services
      Key capabilities:
      Usable from any platform
      Low friction way to onboard new clients
      Integrates with AD FS v2
      Supports WRAP / SWT
      Enables simple delegation
      Used today by Service Bus and “Dallas”
    • 12. Microsoft Codename “Dallas”
      Content brokerage and discovery platform
      Available as a CTP at commercial launch
      Microsoft Codename “Dallas”Information Services
    • 13. Introducing “Dallas”
      Content Brokerage and Discovery platform
      Discover, Explore, and Use any type of content (blobs, structured, real-time web services)
      Tap into an ecosystem of global content providers
      Process & analyze data
      Empowers developers of all sizes
      Built on Windows Azure and SQL Azure
    • 14.
    • 15.
    • 16. Windows Azure
    • 17. Blob
      Container
      Entities
      Account
      Table
      http://<account>.blob.core.windows.net/<container>
      http://<account>.table.core.windows.net/<table>
      Messages
      Queue
      Windows Azure Storage Concepts
      http://<account>.queue.core.windows.net/<queue>
    • 18. Blob Storage
      Store sets of binary data
      Text files, images, …
      Highly Available
      Automatically scales to multiple servers and locations
      Durable
      Data is replicated at least 3 times
    • 19. Table Storage
      Store sets of structured data
      Not bound to schema!
      Billions of entities (rows) and TBs of data
      Automatically scales to thousands of servers as traffic grows
      Highly Available
      Can always access your data
      Durable
      Data is replicated at least 3 times
    • 20. Table Storage Capabilities
      What tables don’t do
      What tables can do












      Not relational
      No Referential Integrity
      No Joins
      Limited Queries
      No Group by
      No Aggregations
      Transactions (limited)
      Very Scalable
      Flexible
      Durable
      Store LOTS of stuff 
      Cheap
      If these are important to you, use SQL Azure
    • 21. Queue Service
      Store a queue of messages
      FIFO
      Can be used by multiple worker roles
    • 22. Windows Azure Summary
      Many is better than one
      Let Microsoft worry about this
      Loose coupling
      Web Role and Worker Role
      Storage choice
      Azure Storage: Simple stores scale
      Table, Blob, Queue
      SQL Azure: Full RDBMS
      Stored Procedures, Schema, Transactions, Views etc
    • 23. Let’s have a look at…
      an existing application…
    • 24. Existing ASP.NET application
      ASP.NET Webforms
      “Repository pattern”
      Entity framework
      Database
      File storage on server
      Built with no need for scale
    • 25. An existing application
      DEMO
    • 26. The shortest way to the cloud
      Migration paths
    • 27. First things first…
      Tools:
      Windows Azure SDK
      Windows Azure Visual Studio Tools
      www.microsoft.com/web
      New solution:
      Blank “cloud service”
      Add existing projects
      Promote to “web role”
    • 28. Migration paths: hosting & file storage
      Windows Azure Web Role
      Hosting the web application
      Windows Azure Blob Storage
      Hosting “user uploaded content”
      Option 1: HttpHandler
      + Abstraction and migration freedom
      - Traffic & related costs
      Option 2: public blob container + Azure CDN
      + Traffic & related costs+ Pretty download URL
      + Fast! Nearby!
      - Abstraction and migration freedom
    • 29. Migration paths: data
      Option 1: SQL Azure
      Easiest migration path for data
      More powerful RDBMS
      Sync Framework Power Pack: http://bit.ly/5hTtSY
      SQL Azure Migration Wizard: http://sqlazuremw.codeplex.com/
      Option 2: Table storage
      Will be cheaper in operating costs for small applications
      Will probably require some rework
    • 30. Migrating the application
      DEMO
    • 31. Think before you go cloudy…
      Considerations
    • 32. Hosting
      Migration
      Will be an easy migration
      Remember to use the providers from the SDK
      Keep the “multiple roles” idea in mind!
      Considerations to make
      Store all content in the application?
      Requires a re-deployment quite often…
      Better: store more dynamic content on blob storage
      Background processing
      Try moving heavy CPU tasks to worker role where appropriate
      One web role?
      Will be cheaper…
      But will have your application down during upgrade…
      Better: always > 1 web role (at least 2)
    • 33. Database
      Working with EF / NHibernate / (insert ORM here)?
      SQL Azure wil be easiest path, but is more expensive
      Table storage…
      Will get you frustrated if your application design is bad!(like mine in the demo)
      Use simple data structures for table storage
      Map these to whatever you want in your application
    • 34. Architecture
      Quote: “Some architectures will require rework” All of them will require rework to do it right…
      Current application architecture not suited for large scale!
      I can go for multiple web roles
      But not for unlimited web roles…
      Think in “multiple roles”
      Web roles
      Backedbyworkerroleswhereneeded
      Architecture will be one of the challenges
    • 35. Typical Architecture
      Service Unavailable
      VIP
      Worker Role
      Web Role
      Windows Azure Storage
      (Blob, Table, Queue)
    • 36. Web + Worker Role Service Model
      Worker Role
      Service Still Available
      Worker Role
      Web Role
      VIP
      Worker Role
      Web Role
      Worker Role
      Worker Role
      Windows Azure Storage
      (Blob, Table, Queue)
    • 37. Windows Azure - Coming soon…
      Programming model
      Administrator privileges in the VM
      Deployment of pre-configured VM images
      Still obtain the benefits of the WA service model
      Storage
      User-selectable geo-locations for replicas
      Secondary indices on tables
      Service management
      Remote terminal server access to VMs
    • 38. Resources
      Windows Azurehttp://www.azure.com
      Steve Marxhttp://blog.smarx.com/
      Clemens Vastershttp://vasters.com/clemensv/
      Simon Guesthttp://simonguest.com/blogs/smguest
      PDChttp://microsoftpdc.com
      My bloghttp://blog.maartenballiauw.be/category/Azure.aspx
      RealDolmen blogs is running on Azure!http://www.realdolmenblogs.com
    • 39. AZUG.BE – Azure User Group Belgium
      Focus on the Azure Services Platform
      Community-driven
      Focus on architecture
      And development
      And the business value of Azure
      www.azug.be
    • 40. Questions, possibly Answers…
      ?
      Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
    • 41. © 2008 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.