SlideShare a Scribd company logo
The Real-Time Web with SignalR
and Azure Service Bus
Justin Wendlandt
Senior Consultant – Magenic Technologies
http://jwendl.net/
@jwendl on Twitter
Overview
Real Time Web
Implementations
Examples
Signal R
Horizontal Scaling with Azure
Demo
Questions and Answers
Real-Time Web Overview
• Content on Demand vs. Published
• UX Similar to Desktop
Applications
• More Social and Interactive
Forced Video Feed Switching
• Scott Hanselman for DotNetConf
• Problem – Google Hangouts required users to refresh browser to see next
video
• Solution – Have SignalR and Azure Service bus switch out the videos when
an administrator published them
Real-time Deals on Amazon.com
• Real time deals based on
purchased data
• More social and interactive
experience for users
Real-Time Map API Hooks
• Use Bing Api
• Provide Locations of Users When
Discovered
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 ok
POST
•Browser asks server to remove a document
•Server replies with 200 ok and deletes
document
DELETE
•Browser takes previous response
•Browser sends only merged data to server
•Server replies with 200 ok
MERGE
Publish Subscriber Pattern
Publisher
Subscribers
Service Bus
or Hub
Devices
Publish Subscriber Pattern on the Web
• Implemented using Web Sockets
– RFC 6455
– Google
http://www.rfc-editor.org/rfc/rfc6455.txt
Introduction to SignalR
• https://github.com/SignalR
• Most popular implementations
– Jabbr - https://jabbr.net/
Failover Methods if Web Sockets Fail
Web Sockets
Server Sent Events (EventSource)
Forever Frame
Ajax Long Polling
Why Azure?
• Highly Scalable
• Unlimited Bandwidth (for a cost)
• Easy Deployment and
Configuration models
Continuous Integration and Azure
Write Code
Check In to
cloud
A Build is
Kicked off
Deployment
Sent to
Azure
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
Horizontal Scaling Concepts
• Server hardware is expensive
• Configuring more instances is
complex
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 IIS
Increase number of concurrent requests per
application
Increase number of concurrent requests per CPU
Increase the request queue limit
Scale out more instances if on Azure or another Service
Bus like Redis
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/AsynchronousScalableWebApplicationsWithRealtimePersistentLongru
nningConnectionsWithSignalR.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
Questions?
@jwendl on Twitter
jwendl@hotmail.com
http://www.jwendl.net/

More Related Content

What's hot (20)

PPTX
Owin & katana
Fabian Vilers
 
PDF
Azure series 2 creating a cloud service - web role
Saravanan Subburayal
 
PDF
Building Composable Serverless Apps with IOpipe
Erica Windisch
 
PPTX
Asynchronous programming in ASP.NET
Alex Thissen
 
PPTX
ASP.NET vNext
Alex Thissen
 
PPTX
Alfresco Process Services (APS) and the Internet of Things
Nathan McMinn
 
PDF
NCUG 2019: Super charge your API’s with Reactive streams
Frank van der Linden
 
PDF
Orchestrator for QlikView: add-on product description
Marco Zampieri
 
PDF
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
PDF
Colorado Cloud Foundry Meeting
ncayou
 
PDF
Engage 2020: Hello are you listening, There is stream for everything
Frank van der Linden
 
PDF
Developing Resilient Cloud Native Apps with Spring Cloud
Dustin Ruehle
 
PPTX
Going Serverless with Azure Functions
Christos Matskas
 
PDF
WordCamp IL 2016 - WordPress Scale on AWS
Boaz Ziniman
 
PPTX
Building a Google Cloud Firestore API with dotnet core
Mike Melusky
 
PPTX
How and why test Azure Front Door with AWS Lambda & PowerShell? | Osman Sahin...
UK DevOps Collective
 
PPTX
Container Orchestration for .NET Developers
Mike Melusky
 
PPTX
Building rest services using aspnetwebapi
Brij Mishra
 
PPTX
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
PPTX
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 
Owin & katana
Fabian Vilers
 
Azure series 2 creating a cloud service - web role
Saravanan Subburayal
 
Building Composable Serverless Apps with IOpipe
Erica Windisch
 
Asynchronous programming in ASP.NET
Alex Thissen
 
ASP.NET vNext
Alex Thissen
 
Alfresco Process Services (APS) and the Internet of Things
Nathan McMinn
 
NCUG 2019: Super charge your API’s with Reactive streams
Frank van der Linden
 
Orchestrator for QlikView: add-on product description
Marco Zampieri
 
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...
ServerlessConf
 
Colorado Cloud Foundry Meeting
ncayou
 
Engage 2020: Hello are you listening, There is stream for everything
Frank van der Linden
 
Developing Resilient Cloud Native Apps with Spring Cloud
Dustin Ruehle
 
Going Serverless with Azure Functions
Christos Matskas
 
WordCamp IL 2016 - WordPress Scale on AWS
Boaz Ziniman
 
Building a Google Cloud Firestore API with dotnet core
Mike Melusky
 
How and why test Azure Front Door with AWS Lambda & PowerShell? | Osman Sahin...
UK DevOps Collective
 
Container Orchestration for .NET Developers
Mike Melusky
 
Building rest services using aspnetwebapi
Brij Mishra
 
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 

Similar to Signal r azurepresentation (20)

PPTX
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Dinusha Kumarasiri
 
PPTX
Building Real time Application with Azure SignalR Service
Jalpesh Vadgama
 
PPTX
signalr
Owen Chen
 
PDF
Introduction to SignalR
University of Hawai‘i at Mānoa
 
PPTX
Real-time Communications with SignalR
Shravan Kumar Kasagoni
 
PPTX
SignalR powered real-time x-plat mobile apps!
Sam Basu
 
PPTX
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
 
PPTX
ASP.NET MVC 5 and SignalR 2
Jaliya Udagedara
 
PPTX
Real-time ASP.NET with SignalR
Alexander Konduforov
 
PPTX
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 
PPTX
SignalR Powered X-Platform Real-Time Apps!
Sam Basu
 
PPTX
Real time communication with Azure Functions with Azure SignalR
Dinusha Kumarasiri
 
PPTX
Azure signalR & Real time web application
Microsoft
 
PPTX
Real time web applications with signal r
Elad Avneri
 
PPTX
Signal r
Vasilios Kuznos
 
PDF
SignalR
Slawomir Dorzak
 
PPTX
SignalR Overview
Michael Sukachev
 
PPTX
SignalR Dublin ALT.NET
Dorin Manoli
 
PPTX
Microsoft signal r
rustd
 
PPTX
Real Time Apps with SignalR Core
Sam Basu
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Dinusha Kumarasiri
 
Building Real time Application with Azure SignalR Service
Jalpesh Vadgama
 
signalr
Owen Chen
 
Introduction to SignalR
University of Hawai‘i at Mānoa
 
Real-time Communications with SignalR
Shravan Kumar Kasagoni
 
SignalR powered real-time x-plat mobile apps!
Sam Basu
 
Building Realtime Web Applications With ASP.NET SignalR
Shravan Kumar Kasagoni
 
ASP.NET MVC 5 and SignalR 2
Jaliya Udagedara
 
Real-time ASP.NET with SignalR
Alexander Konduforov
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 
SignalR Powered X-Platform Real-Time Apps!
Sam Basu
 
Real time communication with Azure Functions with Azure SignalR
Dinusha Kumarasiri
 
Azure signalR & Real time web application
Microsoft
 
Real time web applications with signal r
Elad Avneri
 
Signal r
Vasilios Kuznos
 
SignalR Overview
Michael Sukachev
 
SignalR Dublin ALT.NET
Dorin Manoli
 
Microsoft signal r
rustd
 
Real Time Apps with SignalR Core
Sam Basu
 
Ad

Signal r azurepresentation

  • 1. The Real-Time Web with SignalR and Azure Service Bus Justin Wendlandt Senior Consultant – Magenic Technologies http://jwendl.net/ @jwendl on Twitter
  • 2. Overview Real Time Web Implementations Examples Signal R Horizontal Scaling with Azure Demo Questions and Answers
  • 3. Real-Time Web Overview • Content on Demand vs. Published • UX Similar to Desktop Applications • More Social and Interactive
  • 4. Forced Video Feed Switching • Scott Hanselman for DotNetConf • Problem – Google Hangouts required users to refresh browser to see next video • Solution – Have SignalR and Azure Service bus switch out the videos when an administrator published them
  • 5. Real-time Deals on Amazon.com • Real time deals based on purchased data • More social and interactive experience for users
  • 6. Real-Time Map API Hooks • Use Bing Api • Provide Locations of Users When Discovered
  • 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 ok POST •Browser asks server to remove a document •Server replies with 200 ok and deletes document DELETE •Browser takes previous response •Browser sends only merged data to server •Server replies with 200 ok MERGE
  • 9. Publish Subscriber Pattern on the Web • Implemented using Web Sockets – RFC 6455 – Google http://www.rfc-editor.org/rfc/rfc6455.txt
  • 10. Introduction to SignalR • https://github.com/SignalR • Most popular implementations – Jabbr - https://jabbr.net/
  • 11. Failover Methods if Web Sockets Fail Web Sockets Server Sent Events (EventSource) Forever Frame Ajax Long Polling
  • 12. Why Azure? • Highly Scalable • Unlimited Bandwidth (for a cost) • Easy Deployment and Configuration models
  • 13. Continuous Integration and Azure Write Code Check In to cloud A Build is Kicked off Deployment Sent to Azure
  • 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. Horizontal Scaling Concepts • Server hardware is expensive • Configuring more instances is complex
  • 16. Azure Service Bus • Queues – Holds Messages – Pushes to Subscribers • Topics – Contract – Specific Messages / Connections
  • 17. Demo of Azure Service Bus • Simple demo of Azure Service Bus
  • 18. Scale out using Azure Service Bus • Integrated in 1.1 beta for SignalR • One line of code that does so much
  • 19. Performance Configurations for IIS Increase number of concurrent requests per application Increase number of concurrent requests per CPU Increase the request queue limit Scale out more instances if on Azure or another Service Bus like Redis
  • 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/AsynchronousScalableWebApplicationsWithRealtimePersistentLongru nningConnectionsWithSignalR.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