Tonight I threw up a copy of my personal site, just to see if AppFog is worth looking into. Perhaps my experience would have been better if I tried during business hours while their live chat support was open, but I don't plan to use AppFog after this experience.
The highlights: - They advertise unlimited apps, but you're limited by how many apps you can squeeze into the RAM your account gets. Sure, you don't have the hard cap of 10 apps like App Engine (still?) gives you, but "unlimited" isn't really true - AppFog's founder wants you to believe<http://blog.appfog.com/if-paas-is-expensive-and-slow-why-not-use-a-vps/>they're proving PaaS doesn't have to be slow and expensive, but I found AppFog to be slow, and their pricing <https://console.appfog.com/pricing> gets nutty-expensive very fast - Getting my app working at all was a trying experience, and AppFog doesn't offer much in the way of documentation or debug output to help you - No sign of a cron system, so you'll be relying on web2py's built-in cron (didn't check if it works there, but I assume so) - All apps have a 100MB disk limit, and I don't see a way to buy more. Better hope you're apps don't get very big! - You do have a writable filesystem, for what that's worth with the 100MB disk use limit. I didn't check whether all instances access the same FS (that's kind of an important way so design the service) My conclusion: If you want a free place to host something that (really, really) doesn't need to be performant, AppFog is a decent choice because: - It has a writable filesystem, which sets it apart from App Engine - It has MySQL, which sets it apart from App Engine - It looks more likely to stick around than some of the other free web host services that I've seen mentioned here However, to get that free hosting you'll have to put up with terrible performance (or highly variable performance if it magically speeds up by tomorrow morning), poor documentation, and a tricky and opaque setup procedure. On to doing stuff, and statistics! First off, I could not find any links on their site instructing me on how to configure a Python app to work on AppFog. I eventually gave up and resorted to Googling for a tutorial, which led me to this section<http://docs.appfog.com/frameworks/python>in AppFog's docs. Not sure how you are supposed to find that. That link isn't too helpful, though- it shows how to make a Flask site that works on AppFog, and links to working Bottle and Django sites, but doesn't spell out how to make a generic WSGI site work. To make my simple web2py site work, I had to do the following: mv wsgihandler.py wsgi.py # AppFog needs wsgi.py. I tried a symlink instead of a move, but couldn't make AppFog work in that arrangement ln -s wsgi.py wsgihandler.py # This ensures updates to web2py affect your wsgi.py gem install af af login af push <appname> # This gives you an Amazon East app. I can't figure out how to use `af` to deploy to a different infrastructure I tried creating an app on the Rackspace infrastructure through AppFog's web admin `af update <appname>`, but couldn't get my app to start. It didn't start automatically, and `af start <appname> --debug` tells me I don't have the "run" mode available. So no Rackspace for me. Once I got my app running on AppFog's Amazon EC2 infrastructure (after a number of false starts related to not having wsgi.py) I noticed my app ran very slowly. The front page of my app doesn't really do anything; it could almost be a static HTML file, yet it was unbearably slow on AppFog. I fired up Apache Benchmark and got some very disappointing results. With a concurrency of 50, run for 30 seconds: - 1 instance, 128MB RAM: 139 requests completed, mean average of 10.5 seconds to fulfill a request - 1 instance, 2GB RAM: 140 requests, 10.8 seconds mean - 15 instances, 128MB RAM each: 163 requests, 9.2 seconds mean For comparison, my site hosted on its usual low-end rackmount server (RHEL 6.2, 3.1GHz quad-core Xeon, 8GB RAM, Apache with mod_wsgi) completed 3061 requests with a mean 0.490 seconds per request. Beefier than what AppFog gave me? Sure, but not enough to explain handling 22x the requests, with 1/22nd the response time. * The AppFog mean request fulfillment numbers varied by as much as two seconds over the several times I ran the tests. That sort of unpredictability worries me. On Thursday, July 26, 2012 9:50:01 PM UTC-4, Joel Carrier wrote: > > Has anyone tried running web2py on appfog ( www.appfog.com ) and cares to > comment on their experience? --

