Virtual private servers (VPSs) are sandboxed slices of hardware run with a hypervisor running on top of a physical server. Virtualization software such as Xen and VMWare allow a providers' customers to use fractions of a full server that appear as their own independent instances. For example, a server with an 8-core processor and 16 gigabytes of memory can be roughly virtualized into 8 pieces with the equivalent of 1-core and 2 gigabytes of memory.
The primary disadvantage of virtualized servers is that there is resource overhead in the virtualization process. But for our web application deployment, a single well-configured virtual private server provides more than enough performance and represents a huge cost savings over purchasing dedicated hardware.
There are many VPS providers and their cost ranges dramatically based on reliability, support, security and uptime. Make sure to choose a provider that has a solid reputation unless you are willing to rebuild your server on another provider whenever issues hit your service.
A few providers I currently use to host my Python web applications:
Easily deploy your Python web apps to Digital Ocean's reliable cloud computing platform.
Fix errors in your Python code before your users see them by monitoring with Rollbar.
Scout monitors the performance of your Python apps, identifying slow queries, memory bloat, and more. Free during Tech Preview.