This is not a good idea to run your server yourself, out of your home, using your regular, consumer-based Internet, if you're doing it for a business.
The most important point that @MainMa mentioned is that regular, consumer Internet has an imbalance in download speed and upload speed. With most ISP's, the upload rate is roughly half that of the download rate.
When surfing the web, the upload rate is used when you browse the Internet for handshakes and HTTP requests with the server. If your upload speed is significantly reduced, then any web pages you try to visit will hang and have trouble loading.
A mouse chewed through the phone lines out on the street once and electrocuted itself, and although my download speed was fine, my upload speed was reduced to about 150Mbps. My Internet connection was terrible, and I was just browsing the net! Imagine what it would be like if you had other people using your upload bandwidth...
Also, imagine what the user experience on the other side is like. Anyone who tries to load content from your home Internet will only see about half the rate of your download speed. This just doesn't scale, as home Internet wasn't designed to handle this load.
Most organizations that host their own applications have T1 lines or a business-equivalent Internet. In general, it's priced significantly higher than home Internet.
Thus, if you're doing this just to learn, and don't expect to have any traffic whatsoever, and the computer you're on is securely isolated from the rest of your network, then it could be a fun experiment.
But if you're planning on running a business off of this setup, prepare to lose. This is not a case where you want to attempt to be "off the grid".