Domain names: DynDNS offers free domain names if you're not picky.
Some people like to break these rules. They also tend to like doing more work than they need to.
mod_wsgi is the most common way to serve WSGI applications in the wild
mod_wsgi needs a magical application callable: http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide. So, create a .wsgi file somewhere of choice
add the necessary locations to sys.path (could also set the PYTHONPATH environment variable)
add the apache configuration
Deployment should be easy. For personal web sites and services, this isn't that mandatory at first; if something goes wrong, you're more able and willing to fiddle with things until they work. But eventually the effort will increase the more you add and the longer you have to maintain it.
For production systems, it is critical that deployment is easy and quick. Service down time is a big no and trying to get a complicated set of steps to work quickly is not only no fun, it also leads to mistakes.
good programmers are mostly lazy
Questions to ask yourself:
This is shown as an example deployment story and not necessarily the method to deploy a production system. Each deployment will have different requirements depending on the intent of the site/service/etc.
Synchronization:
Storage:
Do the technologies fulfill the requirements?