AppFog – A Developer’s Best Friend? – Part 2

In the first part, I outlined what made AppFog such an appealing tool for developers. Setup is painless and fast, and there’s a free tier that has a lot of functionality and power. In Part 2, I’ll take a look at some of the other really slick functionality that AppFog offers.

App Resources

Adjusting the amount of resources available to an app is amazingly easy. Just slide the Instances and Memory Quota sliders and set your desired levels. After adjusting, your app will restart, and your code will be copied to each instance, each one running with their own set amount of memory.

AppFog - App Resources
AppFog – App Resources

Additional Services

After provisioning your app, you can still easily add-on several useful services:

  • MongoDB
  • PostgreSQL
  • MySQL
  • RabbitMQ
  • Redis

This can be accomplished in a matter of seconds. To setup a MongoDB store, all it takes is the following:

AppFog - Additional Services
AppFog – Additional Services

MongoDB was ready to go almost instantaneously.


AppFog also features a number of external add-ons. Their list isn’t as extensive as Heroku’s, but then again I don’t think anyone’s is. These add-ons are provided by external companies, so I’m not sure if all of them have a free tier available. Like everything else, they are also very easy to setup. Within about 30 seconds I had a MongoDB store provisioned at mongolab.

AppFog - Add-Ons - mongolab
AppFog – Add-Ons – mongolab


Overall, AppFog is a pretty slick PaaS, but I would be remiss if I didn’t mention some of the small issues I’ve encountered. I’ve found that provisioning services can be a little buggy at times, as can adjusting the Ram capacity and number of instances for an App. At times these seem to be simple UI issues, but at other times, like when I was recently trying to add a MySQL database service to an app, I kept receiving this error and was unable to proceed:

name: VmcError, endpoint: POST:/services, statusCode: 502, code: 503, description: Unexpected response from service gateway

There was no similar issue when provisioning a PostgreSQL database. Another weird bug: I tried to setup a simple PHP application on RackSpace hardware. The install I ended up getting was the PHP Drupal install. Not a huge issue, and the next time I tried it I got the basic PHP install.

The other issue I’ve noticed is that sometimes I’m not sure if the UI has reacted to my actions or not. After changes are made, I’ve hit Update and ended up with two contradictory messages being displayed for a time: “Unsaved Changes” and “Done”. Which one is it?

I’m going to do one final post on AppFog, outlining a couple of nice tricks and techniques that I’ve discovered and have seen discussed. I’ll link it up here when it’s completed. Edit: It’s now up.

This entry was posted in Cloud, PaaS, PHP, Web Development and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *