For the last couple months I have been working on an experiment involving raspbery PIs (or PII?), BOSH and Cloudfoundry. The goal of this experiment is to run Cloudfoundry on one or more Raspberry Pis. My colleague Ruurd Keizer and I will be sharing our journey and demonstrate the result at the Cloudfoundry Summit in Boston in April!
Actually the goal is not to run all of the Cloudfoundry components on a raspberry but specifically the Diego Cell. Why you ask? Well, first of all I though it would be an interesting learning experience but also because I think alternative CPU architectures, especially ARM might take some of the datacenter market share from x86 CPU’s. Giving Cloudfoundry multi architecture support could make migrating from one architecture to another pretty easy. Mixing architectures in one Cloudfoundry platform would give platform consumers a choice between more powerfull x86 CPUs and a little less powerfull but also a lot less power hungry ARM CPUs. I believe that for a lot of workloads the less powerhungry ARM chips are a good fit. And saving a bit of energy helps save the planet so what’s not to like 🙂
Ok, enough about the why, I also want to tell a little bit about what I’m working on exactly. As I said the final goal is to run a Diego cell on a Raspberry Pi. But deploying Diego and Garden-RunC is usually done by BOSH. BOSH is designed to consume an IaaS like vSphere or AWS. There is support for physical machines through RackHD but It isn’t really possible to deploy Raspberries with RackHD.
So in order to be able to deploy Diego cells with BOSH to raspberries I started from the ground up, I build a power management thingy, a (P)IaaS, BOSH CPI and a Stemcell. It took me quite some time but surpringly it all works now :). Currently I am in the process of customizing BOSH releases so they will actually compile on a Pi. This mainly means swapping out the golang blob with the armv6l golang blob. But unfortunately in some releases there are more binary blobs that have to be replaced with their ARM counterparts.
I will be sharing more details on all of the components we build and changed. But for now we are too busy getting everything to actually work. The results so far are very promising and I truly expect we can demo a “cf push ” to a Pi during the CF Summit!
Stay tuned and see you in Boston!