I would like to create my own private cloud, hosted on my servers, which can be Windows or Linux but I would like to use .NET/WCF in the service layer. I don't need a fancy/schmancy UI like Azure and I don't want use Amazon either. The data will be large i.e. images, video and lossless audio.

I know Hadoop/MapReduce is a central component to creating a cloud OS, what else is required?

Look, I know I cannot compete with Azure or Amazon, but I need a far smaller similar version of those services, how would you go about it?