Your SlideShare is downloading. ×
0
Put your existing application on Windows Azure<br />Maarten BalliauwTechnical Consultant<br />Twitter: @maartenballiauw<br />
About me<br />Maarten Balliauw<br />Antwerp, Belgium<br />www.realdolmen.com <br />Focus on web<br />ASP.NET, ASP.NET MVC,...
Agenda<br />Windows Azure<br />An existing application...<br />... with some problems<br />Windows Azure<br />SQL Azure<br...
Windows Azure<br />
Definition of cloud (NIST)<br />On-demand self service<br />Standardized access<br />Location independant resource pooling...
IT as a Service<br />Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<b...
The Windows Azure Platform<br />Windows Azure<br />SQL Azure<br />Windows Azure platform AppFabric<br />Microsoft Codename...
Windows Azure<br />Flexible application hosting<br />Lights-out service management<br />Provide code & service model, hit ...
Windows Azure<br />
Storage options<br />Blobs, tables, queues<br />Windows Azure Drive (a.k.a. XDrive)<br />Virtual NTFS volume that can be m...
SQL Azure<br />Relational database as a service<br />Highly available, automatically maintained<br />Extension of the SQL ...
SQL Azure<br />Relational database, provided as a service<br />Highly symmetrical development and tooling experience (use ...
Windows Azure AppFabric<br />Secure connections between services<br />Across organizational boundaries<br />Claims-based a...
Service Bus Overview<br />
Windows Azure AppFabric - Service Bus<br />Securely connect applications<br />Over the internet<br />Across any network to...
Microsoft Codename “Dallas”<br />Content brokerage and discovery platform <br />Available as a CTP<br />Microsoft Codename...
Microsoft Codename “Sydney” - Connectivity<br />WINDOWS AZURE PLATFORM<br />ENTERPRISE<br />Data Service<br />Service Bus<...
An existing application<br />
Time Tracker<br />Originated from the ASP.NET starter kithttp://www.asp.net/downloads/starter-kits/time-tracker<br />Small...
TimeTracker – On-premise<br />
Time Tracker<br />There are some problems with it...<br />Running on 2 web servers that are > 2 years old, nearing EOL<br ...
Workload Patterns Optimal for Cloud<br />“Growing Fast“  <br />“On and Off “  <br />Inactivity<br />Period <br />Compute <...
Challenges<br />Security?<br />Forms based<br />Claims based (AppFabric access control service)<br />Availability & scalab...
Moving an application to the cloud<br />refactoring<br />
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
Support deployment on Windows Azure<br />Convert the TimeTracker solution to a Cloud Service solution<br />Make sure it ca...
Windows Azure Tools for Microsoft Visual Studio<br />Get them on www.azure.com<br />
Converting the TimeTracker solution<br />
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
Store data in SQL Azure<br />There is a database on-premise in SQL Server<br />Schema should be migrated<br />Data should ...
Migrating schema and data<br />SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.com<br />SQL Azure Data Sync Tool for ...
Migrating data to SQL AzureSynchronizing SQL and SQL Azure<br />
ASP.NET Membership & Roles<br />Will not work out of the box!<br />Some incompatible SQL<br />Updated scripts and aspnet_r...
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
Store attachments on blob storage<br />Attachments currently stored on the web server<br />Windows Azure server storage no...
Tools to see if it works<br />CloudBerryLab Explorerhttp://www.cloudberrylab.com<br />Azure Storage Explorerhttp://azurest...
Storing attachments on Windows Azure blob storage<br />
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
Connect with the billing system<br />List of projects comes from on-premise billing system<br />TimeTracker will be in the...
Service Bus Overview<br />
Connect with the billing system<br />List of projects comes from on-premise billing system<br />TimeTracker will be in the...
Using AppFabric service bus<br />
Another option…<br />Billing system WCF configuration was changed<br />If that’s not possible: PortBridge to the rescue!ht...
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
Deploy<br />Package up the application<br />Deploy the thing<br />Requirements:<br />Windows Azure SDK<br />A web browser<...
Windows Azure Platform Benefits for MSDN Subscribers<br /><ul><li>MSDN Subscriber Benefits
750 Hours
8 Months
10 GB Storage
SQL Azure Web Edition</li></ul>Details at http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx<br />
Deploying TimeTracker<br />
TimeTracker on steroids!<br />Our company decided to go for Windows Azure<br />New migration track started<br />Learn abou...
What to remember?<br />Windows Azure is<br />Operating system (computing & storage)<br />SQL Azure<br />AppFabric<br />You...
Upcoming SlideShare
Loading in...5
×

Put Your Existing Application On Windows Azure

8,660

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,660
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
338
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Harvesting!
  • Transcript of "Put Your Existing Application On Windows Azure"

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×