iTunes_match is up and running and it stores everything (well, actually pointers to most, but everythhing is availabe). The price is cheap - $25 per year for all tunes bought from iTunes, plus 20,000, (I think). Amazon is not in the same league, unless you have a tiny library... and all that uploading. iTunes for the most part identifies your tunes and links them to copies already in the cloud.
Apple is soon going to offer a service called iTunes match. Unfortunately, it will not be free. You can read about it here.