It's the age old question in IT, the question of whether or not to build it yourself or just buy it off the shelf. Lately, I seem to be hearing the questions again and again. It seems that for some reason some IT guys have gotten it into their head that if they adopt a cloud infrastructure platform, either hosted or in house, they're going to lose their jobs. So the only choice is to build it. I think the reasoning is if you build it, you will control it, and your company will have no choice but to keep you around. Unfortunately the answer isn't so cut and dry.
The rationale for building it yourself has been around as long as IT. There have always been various reasons for it, from there weren't any systems that could delivery what we needed, or we're different, we're smarter, we're bigger.. you get the point.
The real question you need to ask yourself is where does youe strengths as an organization lay? As a software developer or selling some other core business? For most it's the latter. Building your own cloud software is fraught with risk. One such example is a major hosting firm who spent 16 months building their own cloud IaaS platform only to realize that the assumptions they made about the potential cloud market opportunity had changed and their platform couldn't deliver the technical requirements of their new customer reality. More to the point, their platform wasn't what their targeted customers wanted to buy. Compounding their problem was the platform they built themselves didn't actually work - period. The key system engineer left mid-way through the project, forcing the company to find a replacement as well as inducing a major delay in the development. Additionally poor documentation meant those replacements had no practical way to continue what had been started previously. Needless to say, several million dollars later the project did launch, only to be promptly replaced a by a turn key IaaS platform.
Then there is the question of service differentiation to which I say, if you choose an extensible cloud platform, then you're able to differentiate faster than you could if you build it yourself. Business is about adapting to market conditions. Building it yourself mean longer development cycles and potentially less adaptability. Customizing an existing platform, one that provides you a template for success and best practices is inherently less risky or time consuming. The real question you should be asking is can I deploy this cloud platform in a way that allows my business to be unique? If the answer is no, than find a platform that can. If you still can't find one, then build it yourself. But be prepared that you should now consider yourself a software developer.
As the founder of a IaaS platform vendor, I freely admit I am bias toward buying a platform over building it yourself. My reasoning is simple, our business is building IaaS platforms for service providers. Is it yours? If you answered no, my comment is unless you plan to get into the software business, building it yourself will only serve to add un-need risk, uncertainty and potential failure to your IT operations. Something I think we can all agree you should avoid.