Self-host an application or outsource it? [closed]

Assuming you have the ability to influence IT purchasing in your organization, what criteria and process do you use to evaluate outsourcing decisions? In a basic "host a commercial application in-house" vs. hosted/software-as-a-service decision, I see three different scenarios:

  1. Purchase new hardware and software to host a new application in-house, or outsource it.
  2. Outsource an existing application currently being hosting in-house.
  3. Bring an application currently being outsourced back in-house.

The decision ultimately comes down to budgets and money, but what other factors do you consider? Time? Expertise? Integration with other systems?


Solution 1:

The decision ultimately comes down to budgets and money, but what other factors do you consider? Time? Expertise? Integration with other systems?

Time and again, I've seen companies outsource their application hosting...and (implicitly) responsibility. That's when folks start only considering the marketed costs. This frequently leads to "Well, Sparkle Pony Systems, Ltd is hosting our servers, so if something goes wrong then they are to blame".

So, some due diligence is in order to ensure the application hosting company is up to the job. An on site visit or two is a must.

  • Technical Staff
    • Meet them, get their backgrounds, gauge their moods
    • How long have they been there? Is there high turn over?
    • Are they truly experienced in the platform you want to run on?
  • Facilities
    • Tour the server room
    • Is it neat and organized? (No media and dust on servers, no unlabeled patch panels)
    • Do they have spare parts and emergency kits readily available?
    • How is the security? Are you left alone? Do they need keys to access everything?
    • Is the colo well known in your area? (And not in the basement of the owner's parents house)
    • Is everything redundant?
  • Health of the business
    • Do they have a respectable customer list, companies that desire stability in their vendors
    • Are they financially sound? (Can be subjective and hard to accurately gauge.)
    • Is their a ticketing system in place? 24h access to engineers?

Yeah, those are the things I look for in such companies. It is amazing how many mom-n-pop, fly-by-the-seat-of-your-pants companies there are out there that are in this biz.

I actually performed this type of due diligence about two years ago with a few companies and am pleased with our selection.

Solution 2:

You should ask yourself these questions when you're thinking about outsourcing applications:

  • Does my staff lack any of the right skills or depth needed?
  • Am I not certain I can recover from outages quickly enough?
  • Do I have problems keeping pace with the 18 to 36 month technology cycle?
  • Do daily operations and keeping the systems running keep me from focusing on new strategic projects?

I guess if you would answer two or more of these questions with "yes", you should consider outsourcing your application or service. It doesn't mean you'll find a provider, which will need your requirements. It heavily depends what kind of application you want to outsource.

I guess there are some standard applications like email, collaboration etc. with plenty of good standard outsourcing options. If your application is a more specialized one, I think it depends on how the software is implemented (client/server, web ...) and what the technical limitations are.

Of course you should ask yourself similar questions about your outsourcing service provider in order to calculate all risks you are taking if you enter a relationship with an external company.

Here are some questions to evaluate potential providers:

  • Does the provider have a track record of service commitment?
  • Who are the provider’s existing customers, and how satisfied are they?
  • How will your account be managed? How quickly can you expect to receive a return phone call from your account manager?
  • How flexible is the provider in implementing your specific needs?
  • What is the quality of the provider’s infrastructure and security infrastructure?
  • Does the provider offer a migration plan?
  • How strong is the provider's financial health? This is too often overlooked, but especially startup companies have a certain risk of going out of business.
  • How is the pricing of their services?

Solution 3:

There's also a data security issue. Does the application hold data that you would rather retain full control over. Backups are great should you need them, but what happens if the data 'escapes' somehow?

Solution 4:

Apart from what you mentioned, there is a choice between your own staff and consulting company. And choice of colocation, which would be something in the middle between external hosting and in-house hosting. So you'd have more scenarios:

  • Have application hosted in-house, but outsource maintenance to consulting company;
  • Have application housed in external colocation center, having your own IT staff maintaining it;
  • Have application housed in external colocation center, but outsource maintenance to consulting company.