I was able to attend the Cloud Foundry Open Tour in London on May 1st. While there was a lot of marketing hype and excuses ( ‘Cloud Foundry is the Linux of the Cloud!’, ’80% of our exciting new work is under the water line, we’re an iceberg of innovation!’ ), there were a few very interesting technical features that were shown during the presentations.
In this post, I will outline 7 interesting things about the Cloud Foundry platform that I learned during the Cloud Foundry Open Tour London.
1. You can attach a rails console to Cloud Foundry remotely and execute rails commands.
One of the cooler ‘Holy crap I wish they supported this for Grails’ features in Cloud Foundry is the ability to hook up the remote console for your rails applications. You simply type
vmc rails console appName
and wham! Full access to your rails applications on the cloud.
You can read more about this feature here: http://blog.cloudfoundry.com/post/13481010650/cloud-foundry-now-supports-the-rails-console
2. You can write and deploy projects to Cloud Foundry from Cloud9 Web IDE.
In the Node.js presentation, we were shown a little example of how cloudfoundry integrates with the Cloud9 Web-based IDE. Essentially, you can write your code in Node.js and choose to deploy to Cloud Foundry via a convenient dropdown window provided.
This feature is shown in the video below:
More information about this feature can be found here.
What's cool about this feature, obviously, is that it will allow you to sip coffee in the local Starbucks while coding on your iPad on the Cloud.
3. Cloud Foundry supports standalone projects ala Heroku procfiles.
Another interesting feature that is coming soon is the ability to run background processes on Cloud Foundry. Basically, you can upload a project and tell it what command to run for all the workers. Conceptually, this means that you will be able to deploy any type of applications on Cloud Foundry as long as it supports one of their runtimes.
4. AppFog is coming out of beta within a month.
One of the main complaints of any developer who has tried to go beyond a simple Hello World in Cloud Foundry is that cloudfoundry.com simply sucks compared to Heroku. You are not even able to do simple things like redirecting to your own domain, even after 1 year of beta. ( Maybe because they are so busy working below the water line).
Appfog tries to fill in the void of suckiness created by Cloud Foundry by basically reselling their services and providing a platform that is a lot friendlier to developers. With Appfog, you can deploy to servers in Europe, choose Rackspace or Amazon servers, and yes, even point an external domain to it.
The Appfog representatives at the open tour suggested that they expect the platform to come out of Beta after this month and will announce pricing fairly soon. For us developers that are looking for an actual production Cloud Foundry instance to run on ( Cloudfoundry.com is not production ready ), this is good news.
5. Cloud Foundry has released BOSH to help deploy and manage large scale distributed systems.
Cloud Foundry announced that they are open sourcing BOSH, which is a full pledge package management, monitoring and deployment mechanism that runs on Amazon and vSphere ( OpenStack support is coming soon ). BOSH is the system that is used by Cloud Foundry to deploy and patch cloudfoundry.com.
It has some interesting features. For example, you can specify monitoring parameters while building your packages or store package builds as blobs on the server. Overall, it seems like quite a well thought-out system of building, patching and deploying large scale clusters.
I'm not familiar enough with Puppet, Chef or Vagrant to say how much more efficient this is, but it's worth noting that this was heavily hyped during the conference as the next best thing since sliced bread.
6. Really good tips on Decomposing your applications to scale.
As a software developer, one of the best talks in the conference for me was Chris Richardson's Decomposing Applications with Deployability and Scalability talk. You can find the slides for it embedded below.
7. Service oriented architectures with eventual consistency is the new black.
One of the main themes of the conference is the notion that instead of building monolith applications, Cloud Foundry is really a platform that enables you to quickly spin up services in multiple languages and add services to it.
This was the theme reflected in Adrian Coyler's keynote:
( Note, this talk was recorded at Spring I/O Madrid but has the same content ).
Overall, Cloud Foundry seems like a really cool platform if your company is looking to build a large private cloud. The tooling and support seems to be becoming more stable and usable, and there are a few language support features that make it a fairly pleasant platform to work with in one or two years when it is finally ready.
For individual developers, it seems that Cloud Foundry is perfect right now to build and rapidly prototype support tools or bits and pieces of services to support their Heroku, Cloudbees or Google App Engine Applications. Given that cloudfoundry.com is currently free and enables multiple accounts, it seems like a great place to spike new code or unknown infrastructure without destabilizing your existing application.