As I've previously mentioned, you need a dynamic IP address resolution service in order to reliably host your own service. I will explain how to set this up using a particular provider of this service, DynDns.com. You'll want to visit this company's site, create an account, and then click on the "Services" link at the top of the page. On the page you are taken to you will click on "DNS Services" on the left hand side, and you'll either want to select the Dynamic DNS or Custom DNS service. The Dynamic DNS service is free, while the CustomDNS service costs 24.95 a year. Take a look at the difference in features and see what works for you. Personally, I chose the Custom DNS service because 24.95 a year is cheap and it offers a few features and better support. This tutorial assumes you are using the Custom DNS service, but I believe the user-interfaces to each system are close enough (if not the same) for you to follow along if you choose the Dynamic DNS service instead.
Here is a high-level guide of what you will need to do to get everything working correctly, and I'll follow up this high-level guide with more details: