A cloud is simply x number of servers pooled together for redundancy on a hardware level.
I.E that way if a node goes down whatever they're running will still stay up. It's highly scalable and dynamic, you can also use the cloud as a single entity - break it up with virtualization (this is what Amazon do), or pretty much whatever.
That's the general idea, but many people have their own opinions of what a cloud is and there's no real solid definition, just really depends on how you want to deploy (or what restricts most people) how much you can afford.
Your solution seems like one of those ones that really are designed "not to break", without getting into the debate of the best way to achieve this, I can see why your setup would be expensive.
Good luck with it all.