![]() |
This is the second post on the ongoing adventures of the RackHD project. See the first one about OpenStack Ironic and RackHD here. Ok – on to the second example… One of the early experiments (triggered by a few really, REALLY big customers) was whether RackHD could provide a direct “bare metal” BOSH CPI. WTH am I talking about? Cloud Foundry is the leading structured, opinionated PaaS stack – and momentum continues to grow. The underlying Cloud Foundry Run-time engine “poops out” little “stem cells” – the smallest unit from a CF standpoint – and for the longest time (for ever?) these stem cells have been a container. The container format itself continues to evolve, and actually isn’t a specific CF dependency. But – these stem cells need to run on SOMETHING, and that something needs to have an interface, a programmable API to make demands, to query state, and to resolve and remediate when “requirements != current state” This is done in CF via something called “BOSH” which is a really simple, but really cool abstraction – the “bottom part” of Cloud Foundry if you will. The “bottomest” part is something called the “Cloud Provider Interface” or CPI. There are CPIs for vSphere (very mature, very popular), for AWS (very mature, very popular), for OpenStack (mature, popular) and other things. … But notice the pattern – they expect the bottom layer to be, in effect, a IaaS layer. This makes the most sense for the vast, vast majority of people. Some are toying with the idea of a CPI for less “fully formed” (at least in the traditional sense) IaaS models like Mesos and others.
Now – my first reaction? Why??? Turns out that there are some narrow use cases (but btw, anything cool always started with statements like “there are maybe 5 customers in the world who want that” :-) ) So – world, here is the first code for a RackHD BOSH CPI for Cloud Foundry on Baremetal. Check out the demo here. I think this one needs a little more work – but cool nevertheless! Funny how anyone who says “this is the way everyone will do stuff” is invariably wrong :-) That BTW – applies to me as much (more?!) than anyone. 3-4 years ago I would have said “everything will be a kernel mode VM”. Then people have been saying “no – it’s all about containers”, and at the same time – low level hardware abstraction is making a comeback :-) The smartest move is to understand that the SDDC isn’t about any ONE stack (though any sane customer should try to have the minimum number of stacks possible, and get smart on the buy vs. build decision boundary!) – rather it’s about the principle of being software-driven, and with clear abstraction and API models. As always – thanks for the comments – the input! Would love to see what crazy cool things you do with RackHD! |
