If you dig into Pivotal Cloud Foundry and the value it provides, there is a project underneath it all that delivers the operational cloud experience that makes all of the higher level functionality possible. PCF is built on a plane of value called BOSH. BOSH presents a base capability for multi-cloud optionality. It handles deployment to the various cloud providers such as VMware vSphere, Azure, AWS, GCE, and OpenStack. BOSH is the source of control for patching, rolling upgrades, and multi-cloud orchestration. Also, BOSH includes embedded managed operating system templates so admins do not have to build and manage them.
BOSH is the cluster manager at the heart of Cloud Foundry, and is inspired by Google BORG. Think of it as BORG++ BOS(R+1)H(G+1). BOSH decided to embed the base OS image maintaining, patching, and updating the “Stem Cell” as part of the project. This is a key differentiator providing controlled automation and scalability like no other project. Nobody thinks maintaining operating systems is a high value activity for their group, and this bold decision to maintain the base Linux or Windows OS saves teams a lot of time and provides a higher level of security since they get signed OS images straight from Pivotal.
BOSH leverages a Cloud Provider Interface with 15 methods to deploy and maintain itself working across VMware, AWS, Azure, Google, and OpenStack. BOSH provisions the container cluster for you. That’s a tremendous value and lets let that sink in a bit. Clusters are not built in days or weeks, but in minutes. On top of that, BOSH can upgrade without downtime through version 2, 3, … N. BOSH takes care of container cluster deployment so that teams do not have to spend weeks or months planning, implementing, or upgrading the base cluster for ongoing operations.
The first killer app for BOSH was the Cloud Foundry Elastic Runtime to deploy code into a self service developer cloud and have it execute without intervention by the developer. This is where “cf push” comes into play and is a high level of abstraction for developers, so they can focus on their code without concern for even building containers into which their code executes. All of that container buid and execution is automated by PCF.
The next killer app for BOSH is Pivotal Container Service (PKS). While you should always seek to operate at the highest level of abstraction possible, there are many use cases for running pre-built containers from ISV’s or stateful data stores. For these use cases, a lower level of abstraction is preferred where you have access to the container directly and not allow PCF to build it for you. PKS is a managed Kubernetes cluster initially deployed and operationally maintained by BOSH. BOSH handles the installation and ongoing upgrades of Kubernetes so you don’t have to. Sweet, eh?
So, PKS is awesome when you must manage containers. PCF is more awesome for developers who can just push code and let the containers get built and executed automatically. Both of these platforms sit on top of another high value project called BOSH that auto deploys and upgrades them so you don’t have to. This is the differentiator that turns these systems into a true cloud-like experience for your organization.