We're using Heroku for historical reasons and I have this awesome ZeroRPC based server that I'd love to put up on the Heroku service. I'm a bit naive around exactly the constraints imposed for these 'cloud' based platforms but most do not allow the opening of an arbitrary socket. So I will either have to do some port-forwarding trick or place a web front-end (like Flask) to receive the requests and forward them onto the ZeroRPC backend. The reason I haven't just done Flask/ZeroRPC is that it feels awkward (my front-end experience is basically zero), but I'm assuming I would set up RESTful routes and then just forward stuff to ZeroRPC...head scratch....
Perhaps asking the question in a more opening-ended way; I'm looking for suggestions on how best to deploy a ZeroRPC based service on Heroku (btw I know dotCloud/Docker uses zeroRPC internally, but I'm also not sure if I can deploy my own ZeroRPC server on it).
According to Heroku spec you are supposed to listen to single PORT which is given to your app in env. variable.
In case your application needs only single port (for the ZeroRPC), you might be luck.
But you shall expect your ZeroRPC being served on port 80.
Possible problems:

not sure, if Heroku allows other than HTTP protocols. It shall try to connect to your application after it gets started to test, it is up and running. It is possible, the test will attempt to do some HTTP request which is likely to fail with ZeroRPC service.
what about authentication of users? You would have to build some security into ZeroRPC itself or accept providing the service publicly to anonymous clients.

Proposed steps:

try providing the ZeroRPC services on the port, Heroku provides you.
rather than setting up HTTP proxy in front of ZeroRPC, check PyPi for "RPC". There is bunch of libraries serving already over HTTP.
Best way to use ZeroRPC on Heroku server