Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What should I take into account when deciding between (i) deploying my web application in the server located in the next room and (ii) having other big companies to do that for you. Also, I'd like to have an estimation for the cost (we're a very small organization).

Thanks for helping

share|improve this question
    
Is this a joke? Privately - always. Business - borders stupid. –  TomTom Jul 23 '10 at 13:31
    
You know, a lot of companies find good value in having web applications hosted instead of in-house. Lots of smaller companies can't afford to have redundant power, cooling, internet - so it makes more sense to rent a server in a place that does. Economies of scale - that's smart, not "borders stupid." –  mfinni Jul 23 '10 at 13:59
    
@TomTom: Why did you ask if it's a jock? –  Richard77 Jul 23 '10 at 14:21
add comment

2 Answers

up vote 5 down vote accepted

I don't know about cost, it entirely depends on your requirements. You'd have to get estimates from companies.

Benefits for having it hosted in the other room: control. You have total management control. You know if you have it backed up, you can have physical access to the machine when something goes wrong, you can upgrade it, you have responsibility for it. You can put little baubles and stickers on the server and post pictures of it on geek sites for sysadmin day if you wanted, like a Boba Fett bobblehead.

Benefit to outsourcing: again, depends. Depending on your contracts and hosting company, the only real benefit you may get is that if your office burns to the ground or floods, your app will continue to work.

Some companies may do upgrades to the OS, or it may still be your job. Some companies may do distributed deployment, so if someone accesses your app in NY and you're in California, the client will get it retrieved from a site more local and it'll be faster for them. Depends on your deployment needs.

Basically you need to make a list of competencies and deficiencies in your skillset, and decide if you can get them locally or if you need a hosting company to do it for you. Then decide how much it's worth to you, and whether it's worth downtime if/when your app fails. Backups? Electrical redundancy? Parts (if your server dies, can you bring it back up)? RAID and operating system maintenance? Antivirus/disaster planning?

Who's accessing it? Just your company? Or outside clients? If you host it and your Internet connection dies, everything's cut off. Does this app make your company money? Then you might want it on the distributed Amazon cloud, or you need the company to have redundant links with multiple providers.

Start with your list, then look at whether your company has the skills on site (or nearby with consultants) and resources to handle issues like dead connections, backups, disasters (tornado, flood, earthquake), and maintenance. Otherwise, look at the "hosted cloud". Then get a budget together for how much these things are worth to you/your company, and get prices from different companies. Compare how they stack up.

Or start out in the other room and migrate to a outside company later. Unless you get really entrenched, there's nothing stopping you from migrating later. I would say that I'd get it all virtualized though...that is one way to help with some migrations, in my opinion, making things as generic and separable as possible. Abstract the application enough that it will make it easier to dump to another machine later (whether it's an upgraded or new server in the business or a virtual server on the cloud). The less dependencies you have on the implementation of the server solution the better.

share|improve this answer
add comment

Cost is obviously one. You'll need to pay for the hosting - either shared (where your site is on the same machine as others) or dedicated (where you get your own server).

Security - a hosted solution will be more secure.

Data transfer speeds. You are at the end of a connection set up for receiving data - i.e. your download speeds and transfer volumes are higher than your upload speeds. With a machine in your office you'll be serving data "against the flow" and the performance of your site will suffer. If you do host it yourself you will need to upgrade your connection to allow more equal uploads and downloads.

As to cost, that depends on where you are, how big your application is and how much data you'll be transferring.

share|improve this answer
    
And don't forget the cost of electricity and HW. I think hosted solution is far more cheaper and reliable. –  mkudlacek Jul 23 '10 at 13:41
    
@mkudlacek - good point. –  ChrisF Jul 23 '10 at 13:47
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.