Our company's current customer-facing site & intranet site is currently built on Classic ASP running on IIS 6. The current site only contains about 10 customer-facing pages, and an internal site that manages HR records, scheduling, etc.
Management has decided that we will use this rewrite project to finally develop our online retail store. They want us to use a geographically separate facility (also on a completely different ISP) to provide a failover in case the WAN link at our primary facility goes down.
We have chosen Python for the rewrite as we want to be able to move to a Linux-based platform, and we currently use Python in other in-house development projects.
We have looked at the various Python web development frameworks, and CherryPy seems like a good fit for what we need, which is a minimal environment for serving Python-generated content. However, I am having trouble finding information on using CherryPy with load-balancing and failover technologies.
It would appear that we will be forced to host CherryPy on Apache in order to leverage a failover/load-balancing cluster that supports sticky sessions. Is this correct, or this there a way to do it using CherryPy's internal server or a different HTTP server altogether?
Also, are there services that provide a way to direct the traffic in the cluster so that we do not have to host it ourselves? We need to be able to distribute our traffic between the 2 data centers, but if the WAN link goes down at either, it can't affect the ability for the cluster to direct traffic to the cluster that is still available.