Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the AWS perfect substitute for Azure SignalR Service?

Recently, I used Azure's "Azure SignalR Service" along with Azure App Service to build a real time chat app. It worked like magic. I loved it! However, I am constrained now to use AWS for my platform and would like an equal substitute service such that I can build a real time service, leveraging nothing but AWS services.

What is the equal subsitite in AWS that I can leverage so that I can build a real-time app similar to how I built the Azure app with Azure SignalR Service and Azure App Service?

My plan is to use both API Gateway + AWS Elastic Beanstock. What are my options here? Is Elastic beanstock going to work out? Not sure if I need some type of always-on feature implemented in the Elastic beanstock so that down periods dont spin down AWS resources and break WebSocket connections.

1 note worth mentioning. One of the hard requirements I have as part of this project is to create an HTTP rest-full api. My plan is to place this behind the API Gateway proxy.

AWS states that it provides real-time service using API gateway here

https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/

However, within API Gateway I believe I need to create "HTTP API" instead of "WebSocket API". If I have a backend web api using for example ASP.NET Core web api, can I still select WebSocket API? enter image description here

If I go with AWS "WebSocket API", How can I create an API Front end (proxy) for my backend ASP.NET COre web api while still allowing for real time?

like image 965
jbooker Avatar asked Jun 03 '20 21:06

jbooker


People also ask

What is azure SignalR service?

Azure SignalR Service is a fully-managed service that allows developers to focus on building real-time web experiences without worrying about capacity provisioning, reliable connections, scaling, encryption or authentication.

How do I deploy Azure SignalR service?

Deploying a SignalR web app to AzureIn Visual Studio, select Build, Publish SignalR Chat. In the "Publish Web" dialog, select "Windows Azure Web Sites". If you aren't signed in to your Microsoft account, click Sign In... in the "Select Existing Web Site" dialog, and sign in.

What is SignalR serverless?

SignalR Service acts as a proxy between clients and hub servers. Choose Serverless mode if you're creating a new application and don't want to maintain hub server and server connections. Serverless mode works together with Azure Functions so that you don't need to maintain any server at all.

Is SignalR scalable?

A SignalR app can scale out based on the number of messages sent, while the Azure SignalR Service scales to handle any number of connections.


1 Answers

Amplify and the AWS IoT Gateway is what you need. The IoT GW offers pub-sub using MQTT and WebSockets.

https://docs.amplify.aws/lib/pubsub/getting-started/q/platform/js

For a web app they have JS libraries that allow you to get an auth token and then subscribe or publish to a topic. On the server side you can use the AWS SDK to publish messages to a topic.

like image 127
user1940269 Avatar answered Oct 21 '22 07:10

user1940269