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

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

on

  • 13,150 views

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.

Statistics

Views

Total Views
13,150
Views on SlideShare
9,028
Embed Views
4,122

Actions

Likes
3
Downloads
204
Comments
0

44 Embeds 4,122

http://jai-on-asp.blogspot.com 1692
http://jai-on-asp.blogspot.in 1171
http://blog.maartenballiauw.be 921
http://jai-on-asp.blogspot.co.uk 125
http://jai-on-asp.blogspot.dk 28
http://www.slideshare.net 18
http://jai-on-asp.blogspot.com.au 16
http://www.blog.maartenballiauw.be 15
http://jai-on-asp.blogspot.com.br 11
http://jai-on-asp.blogspot.ca 11
http://microsoft.realdolmenblogs.com 10
http://jai-on-asp.blogspot.sg 10
http://jai-on-asp.blogspot.co.at 8
http://jai-on-asp.blogspot.it 6
http://jai-on-asp.blogspot.ch 5
http://jai-on-asp.blogspot.ae 5
http://jai-on-asp.blogspot.nl 5
http://jai-on-asp.blogspot.tw 5
http://webcache.googleusercontent.com 5
http://jai-on-asp.blogspot.fr 4
http://jai-on-asp.blogspot.de 4
http://jai-on-asp.blogspot.gr 4
http://jai-on-asp.blogspot.co.il 4
http://jai-on-asp.blogspot.jp 4
http://jai-on-asp.blogspot.ro 4
http://jai-on-asp.blogspot.co.nz 4
http://jai-on-asp.blogspot.com.es 3
http://translate.googleusercontent.com 3
http://jai-on-asp.blogspot.se 3
http://jai-on-asp.blogspot.fi 2
http://jai-on-asp.blogspot.kr 2
http://jai-on-asp.blogspot.mx 2
res://ieframe.dll 1
http://www.codeplex.com 1
http://jai-on-asp.blogspot.be 1
http://jai-on-asp.blogspot.pt 1
http://jai-on-asp.blogspot.hk 1
http://www.google.com 1
http://jai-on-asp.blogspot.ru 1
http://jai-on-asp.blogspot.sk 1
http://jai-on-asp.blogspot.hu 1
http://jai-on-asp.blogspot.ie 1
http://cartrackr.codeplex.com 1
http://jai-on-asp.blogspot.cz 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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

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

  • Converting an existing ASP.NET application to Windows Azure
    Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • 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
  • Agenda
    Windows Azure?
    An existing application…
    Migration paths
    Considerations
    Q&A
  • What’s in the cloud?
    Windows Azure
  • The Windows Azure Platform
    Windows Azure
    SQL Azure
    Windows Azure platform AppFabric
    Developer tools
    Microsoft Codename “Dallas”
  • Windows Azure
    Flexible application hosting
    Lights-out service management
    Provide code & service model, hit ENTER
    Storage at massive scale
    Compute
    Storage
    Management
  • SQL Azure
    Relational database as a service
    Highly available, automatically maintained
    Extension of the SQL Server Data Platform
    Business Analytics
    Reporting
    Data Sync
    Database
  • 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
  • Windows Azure AppFabric
    Secure connections between services
    Across organizational boundaries
    Claims-based access control
    ServiceBus
    AccessControl
  • 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
  • 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”
  • Microsoft Codename “Dallas”
    Content brokerage and discovery platform
    Available as a CTP at commercial launch
    Microsoft Codename “Dallas”Information Services
  • 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
  • Windows Azure
  • 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>
  • 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
  • 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
  • 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
  • Queue Service
    Store a queue of messages
    FIFO
    Can be used by multiple worker roles
  • 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
  • Let’s have a look at…
    an existing application…
  • Existing ASP.NET application
    ASP.NET Webforms
    “Repository pattern”
    Entity framework
    Database
    File storage on server
    Built with no need for scale
  • An existing application
    DEMO
  • The shortest way to the cloud
    Migration paths
  • 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”
  • 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
  • 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
  • Migrating the application
    DEMO
  • Think before you go cloudy…
    Considerations
  • 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)
  • 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
  • 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
  • Typical Architecture
    Service Unavailable
    VIP
    Worker Role
    Web Role
    Windows Azure Storage
    (Blob, Table, Queue)
  • 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)
  • 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
  • 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
  • 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
  • Questions, possibly Answers…
    ?
    Maarten Balliauw – RealDolmenBlog: http://blog.maartenballiauw.beTwitter: @maartenballiauw
  • © 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.