I personally like to use my own server to host stuff. But this requires you to know exactly how to admin a server: deep knowledge of the server OS and security and backup mechanisms and a plan for technicians to maintain your server with high priotity. Also you have to set up monitoring and keep it up2date. A cluster-solution might be a very good idea.
It's quite difficult and time consuming, but well, I like doing stuff and having full control :)