aws / apprunner-roadmap

This is the public roadmap for AWS App Runner.
https://aws.amazon.com/apprunner/
Other
297 stars 14 forks source link

Support web sockets #13

Closed gsogol closed 4 months ago

gsogol commented 3 years ago

Community Note

Tell us about your request Ability for the automatic load balancer to support web sockets

Describe alternatives you've considered Using Beanstalk and enabling web sockets support in application load balancer

ericblade commented 9 months ago

Thank you for having patience on this issue. We would like to get some feedback on maximum request timeout that you would like us to have for Web sockets support in App Runner.

It sounds like AWS devs don't have any idea what supporting WebSockets means.

algoflows commented 9 months ago

Absolutely mental..... is there any chance of delivering this within the next decade? With well over 500 likes on this and years of people asking for it and not listening to what your customers are asking for. I can't believe how long this thread is and how many people have engaged for the team not to get this feature implemented. Basic WebSocket support!!! It's not like were asking for a custom built rocket ship to compete with Elon, we are asking for what all your competitors already provide and have been waiting years for this team to provide it. For the love of god, please serve your customers and deliver this much requested feature.

Is there any realistic timeline to when we might see WebSocket support? Anyone from the AppRunner team please could you share some news?

ericblade commented 9 months ago

what all your competitors already provide

hmm.. like whom... ?:-)

algoflows commented 9 months ago

@ericblade do we really need to mention Google's Cloud Run or spend time plucking easy picking off the myriad of countless competitors that directly compete with app runner that support web sockets. Unfortunately at this point, we are needing to roll with AWS but our stuck hacking workarounds to simple service requirements.

fabiobeoni commented 9 months ago

Hey guys,

I understand everybody concerns, but let me say that if your workload is AWS based, it's much easier to move from App Run to Fargate than moving to Google Cloud Run.

I have worked with both, Cloud Run it's pure fun, but also Fargate it's very easy to adopt..

Once you are familiar with AWS in general, and you have known-how about containers (App Run) you can definitely go for Fargate with almost no effort.

On Fri, Dec 1, 2023, 12:48 PM Sean Knowles @.***> wrote:

@ericblade https://github.com/ericblade do we really need to mention Google's Cloud Run or spend time plucking easy picking off the myriad of countless competitors that directly compete with app runner that support web sockets. Unfortunately at this point, we are needing to roll with AWS but our stuck hacking workarounds to simple service requirements.

— Reply to this email directly, view it on GitHub https://github.com/aws/apprunner-roadmap/issues/13#issuecomment-1835990264, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEAZTKMTNVZVIDSVNWRVV4DYHG72VAVCNFSM45D3LC7KU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBTGU4TSMBSGY2A . You are receiving this because you commented.Message ID: @.***>

algoflows commented 9 months ago

@fabiobeoni alternatively the team implement web sockets as its the most requested feature. It appears to be on the road map now so hopefully not too long until we have ws. I do however wish the team would communicate more openly with the community and give regular updates.

Mugane commented 9 months ago

@fabiobeoni surely you're kidding? I have never used a more convoluted over-engineered mess of required services than Fargate in the 20 years I have been building web infrastructure. How bad is Cloud Run?

hgollakota commented 8 months ago

In case this helps anyone, after experimenting with various python open-source alternatives to running streamlit on Apprunner, I have found Gradio launch() works - though not queue() as that still requires websockets. AWS team please add support! Apprunner is just SO convenient otherwise.

k-koehler commented 8 months ago

I just switched to cloud run. It works how apprunner should work

iljaiwjew commented 7 months ago

I'm also waiting for this

algoflows commented 7 months ago

Still no word from the team, any updates on this?

algoflows commented 7 months ago

I just switched to cloud run. It works how apprunner should work

Will be following you shortly, have been hoping for any updates from the team but nothing from them.

jwoodlee commented 7 months ago

We have been prototyping this behavior but do not have a confirmed roadmap ship date. Customers seeking this behavior today can use AWS Api Gateway as a front end to a private AppRunner

henricook commented 7 months ago

@jwoodlee Thanks for finally adding some light to this thread - can you please expand on how to use api gateway in front of a private app runner, or link to the docs?

hariohmprasath commented 7 months ago

2. private Hi @henricook, You can find some details in this thread and thanks for using App Runner: https://github.com/aws/apprunner-roadmap/issues/13#issuecomment-1328474075

algoflows commented 7 months ago

We have been prototyping this behavior but do not have a confirmed roadmap ship date. Customers seeking this behavior today can use AWS Api Gateway as a front end to a private AppRunner

How can you not have a target date, that screams to me that this isn't a priority on your roadmap. This feature is the most requested feature in your entire roadmap from user feedback. Unbelievable. We don't want to hack API gateway in front of the service, we've been asking for years for native socket support. Literally years.

Would the apprunner team please show us a feature request with more demand than this????

Screenshot 2024-01-26 at 18 30 22

dhavaln commented 7 months ago

If it helps anyone, instead of waiting further we recently updated our Websocket logic to use AppSync Generic Pub/Sub over WebSocket, our use case was to only subscribe for data updates.

We are using AppRunner as our pre-prod environment, for a while Websocket not working was a non-issue, but more recently we had only two options 1) fix it 2) switch to EC2 or ECS. Using AppSync is not affecting our development and deployment process flow, plus it has low cost footprint.

[application: Angular JS 1.4.12 (outdated) and AppRunner NodeJS with ExpressJS] https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html

ChihweiLHBird commented 6 months ago

I thought AWS had "Customer Obsession", "Insist on the Highest Standards" and "Deliver Results"? lol

algoflows commented 6 months ago

Its apparent to me this team doesn't care about customers, doesn't follow their own AWS mantra of "Customer Obsession" as their communication is absolutely terrible and the delivery of web sockets, a feature that so many have been asking for years, has taken so long, I've long ago with many others I know moved to other services outside AWS. Good luck everyone, we'll have scaled two new startups by the time they deliver on this feature.

temmyjay001 commented 5 months ago

This is ridiculous, almost 3 years, and no solution.

algoflows commented 5 months ago

Hey peeps, if you are looking an alternative to the big cloud providers who are unable to deliver on customer demands here's an alternative solution that has been working well for me. https://www.koyeb.com/

hambro commented 5 months ago

This is ridiculous, almost 3 years, and no solution.

I imagine Amazon is dragging out any decision and development for AppRunner, slowly asphyxiating it until they can sunset the service citing poor customer adoption rate, below expectations, blah blah.

For anyone coming from Google

If you want to use Django with websockets (django-channels), Flask with SocketIO, self served data science projects with streamlit, Jupyter notebooks, or anything with websockets: Look further! AWS AppRunner will not work. Use koyeb, Heroku, GCP Cloud Run, that Raspberry PI you got in a drawer, whatever.

backnol-aws commented 4 months ago

Thanks for your patience as we've researched this feature. We've designed and built App Runner as a great place to run request/reply based workloads. It's not meant to support persistent connections like TCP. We suggest evaluating ECS/Fargate with an Application Load Balancer to address the needs of applications needing persistent connections.

chai3 commented 4 months ago

@backnol-aws Thank you for the latest information. But I think it's better to reopen issue and remove Just shipped in roadmap.

pSnehanshu commented 4 months ago

As mentioned by @backnol-aws, supporting websockets is a non-goal for App Runner because it requires long running service, whereas it is meant only for serverless type workloads.

So it makes sense to close it and even remove it from roadmap.

algoflows commented 4 months ago

Epic fail, no consideration of what customers have been asking for. You've designed the service for what you think we want or need. You had an excellent opportunity to work with customers on a much requested feature and deliver a win for you, aws and everyone involved. Instead, the apprunner team took another route; It's bewildering how you just completely decided against servicing the most popular feature request. Wild stuff. Never in my life have I seen the most requested feature for a service just been shut down, isn't the entire premise of a business to service what your customers actually need and are asking for?!!?

kosakt commented 4 months ago

AppRunner is very suitable for meeting the many demands of frameworks such as Streamlit (which require WebSockets) in creating generative AI apps and simple operational apps. It would be a great waste not to implement it after making people wait so long, and I think it would be a disappointment.

Tolulade-A commented 2 months ago

It's crazy that apprunner doesn't support web sockets

qcaudron-soundag commented 2 months ago

I'll add to this thread just to say that :

Supporting websockets would be a huge value prop for many of us. Thanks.

Mugane commented 2 months ago

Well why didn't you just say you wouldn't ever support websockets or long-running processes to begin with? What a thoroughly disrespectful waste of time. I for one will never recommend AWS for any cloud services again.

dbish commented 1 month ago

adding a note here for data for the apprunner PM. I started to use app runner to test and deploy a new service/app with flask, found this thread, and will not be using it. if it had websockets support I would have. initially seemed like an easier way to deploy a flask app, but nowadays websockets are pretty important for anything interacting in nearish real time, especially streaming responses or data back from things like an LLM.

EliteXCoder1 commented 2 weeks ago

What a disappointment honestly. I spent so much time working on supporting web sockets for my app since using SSE will hold up a gunicorn worker for long periods of time and this is not ideal when scaling up. I wish I had saw this sooner because i wasted so much time. Funny, i can use SSE to serve a response from the server to the client, but I can't use web sockets?