I think the Ultramonkey solution will give you as close as possible to transparent service. The idea being that the proxy handles the request and then forwards to an available server (and it monitors which servers are available using heartbeat and some other bits and pieces). This effectively creates a solution that's load-balanced as well as HA.
In terms of monitoring the service - I use Nagios for monitoring - which gives a pretty accurate depiction of uptime and can make connections on specific ports, allowing a service to be monitored to ensure it's listening. Another option would be to specify the proxy on the Nagios box and then to get it to make periodic http requests using the proxy, which would give you reporting on how well the proxy is performing (ie. not just that the service is up, but that it is *actually* working...).
Ultramonkey is effectively a bundle of linux services that all work in conjuction with each other when deployed (ldirectord, heartbeat, etc) which simplify deployment. I'm not aware of a commercial solution that would provide similar functionality - although you might be able to get close with VMWare....it might be another avenue to explore