[Edit: Aug 1 – Appfog has now released their pricing. It is free for developers who want a 2gig ram 1gig db setup and $100/month to double that. It’s quite compelling and I highly recommend it. – https://console.appfog.com/pricing ]
I had a chance to play a little bit with AppFog today. Appfog is a version of VMware’s Cloud Foundry hosted by the makers of PHPFog that aims to overcome some of the limitations of the VMware product. It’s very nice.
In their announcement blog post, AppFog stated: “Cloud Foundry alone has no web interface, no pricing, no plans, no IaaS integration (no AWS, no S3), no support. That is where AppFog shines.”
True to their word, AppFog provides deployment to 4 different providers and offers 64 gigs of memory for a monthly rate of $29.99 (Gringo Dollars).
In this post, I’ll walk briefly over my first impressions deploying a Grails application on AppFog. Overall, it is a much richer and pleasant experience than Cloud Foundry and looks like we finally have a competitor to Heroku or Cloudbees.
Since appfog has the same underlying structure as CloudFoundry, deploying a new application to it was the same as the traditional Cloud Foundry plugin.
One consideration is that you needed to specify the deployment target.
In grails-app/conf/Config.groovy, add the following lines
grails.plugin.cloudfoundry.username = "firstname.lastname@example.org" grails.plugin.cloudfoundry.password = "mypassword" grails.plugin.cloudfoundry.target = "http://api.aws.af.cm"
After building your application, you simply deploy it like a typical cloudfoundry application
grails prod cf-push
After deployment, you should see your application deployed correctly. Mine can be found at http://grails.aws.af.cm
Targets – Deploying to stuff besides VMware iron.
AppFog offers 4 different type of targets aside from the one offered by VMware:
- api.aws.af.cm – AppFog’s Amazon-based service
- api.rackspace.af.cm – AppFog’s Rackspace-based service
- api.hp.af.cm – AppFog’s HP Cloud-based service
- api.joyent.af.cm – AppFog’s Joyent-based service
However, it doesn’t seem that you are able to have further control over this, so it wasn’t very clear that you could specify that you wanted your Amazon servers to be based in Ireland, for example.
Appfog offers support for MongoDB and MySQL.
By default, the cloud foundry plugin will ask if you want to provision a service for MySQL and Postgres. Selecting that you wanted to deploy a Postgres service broke the deploy script by returning a null.
Tunneling support to access services on AppFog is provided.
What makes AppFog really exciting compared to the VMware solution is the Admin UI that they offer for your application.
Taking a page out of Heroku, you can quickly configure the number of instances of your application you want to run at the time. I was able to quickly and easily add another instance of my grails application with little hassle.
Appfog also provides the ability to map custom domains, something that CloudFoundry has promised for over 10 months and has done nothing about.
You can also easily modify your application settings and see the statistics. Overall, it is very nicely done for a preview version:
One of the niceties of Appfog is that you can create a github or dropbox based repo and it will automatically build this and deploy it for you. Unfortunately, this is not available for Java or Grails.
Another element missing from Cloud Foundry since it’s introduction is pricing. Appfog seems to suggest that for $29 / month, you are able to get 64 gigs of memory. This might just be a placeholder value, but it’s nice to see that at least they are trying to attach a figure to hosting on their services.
Overall, I was very impressed with the AppFog Beta. It seem compatible with the grails plugin for Cloud Foundry and deployment seems to be fairly painless.
The lack of Grails / Java github support is disappointing. I would still probably use Heroku or Cloudbees for a git-based continous deployment approach.
As a long time Cloud Foundry user, it feels like a lot of holes in the VMware offering are plugged by Appfog. It is quite refreshing to see a company taking the Cloud Foundry project into the commercial sphere instead of just being an academic exercise. Appfog is what Cloud Foundry should have been when it launched.
You can request early beta access for appfog on their site here.
However, there seems to be quite a wait for this, as I remember requesting access when the service was first announced back in August.