I have written a PHP web application, and that app will have a .Net 3.5 Windows Service to run on back-end ( There is a reason for doing this). My application will have to transfer a large amount of images ( both in terms of quantity and file size) between the servers and the clients. So speed is definitely a consideration.
So for this kind of setup, should we self-host? Or should we rent a hosting? Which one is better in terms of cost, and support etc? If we were to rent a hosting, is there any company's service that we can use on?
Edit: Seems that rented hosting is the way to go; so is there any suggestion for this?
There is almost certainly a difference in cost, and it boils down to economies of scale. Do you have the budget to keep a couple of systems administrators and folks with network savvy on your payroll to handle the inevitable issues which will crop up, plus regular maintenance and new deployments?
If you only hire one guy, what is your risk plan for when he gets hit by a bus, or takes a holiday somewhere without any phone coverage? Or both? How does the business continue to function if that coincides with the server room catching fire? ;-)
With a managed hosting outfit you are paying a small premium over 'unmanaged' hosting, however they're going to provide you with a Service Level Agreement and their entire organization will be structured to doing the "hosting thing" as a service. Versus the cost of self-hosting don't forget to look at both CapEx and OpEx - costs get scary, real quick.
If you self host, where will you put the servers? There is a big difference between a 'server room' in an office and your typical datacentre, just thinking about the redundancy. Most offices don't have n+1 power and cooling for a start :-)
For "small" scale hosting (under 40 servers, under 2 racks) then I'd very seriously recommend going to talk to someone like Rackspace about how much they'd charge to make it happen -- larger businesses also go this route because their core focus simply isn't running a big IT operation, they want it to "Just Work (TM)" and have no headaches.
If you're a little larger then feel free to be flexible. Just don't skimp or you'll seriously regret it one Christmas when everything implodes and you're left carrying the can.
I self managed a dedicatd server for several years, and after constantly having to deal with server upgrades, DOS attacks, hackers trying to break into the server and the database on an almost constant basis, I switched to using the "Rackspace Cloud". You can run both PHP and asp.net and both mysql and sql server. They have not been perfect, but the cost was about 70% less than I was paying for a dedicated host, and now I don't worry about anything except software development.
Don't underestimate the amount of time it takes to self-manage a dedicated host. If you have the interest, the expertise, the time and the money to use a dedicated host, go for it, but if you'd rather be writing code consider just buying the expertise for a company that specializes in doing this sort of thing.
We use Rackspace Managed, we've had good experiences with it. It isn't very often that I throw them a curveball of a request that they can't handle; and they are very very responsive to issues.
I don't think they are monitoring event logs for hardware items, for instance; monitoring seems to be limited to a service ping; so not as good as I was when I was a professional sysadmin, I suppose - but generally very worth the money. Not your typical "did you try rebooting it?" crap. And I wasn't 24/7.
Wait, I still sleep with a pager on my nightstand 24/7 50 weeks out of the year. Maybe I am 24/7.