I've tried to research this question on the web using Google but anything related to hosting almost invariably brings up a ton of pseudo-review/affiliate sites.
I need to host a Windows application on a server that is not based on a standard web framework. In other words, I want to run a standard compiled EXE that handles the socket operations itself without using IIS or Apache or any other web server framework. I just want to receive HTTP/Socket requests direct to my application that will be listening on various ports and I'll take it from there. The application is not meant to be a public server, but a back-end to a public server that provides certain high-speed functionality to the public server (or servers) over the web. I guess a good corollary would be an API server but in this case the API will only used by my public servers. The EXE program running on the back-end server will need to access to MySQL. I am hoping to have MySQL running as a Windows service on the box just like I do when doing development from my Windows box in my office.
Has anybody else done this and if so, can you give me guidance on:
What kind of dedicated box should I get? I'm not asking the question from a performance or estimated number of users to support viewpoint. That's obviously dependent on too many other factors. Just what kind of box will give me the right mix of database/web performance but at the same time isn't overkill since I'm trying to control costs. For example, is a typical quad core with a healthy amount of memory sufficient or do you really need to get into something like a high power Xeon with tons of memory? The EXE will be doing a lot of database access work but only minimal floating point activity. That is, it's light on the calculations but heavy on the table accesses.
What tips can you give me for things that could really eat me alive as far as bandwidth and other ancillary costs? I can't ask the question any better because I am looking for the things unforeseen by a novice like myself in this area that an experienced person can immediately relate to a past horror or success story. Note, I have done plenty of LAMP stuff so I'm not a novice in that capacity but I've never done any Windows hosting.
What kind of Control Panel should I be looking for that will do the best job of making me feel like I've got a remote Windows desktop instead of a suite of awkward utilities I have to pilot to get things done?
Any Windows hosting caveats I should be aware of? Things an Apache/Linux person would run headlong into due to inexperience?
Are there ISPs that can offer you a dedicated server that will only be available on their Intranet, to another server you rent from them? I know that may be a dumb question because I'm guessing I can just control access via the requester's IP address, but I'd prefer to keep the back-end server completely out of public view.
Anything else you can share?