I don't quite know which forum this is most appropriate to post on, feel free to move it.
I am currently developing an e commerce website as an addendum to a successful ebay store. I am using django, and python for this project. I am at the point of figuring out whom/where this site will be hosted. The challenge for me is that I currently don't know what kind of traffic load to expect, which makes it more difficult to determine the cost of bandwidth provided by various services.

I would like to have root access, and be able to use ubuntu server, since I know it, however, I am also open to a managed solution.

Currently I see three options and I would like to hear from people with experience doing this sort of thing which option is best, were there any nasty gotchas etc. Unexpected very high bills or other "that seemed like a good deal, buts"...

Option 1: Get a basic hosting provider which supports django. Downsides, not root access, possible lack in flexibility if for example load increases.

Option 2: Hire a dedicated server with root access in one of the many data centers. That provide that service.

Option 3: Hire a VPS or use a cloud service like amazon ec2. This is what I'm most confused about since they all do their pricing by the hour/bytes of bandwidth used. Which is not useful information for me.

Option 4: Upgrade my ISP contract to a business class connection and host the site on my own metal.

I ask this question, mostly because after hours of reading pricing charts from Amazon, RackSpace, Comcast, and several other providers of various services I am now less knowledgeable than I was when I started. For example Aamazon's pricing chart with things like 0.0X dollars per megabyte upload is pretty useless to me, if I don't have an estimate of how much data I will be uploading per month. Also the little fractions of cents look cheap but could add up really fast if I'm not careful!

Thanks for any input, it is appreciated!