The Real-Time Web with SignalRand Azure Service BusJustin WendlandtSenior Consultant – Magenic Technologieshttp://jwendl.n...
OverviewReal Time WebImplementationsExamplesSignal RHorizontal Scaling with AzureDemoQuestions and Answers
Real-Time Web Overview• Content on Demand vs. Published• UX Similar to DesktopApplications• More Social and Interactive
Forced Video Feed Switching• Scott Hanselman for DotNetConf• Problem – Google Hangouts required users to refresh browser t...
Real-time Deals on Amazon.com• Real time deals based onpurchased data• More social and interactiveexperience for users
Real-Time Map API Hooks• Use Bing Api• Provide Locations of Users WhenDiscovered
The Web and HTTP•Browser asks for document•Server replies with 200 ok and bodyGET•Browser uploads a document•Server replie...
Publish Subscriber PatternPublisherSubscribersService Busor HubDevices
Publish Subscriber Pattern on the Web• Implemented using Web Sockets– RFC 6455– Googlehttp://www.rfc-editor.org/rfc/rfc645...
Introduction to SignalR• https://github.com/SignalR• Most popular implementations– Jabbr - https://jabbr.net/
Failover Methods if Web Sockets FailWeb SocketsServer Sent Events (EventSource)Forever FrameAjax Long Polling
Why Azure?• Highly Scalable• Unlimited Bandwidth (for a cost)• Easy Deployment andConfiguration models
Continuous Integration and AzureWrite CodeCheck In tocloudA Build isKicked offDeploymentSent toAzure
SignalR Demonstration• Hosted on Azure with TFS (http://tfs.visualstudio.com/)• Requirements to run Demo– Windows Azure SD...
Horizontal Scaling Concepts• Server hardware is expensive• Configuring more instances iscomplex
Azure Service Bus• Queues– Holds Messages– Pushes to Subscribers• Topics– Contract– Specific Messages / Connections
Demo of Azure Service Bus• Simple demo of Azure Service Bus
Scale out using Azure Service Bus• Integrated in 1.1 beta for SignalR• One line of code that does so much
Performance Configurations for IISIncrease number of concurrent requests perapplicationIncrease number of concurrent reque...
References• SignalR– http://signalr.net/– http://www.asp.net/signalr/overview– https://github.com/SignalR/SignalR– http://...
Questions?@jwendl on Twitterjwendl@hotmail.comhttp://www.jwendl.net/
Upcoming SlideShare
Loading in...5
×

Signal r azurepresentation

447

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
447
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Signal r azurepresentation

  1. 1. The Real-Time Web with SignalRand Azure Service BusJustin WendlandtSenior Consultant – Magenic Technologieshttp://jwendl.net/@jwendl on Twitter
  2. 2. OverviewReal Time WebImplementationsExamplesSignal RHorizontal Scaling with AzureDemoQuestions and Answers
  3. 3. Real-Time Web Overview• Content on Demand vs. Published• UX Similar to DesktopApplications• More Social and Interactive
  4. 4. Forced Video Feed Switching• Scott Hanselman for DotNetConf• Problem – Google Hangouts required users to refresh browser to see nextvideo• Solution – Have SignalR and Azure Service bus switch out the videos whenan administrator published them
  5. 5. Real-time Deals on Amazon.com• Real time deals based onpurchased data• More social and interactiveexperience for users
  6. 6. Real-Time Map API Hooks• Use Bing Api• Provide Locations of Users WhenDiscovered
  7. 7. The Web and HTTP•Browser asks for document•Server replies with 200 ok and bodyGET•Browser uploads a document•Server replies with 200 okPUT•Browser takes previous response•Sends modified data to server•Server replies with 200 okPOST•Browser asks server to remove a document•Server replies with 200 ok and deletesdocumentDELETE•Browser takes previous response•Browser sends only merged data to server•Server replies with 200 okMERGE
  8. 8. Publish Subscriber PatternPublisherSubscribersService Busor HubDevices
  9. 9. Publish Subscriber Pattern on the Web• Implemented using Web Sockets– RFC 6455– Googlehttp://www.rfc-editor.org/rfc/rfc6455.txt
  10. 10. Introduction to SignalR• https://github.com/SignalR• Most popular implementations– Jabbr - https://jabbr.net/
  11. 11. Failover Methods if Web Sockets FailWeb SocketsServer Sent Events (EventSource)Forever FrameAjax Long Polling
  12. 12. Why Azure?• Highly Scalable• Unlimited Bandwidth (for a cost)• Easy Deployment andConfiguration models
  13. 13. Continuous Integration and AzureWrite CodeCheck In tocloudA Build isKicked offDeploymentSent toAzure
  14. 14. SignalR Demonstration• Hosted on Azure with TFS (http://tfs.visualstudio.com/)• Requirements to run Demo– Windows Azure SDK– SignalR NuGet package– ASP.NET MVC 4
  15. 15. Horizontal Scaling Concepts• Server hardware is expensive• Configuring more instances iscomplex
  16. 16. Azure Service Bus• Queues– Holds Messages– Pushes to Subscribers• Topics– Contract– Specific Messages / Connections
  17. 17. Demo of Azure Service Bus• Simple demo of Azure Service Bus
  18. 18. Scale out using Azure Service Bus• Integrated in 1.1 beta for SignalR• One line of code that does so much
  19. 19. Performance Configurations for IISIncrease number of concurrent requests perapplicationIncrease number of concurrent requests per CPUIncrease the request queue limitScale out more instances if on Azure or another ServiceBus like Redis
  20. 20. References• SignalR– http://signalr.net/– http://www.asp.net/signalr/overview– https://github.com/SignalR/SignalR– http://weblogs.asp.net/davidfowler/– http://damianedwards.wordpress.com/– http://www.hanselman.com/blog/AsynchronousScalableWebApplicationsWithRealtimePersistentLongrunningConnectionsWithSignalR.aspx• Azure Service Bus– http://www.windowsazure.com/en-us/develop/net/tutorials/multi-tier-application/– http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-queues/– https://github.com/SignalR/SignalR/wiki/Azure-service-bus• Web Sockets– http://www.w3.org/TR/websockets/– http://www.rfc-editor.org/rfc/rfc6455.txt
  21. 21. Questions?@jwendl on Twitterjwendl@hotmail.comhttp://www.jwendl.net/
  1. A particular slide catching your eye?

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

×