Followup: I contacted AppFog support via their live chat to get a few questions answered:
- Confirmed: You can't buy more storage (yet). It's a priority for them, though. - An app's instances don't all see the same copy of the filesystem. That's less of a problem than the fact that: - Your writable filesystem isn't persistent. AppFog recommend it be devoted strictly to your codebase, with any static assets being placed on something like S3. - Confirmed: They don't provide cron. I attempted to use web2py cron in my AppFog app, but I can't make it work. I haven't tried very hard to figure out why. I was also able to get my app running on their Rackspace instances- it seems their `af` command doesn't work right with the --debug flag, which I was using to see why things weren't working :P `af start <app>` worked fine. Lastly, the Apache Benchmark numbers I presented last time lasted through at least Monday night. When I tested tonight, they had fallen to around 1 second average load time- far more reasonable. I asked AppFog support about the high load times last weekend, and they couldn't pinpoint a specific issue, but said they had been fiddling with things in response to opening to the public and I might have just caught them at a bad time. I'll give them the benefit of the doubt on that, but I'd still keep an eye on those load times for a while before assuming an app will perform reasonably on their service. So, now that I got a Rackspace deployment working, and their hosting isn't slower than molasses, I'm a little more optimistic about AppFog. On Sunday, July 29, 2012 12:04:06 AM UTC-4, spiffytech wrote: > > 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 free MySQL (App Engine started charging for MySQL in June), > 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? > > --