Cloud Foundry logo in white on a blue background
blog single gear

Bosh RackHD CPI: Running Cloud Foundry on bare metal with Bosh

Cloud Foundry runs everywhere: vSphere, Amazon Web Services, Microsoft Azure, Google Cloud Platform, OpenStack, as virtual machines on IaaS and even on bare metal.

There can be many use cases, where applications need dedicated CPU, network, disk I/O, and all that is very critical to the output of the application.

In such cases it makes more sense to run CF on bare metal instead of a virtualized or cloud environment because the application or service gets full access to the server, by getting rid of any overheads due to a virtualized environment, and the “noisy-neighbor” factor on public cloud; just apps and your customers.

There are many initiatives and projects to install Cloud Foundry on bare metal. One such project is RackHD, initiated by the EMC Cambridge Dojo team.

In January, Victor Fong, the Engineering Director of the EMC Dojo, posted a proposal for Bare-Metal Cloud Provider Interface (CPI) for Bosh Proposal on Cloud Foundry mailing list.

The CPI is using another open source technology, RackHD that abstracts out the hardware communication. Fong stated that the RackHD CPI will be useful for users as they will get the stability and abstraction that Bosh can provide on physical machines, without manually handling the configuration of hardware.

The project is hosted on Cloud Foundry Incubator, which provides a mechanism for projects to enter the Foundation. The project has over 12 contributors and more than 342 commits.

We reached out to Fong to learn more about the work he is doing. Here is the edited version of the interview.

Victor Fong

Can you tell us about yourself?

I’m the Engineering Director for the EMC Cambridge Dojo. We work very closely with the Cloud Foundry Foundation and VMware on CF related technologies. It’s our goal to evangelize and spread Cloud Foundry and lean process (pair programming, test driven development, and continuous delivery) throughout EMC and our community.

On a personal note, I spent many years in the “Old World” developing software in a more traditional fashion. But now I am a “New World” convert. Everyday I am impressed by the culture and methodology practiced by VMware and the Cloud Foundry community – and I could never go back. For more information, please reference this blog post.

How and when did you get involved with Cloud technologies?

I got started with cloud technologies in my previous role as a BMC developer. At that time, my team created a cloud automation technology that provisioned VMs and deployed software on Infrastructure as a Service. Looking back to, it was actually very similar to Bosh.

Can you tell us about the cloud related projects you are working on?

During my Dojo period, I spent 6 weeks in San Francisco working on Bosh. After the completion of my Dojo, I came back to Cambridge to work on the RackHD CPI, which enables Bosh to provision and monitor software deployments directly to Bare-Metal machines.

Currently, my team is working on a ScaleIO persistence solution for Diego, the new Cloud Foundry elastic runtime. Our solution will enable Cloud Foundry applications to use the ScaleIO local file system; but still enjoy all ScaleIO’s benefits such as full data protection, flexible and distributed storage and scalable multi-tenant capabilities.

You are doing some work on the RackHD CPI, can you tell us more about it; what problem is it trying to solve?

The Bosh RackHD CPI enables Bosh to provision and monitor software deployment on Bare-Metal machines. It would work on any Bosh release, including Cloud Foundry. For years, people have been asking for the functionality to deploy Cloud Foundry on bare metal; the RackHD CPI finally makes this possible. Users and administrators of Cloud Foundry no longer need to waste their efforts setting up IaaS prior to setting up Cloud Foundry.

The RackHD CPI bridges the communication between Bosh and EMC OSS RackHD. RackHD is a technology stack that enables automated hardware management and orchestration. To Bosh, the RackHD CPI behaves just like any other Cloud Provider Interface. Internally, the RackHD CPI uses RackHD to manage, provision, and deploy software on bare machines.

What are the challenges for DevOps when we talk about bare metal machines?

With a datacenter that contains many bare metal machines, managing and maintaining each individual node can quickly become very time consuming and un-scalable. So it’s essential to have an automated service, like RackHD, to manage the nodes.

High availability and continuous delivery are also huge concerns. What happens if a machine crashes in the middle of the night? What if engineers want to deploy new releases daily? Those are problems that Bosh is designed to solve. The RackHD CPI combines the benefits of RackHD and Bosh to achieve high availability and continuous delivery in a bare metal environment.

There are many active contributors to the project, can you tell us who is contributing and how can one contribute?

The RackHD CPI project is a joint effort across EMC, VMware, and the Cloud Foundry Foundation. The EMC dojo team is responsible for the design, day-to-day development, and implementation of this project. Caleb Miles, anchor of Bosh Infrastructure Team, flew to Cambridge for 3 weeks to kick-start this project. Dmitriy Kalinin, project manager of Bosh, is also the project manager of this project. The RackHD CPI is also the first official Cloud Foundry project that the EMC Cambridge Dojo has started and finished.

Swapnil Bhartiya Profile Image

Swapnil Bhartiya, AUTHOR