What is the AWS perfect substitute for Azure SignalR Service?

Viewed 9465

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?

4 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.

Related