Why are you opting to build the entire thing from scratch instead of using an existing orchestration tool and building an interface to that? Wouldn't that save you time and money?
I've most recently hammered on mcollective, and it can easily support multiple users, parallel requests, full auditing of all requests and responses, authorization, server discovery, etc. There's all your advanced features, already implemented.