To be honest it's still kind of a mess. I started out with a FastAPI service that wasn't performant enough and figured that putting ray serve behind it would take a day but it turned out to be a pain in the ass. The docs are really lacking and they're transitioning from flask to starlette in 1.2 (which is not out yet) so a lot of the information is wrong or misleading. I ran into a ton of random serialization issues like simple dataclasses holding a torch tensor and some plain metadata getting pickled and copied, and pydantic models failing to serialize and crashing the whole thing with assertion errors (broken recently in their nighly releases, which are needed to use 1.2).
Depending on string names and handles is also very hacky and completely cripples PyCharm autocomplete / type checking.
The core of the project is great though. We're working on a video processing system that has a ton of downstream models and using Ray makes it possible to get away with running inference in pytorch without going down the TensorRT/inference engine rabbit hole (would be torture for some of our detection and sequential models).
For anyone looking into it I recommend starting with their Architecture Doc(https://docs.google.com/document/d/1lAy0Owi-vPz2jEqBSaHNQcy2...) and Design Patterns (https://docs.google.com/document/d/167rnnDFIVRhHhK4mznEIemOt...) Docs.