My company has been using Bosh for deploying and managing applications. My boss has asked me to deploy Cloud Foundry. My understanding is that cloud foundry works by running bosh scripts in the background.
My question is, is there anything i really need cloud foundry for that I can't just do in bosh?
The main difference is abstraction. One is to deploy platforms where you need granular control over the infrastructure, the other is to deploy applications where you can assume infrastructure is solved for.
BOSH [1] manages Virtual Machines (VMs) and resources to ensure availability of defined services declared as jobs. It takes complete control of all provisioning and monitoring of services available from the underlying IaaS. This requires operators with deep linux and IaaS knowledge to manage.
Cloud Foundry [2] is a Platform as a Service which manages applications (which runs in containers inside VMs), routing, and security. Cloud Foundry uses BOSH to handle the underlying infrastructure, but adds additional abstraction, freeing application teams from concerning with infrastructure. Applications teams need only to declare which language, and how many instances they want. Cloud Foundry will spread that across the underlying containers to ensure application level availability.
[1] http://bosh.io/docs/about.html BOSH is a project that unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software. BOSH can provision and deploy software over hundreds of VMs. It also performs monitoring, failure recovery, and software updates with zero-to-minimal downtime.
[2] http://www.cloudfoundry.org/about/index.html