Production ready? #228
-
What an absolute banger project! This approach just makes sooo much sense and the way you've managed to butter everything into existing tooling is just amazing. You seem to be the primary driver for this, which is quite impressive. I'm curious, however, to how stable and robust the whole thing is in a real world running production apps. Not much information or references on this. You mentioned it started out for your self - however, this seems quite solid. Would you say this production ready? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 2 replies
-
I'd say Falcon is in the early adopter phase, but I'm using it in production quite happily along with many others. You should peruse the discussions to see if there might be any gotchas for your use case (#186 for example) -- likely this issue should be converted to a discussion as well, but please feel free to post additional/specific questions as you consider Falcon for your project! |
Beta Was this translation helpful? Give feedback.
-
I think As for Some parts, like complete support in Rails, is outside of my control, but looks to be progressing well. As far as I know, there will be a Rails 7.2 release which continues to improve the fiber-per-request model. While Rails 7.1 was the first release to technically support fiber-per-request, some parts of Rails need additional work to make them "great".
Supporting the above pull requests with feedback and reviews would probably help. |
Beta Was this translation helpful? Give feedback.
-
@trevorturk @ioquatix Thanks for getting back to me! This is quite useful - and it appears to be more robust then I first anticipated. I'm not used to being deep in the engine room of web servers so for me there are quite a few moving parts. It also seems like there might be some edgecases hiding the corners. So altho the two of you are confident in your setup - I'm personally still a bit hesitant. I'm afraid small edge cases will take me exceptionally long time to figure out and it in the long run will slow down our momentum. Currently this project feels like a powerful toolbox for experienced craftsmen. For general builders, like myself, more documentation and insights into configuration will help make it less intimidating. An example would be that I tried following the rails and the deployment guides - however there is no clear guidance on how to best migrate from my Puma configuration to a solid Falcon configuration. So I never felt confident in what was going on. I felt like I was not handling CORS properly or I'd run into session errors down the road. It also took a while to understand why it was forcing me to use https locally, how to work around that so I could test it and once it finally was running I noticed the port was not respecting the PORT environment - which again make me feel uncertain about how things were configured. These are all small things - but for me they added up. I'm purely a passenger looking for a free ride - so this is not critique at all, just sharing my journey. I would love to help make the wheels turn and to see this production ready sooner then later. Please let me know if there are any low hanging fruits I can contribute with. Hoping to be able to add some steps to the documentation once we've got our newest product out of beta. |
Beta Was this translation helpful? Give feedback.
-
FWIW, we've been using Falcon on a medium/large scale production service (~10,000 rps) for around 3 months now and haven't had any issues. Mind you this isn't a Rails app, so naturally YMMV. But Falcon is solid. We took some time to async-ify what we could like our Redis and external HTTP calls which helped out a lot. With regards to config, we couldn't be running a more simple config:
Now that I think about it, perhaps this is actually one of its greatest strengths. Outside of fiddling with the number of workers we found worked best for our app and infrastructure, there's little to no configuration required. It just works. |
Beta Was this translation helpful? Give feedback.
FWIW, we've been using Falcon on a medium/large scale production service (~10,000 rps) for around 3 months now and haven't had any issues. Mind you this isn't a Rails app, so naturally YMMV. But Falcon is solid.
We took some time to async-ify what we could like our Redis and external HTTP calls which helped out a lot.
With regards to config, we couldn't be running a more simple config:
Now that I think about it, perhaps this is actually one of its greatest strengths. Outside of fiddling with the number of workers we found worked best for our app and infrastructure, there's little to no configuration required. …