So I\'ve been reading up on Cloud Foundry and yet I\'m still confused as to what it is. Here is my take anyway on PaaS on CF, and hopefully you guys could tell me if I\'m wrong
Certainly CF is an abstraction layer between your IaaS (servers, storage and networking) and your application, giving you portability to move your app among public and private clouds, but it is also much more:
1. A highly horizontally-scalable container-based platform
Apps run in containers allowing for better resource management than assigning apps to hosts (VMs). Warden/Garden is the CF-native container technology although Docker is also supported in recent versions.
2. A self-healing platform providing multiple layers of HA to your application
Health management system resurrects failed app instances, container hosts, platform processes, and VMs, with no outage. Availability zone support provides HA at the infrastructure layer. Rolling updates and canary deploys allow for zero down-time even during deployments or platform upgrades.
3. An opinionated, polyglot application run-time
Using the heroku "buildpack" construct, app language is auto-detected and the appropriate runtime stack is built on top of a vanilla OS image, allowing developers to focus on writing code.
4. Developer on-demand provisioning of stateful data services
Developers can self-provision a slice of a MySQL, RabbitMQ, Redis, etc. cluster with uri/credentials automatically injected into their app's environment.