We use webscreen, but it's a physical box and I don't think they have a virtual solution, but it is pretty good and the company that I work for suffers DOS attacks and DDOS attacks quiet often.
http://www.webscreen-technology.com/
Cloud based solutions I know off are Cloudflare and Imperva....
http://www.imperva.com/solutions/ddos-protection.html
A couple of possible solutions:
Mod_Evasive and Mod_QOS... this should limit the amount of requests from specific IPs and may buy you some time.
also I have heard of one way of dealing with it.. never tried it though:
Stick a couple of Virtual Machines and then load balance across a couple of reverse proxies (with caching).. ie Varnish Cache
The theory is that you'll soak up all that bandwidth and stop it saturating your network before it reaches you backend servers..
Good Luck btw.... DDOS protection isn't something you think about till you suffer an attack... but once you have it you'll sleep easier at night.