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.
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
MSDN - Converting an existing ASP.NET application to Windows Azure
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
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
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
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
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
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
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