Re: The cloud
I have said it somewhere else, and will repeat it here.
An in-house team gives you the ability to select the people you want to work with, and if you treat them well, they will be instantly available to attend to your IT snafu. It may cost you a bit more in the long run.
An outsourced team, well... you don't have a say in who you want on that team, and when you have a meltdown, the outsourced team may take a while to respond to your problem. Over the weekend will be more problematic. Even more problematic will be if the outsourced team is already responding to somebody else's brown trouser incident. Remember, outsourced = shared.
In-house IT do fail from time to time, due to unforeseen circumstances and Mr Murphy. The key is how fast you will be able to respond to downtime, and fix the problem before your customers will start cussing at you.