Sure, it would be ideal to find a tech cofounder, but that is not always possible. It is easy to oursource the work to build the initial website, but as the website grows and user activity increases, how much can possibly be outsourced? Is it realistic to outsource everything?
For instance, here are some needs a business founder may have down the road...
-Server Administration- How to best optimize servers to deal with increased traffic efficiently.
-site is broken- Need someone to fix your site when someone hacks it or there is an unexpected bug.
-New features- Tack on new features without interupting the site's user experience.
-Customer support- 27/7 response
-Scalability- the code needs to be altered to deal with all of the load.
-Any other technical details that come up that a founder doesn't have knowledge of.
-Admin Dashboad- Eventually you will have to improve the site' dashboard to see all real time statistics so you can see what breaks and what needs improvement.
It would be great to hire people to monitor this stuff regularly, however, if the budget isn't there for full time employees, outsourcing seems like the best option. Is there anything that shouldn't be outsourced?
Basically it depends on how you (and your clients) feel about it and how much you trust the person/company/comanies you are outsourcing to...
A hosting provider should be able to supply you with server admin, part of scalability (more servers/more powerful server(s) ) & security.
A "developer" company should be able to provide new features, fixes for a broken site, part of scalability (better usage of existing server(s) ), admin dashboard & parts of the security.
The customer support might be from a call center type solution or if your hosting provider has the sort of support you are looking to offer (I have seen this approach in a start-up I was part of helping).
External (from the former) consultants might be brought in to give you extra security, other tech details (if none of the above knows them).
Also consider how the site will earn a revenue and what staff is needed in order to do that (sales, advertising, etc) - in most cases it is possible to hire this as well.
IMHO - Everything can be outsourced BUT not everything should be outsourced to the same company - if you (will) have sensitive data then make sure security is audited by a company that has no connections to any other company - both the "not getting hacked" sort of security but also how do you keep the developer company from stealing your idea/data. Also consider if everything is outsourced, what is the company consisting of and why can't a competitor come along and grab your clients, what do you offer? Maybe there should be at least a owner/CEO/project manager type of person on board to make sure that everyone is doing the right thing.
At the end "of the day" I would say that the main answer to your question is to make sure that as you grow you keep looking at the cost of the out sourcing and weigh that against having your own resources!
At some point it will (probably) be more efficient to stop the outsourcing look for instance at Zynga with regards to Amazon
If you don't have any idea how software/website is created, outsourcing is going to become cost prohibitive. You're going to be paying by the hour and they will want that payment whether your site is successful or not. There will be no disproportionately long hours put in for the love of the company or hopes of a future pay-off. They may go for that, but I doubt it. If they do, it's almost like they're a partner.
You will have no idea how long a task should take. They want 50 hours to build the database? What choice do you have? Arbitrarily offer 45?
Who is going to manage all the different specialists? You mentioned security. If there is a problem, the programmer is going to blame the admin, the admin is going to blame the hosting provider and the hosting provider is going to blame the programmer. And all this time, you're paying everyone by the hour to not get anything done and your site is losing money.
24/7 support? That can't be cheap.
There are risks and other costs with employees. Consultants have mark-ups as well.
The technical entrepreneurs face the same problem. They can use sweat-equity and their expertise to build something only to find out they have no clue how to find people to pay for it. Sure they can outsource the selling of the site, but they're in the same position.
If your idea isn't good enough to attract a technical partner, you may want to reconsider. Otherwise, you're going to spend a lot of money on outsourcing.