Put Your Existing Application On Windows Azure
Upcoming SlideShare
Loading in...5
×
 

Put Your Existing Application On Windows Azure

on

  • 10,005 views

Leverage the highly scalable Windows Azure platform and deploy your existing ASP.NET application to a new home in the clouds. This demo filled session will guide you in how to make successful use of ...

Leverage the highly scalable Windows Azure platform and deploy your existing ASP.NET application to a new home in the clouds. This demo filled session will guide you in how to make successful use of Windows Azure’s hosting and storage platform as well as SQL Azure, the relational database in the cloud, by moving an existing ASP.NET application to a higher level.

Statistics

Views

Total Views
10,005
Views on SlideShare
8,716
Embed Views
1,289

Actions

Likes
1
Downloads
323
Comments
0

10 Embeds 1,289

http://blog.maartenballiauw.be 1215
http://www.slideshare.net 30
http://www.blog.maartenballiauw.be 19
http://cartrackr.codeplex.com 14
http://static.slidesharecdn.com 3
http://translate.googleusercontent.com 3
http://www.jumpincamp.com 2
http://microsoft.realdolmenblogs.com 1
http://jumpincamp.com 1
http://webcache.googleusercontent.com 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
  • Harvesting!

Put Your Existing Application On Windows Azure Put Your Existing Application On Windows Azure Presentation Transcript

  • Put your existing application on Windows Azure
    Maarten BalliauwTechnical Consultant
    Twitter: @maartenballiauw
  • About me
    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...
    ... with some problems
    Windows Azure
    SQL Azure
    Blob storage
    AppFabric service bus
    What to remember?
    Resources
    Q&A
  • Windows Azure
  • Definition of cloud (NIST)
    On-demand self service
    Standardized access
    Location independant resource pooling
    Rapid elasticity
    Pay per use
  • IT as a Service
    Private
    (On-Premise)
    Infrastructure
    (as a Service)
    Platform
    (as a Service)
    You manage
    Applications
    Applications
    Applications
    You manage
    Runtimes
    Runtimes
    Runtimes
    Security & Integration
    Security & Integration
    Security & Integration
    Managed by vendor
    You manage
    Databases
    Databases
    Databases
    Servers
    Servers
    Servers
    Managed by vendor
    Virtualization
    Virtualization
    Virtualization
    Server HW
    Server HW
    Server HW
    Storage
    Storage
    Storage
    Networking
    Networking
    Networking
  • The Windows Azure Platform
    Windows Azure
    SQL Azure
    Windows Azure platform AppFabric
    Microsoft Codename “Dallas”
    Microsoft Codename “Sydney”
  • Windows Azure
    Flexible application hosting
    Lights-out service management
    Provide code & service model, hit ENTER
    Storage at massive scale
    Blobs, tables, queues
    Compute
    Storage
    Management
  • Windows Azure
  • Storage options
    Blobs, tables, queues
    Windows Azure Drive (a.k.a. XDrive)
    Virtual NTFS volume that can be mounted
    .vhd format
    Use existing NTFS API’s
    Easier migration
    Stored on blob storage provides quick mount/unmount in other VM
  • SQL Azure
    Relational database as a service
    Highly available, automatically maintained
    Extension of the SQL Server Data Platform
    Reporting
    Data Sync
    Business Analytics
    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
    High availability, DB provisioning, and DB management are provided by the service
  • Windows Azure AppFabric
    Secure connections between services
    Across organizational boundaries
    Claims-based access control
    ServiceBus
    AccessControl
  • Service Bus Overview
  • Windows Azure AppFabric - Service Bus
    Securely connect applications
    Over the internet
    Across any network topology (= across firewalls!)
    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
  • Microsoft Codename “Dallas”
    Content brokerage and discovery platform
    Available as a CTP
    Microsoft Codename “Dallas”Information Services
  • Microsoft Codename “Sydney” - Connectivity
    WINDOWS AZURE PLATFORM
    ENTERPRISE
    Data Service
    Service Bus
    Access Control Service
    Code Name “Project Sydney”
  • An existing application
  • Time Tracker
    Originated from the ASP.NET starter kithttp://www.asp.net/downloads/starter-kits/time-tracker
    Small modifications:
    List of projects from internal billing system
    Time registration can have an attachment
  • TimeTracker – On-premise
  • Time Tracker
    There are some problems with it...
    Running on 2 web servers that are > 2 years old, nearing EOL
    Looking to buy new hardware
    Looking to deploy the application in a cloud
    Spikes near the end of each month, reducing performance
    Looking to buy additional hardware
    Looking to deploy the application in the cloud
    They do have this “seamless scaling” thing, right?
  • Workload Patterns Optimal for Cloud
    “Growing Fast“
    “On and Off “
    Inactivity
    Period
    Compute
    Compute
    Average Usage
    Usage
    Average
    Time
    Time
    On & off workloads (e.g. batch job)
    Over provisioned capacity is wasted
    Time to market can be cumbersome
    Successful services needs to grow/scale
    Keeping up w/ growth is big IT challenge
    Complex lead time for deployment
    “Unpredictable Bursting“
    “Predictable Bursting“
    Compute
    Compute
    Average Usage
    Average Usage
    Time
    Time
    Unexpected/unplanned peak in demand
    Sudden spike impacts performance
    Can’t over provision for extreme cases
    Services with micro seasonality trends
    Peaks due to periodic increased demand
    IT complexity and wasted capacity
  • Challenges
    Security?
    Forms based
    Claims based (AppFabric access control service)
    Availability & scalability out-of-the-box
    Still keep session state in mind
    Specify “upgrade domains”
    Logging & tracing
    System.Diagnostics.Trace
    Performance counters
    All stored on blob storage, not real-time!
    Operating system
    Windows Azure Cloud OS 1.0 – 1.1 – x.x
    See MSDN for patches and hotfixes in each OS version
    New cost model
    Pay-per-use
    Allow for scale-up and scale-down
  • Moving an application to the cloud
    refactoring
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • Support deployment on Windows Azure
    Convert the TimeTracker solution to a Cloud Service solution
    Make sure it can be packaged for deployment
    Make sure it runs on Development Fabric
    Requirements:
    IIS7
    Visual Studio
    Windows Azure Tools for Microsoft Visual Studio
    Windows Azure SDK (shipped with the above)
  • Windows Azure Tools for Microsoft Visual Studio
    Get them on www.azure.com
  • Converting the TimeTracker solution
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • Store data in SQL Azure
    There is a database on-premise in SQL Server
    Schema should be migrated
    Data should be migrated
    Requirements:
    Native SQL client
    SQL Management Studio
  • Migrating schema and data
    SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.com
    SQL Azure Data Sync Tool for SQL Serverhttp://www.microsoft.com/windowsazure/developers/sqlazure/datasync/
    SQL Server Management Studio 2008 R2 November Community Technology Preview
  • Migrating data to SQL AzureSynchronizing SQL and SQL Azure
  • ASP.NET Membership & Roles
    Will not work out of the box!
    Some incompatible SQL
    Updated scripts and aspnet_regqslazure.exe
    http://support.microsoft.com/default.aspx/kb/2006191
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • Store attachments on blob storage
    Attachments currently stored on the web server
    Windows Azure server storage not guaranteed to survive
    There’s an option for that...
    ...but it will still fail in some situations
    Ideal candidate: blob storage
    Requirements:
    Windows Azure SDK
    A tool to browse storage and see if it works
  • Tools to see if it works
    CloudBerryLab Explorerhttp://www.cloudberrylab.com
    Azure Storage Explorerhttp://azurestorageexplorer.codeplex.com/
    Onlinehttp://myazurestorage.com
    Visual Studio 2010 tools
  • Storing attachments on Windows Azure blob storage
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • Connect with the billing system
    List of projects comes from on-premise billing system
    TimeTracker will be in the cloud
    Requirements:
    Expose the billing system to the Internet
    Connect to it
  • Service Bus Overview
  • Connect with the billing system
    List of projects comes from on-premise billing system
    TimeTracker will be in the cloud
    Communication will happen over the AppFabric service bus
    Requirements:
    Visual Studio
    AppFabric SDK
  • Using AppFabric service bus
  • Another option…
    Billing system WCF configuration was changed
    If that’s not possible: PortBridge to the rescue!http://bit.ly/bCDrUs
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • Deploy
    Package up the application
    Deploy the thing
    Requirements:
    Windows Azure SDK
    A web browser
  • Windows Azure Platform Benefits for MSDN Subscribers
    • MSDN Subscriber Benefits
    • 750 Hours
    • 8 Months
    • 10 GB Storage
    • SQL Azure Web Edition
    Details at http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx
  • Deploying TimeTracker
  • TimeTracker on steroids!
    Our company decided to go for Windows Azure
    New migration track started
    Learn about Windows Azure
    Support deployment on Windows Azure
    Store data in SQL Azure
    Store attachments on blob storage
    Somehow connect with the billing system to get a list of project names
    Deploy
  • What to remember?
    Windows Azure is
    Operating system (computing & storage)
    SQL Azure
    AppFabric
    Your application and skills
    Hybrid applications are possible
    It’s not that hard to do
  • Resources
    Websites
    Windows Azure http://www.azure.com
    Local MSDN http://www.msdn.be
    Local TechNet http://www.microsoft.com/belux/technet
    Blogs
    Steve Marx http://blog.smarx.com
    Clemens Vasters http://vasters.com/clemensv
    Simon Guest http://simonguest.com/blogs/smguest
    My blog http://blog.maartenballiauw.be/category/Azure.aspx
    Videos and presentations
    PDC http://microsoftpdc.com
    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
  • THANK YOU!
    Maarten Balliauwhttp://blog.maartenballiauw.be
    http://twitter.com/maartenballiauw