Cloud Foundry is an open source cloud Platform-as-a-Service (PaaS) on which developers can build, deploy, run and scale applications. While other cloud platform services are tied to particular cloud providers (such as Amazon, Google or Microsoft), Cloud Foundry is available as a stand-alone software package. Enterprises may deploy Cloud Foundry on AWS, Azure or Google Cloud, or they may host it on their own OpenStack server or through HP’s Helion or VMware’s vSphere. Cloud Foundry includes these core components: routing, authentication, application lifecycle, application storage and execution, service brokers, messaging, metrics and logging.
Cloud Foundry can lighten developer workloads and handle resource management for Linux applications, reducing operations overhead. It has a highly scalable and available architecture with DevOps-friendly workflows and multi-tenant compute capabilities. Cloud Foundry includes application lifecycle management, from initial development through testing stages to deployment, and integration with various cloud providers. As an open source PaaS, it is customizable, allowing developers to code in multiple languages and frameworks. This eliminates the potential for vendor lock-in. Cloud Foundry is licensed under Apache 2.0 and supports Java, Node.js, Go, PHP, Python, Ruby, .NET Core and Staticfile. VMware originally created Cloud Foundry, and it is now part of Pivotal Software, whose parent company is Dell Technologies. It is governed by the Cloud Foundry Foundation, an independent not-for-profit Linux Foundation Collaborative Project.
Developers choose Cloud Foundry for its application portability, auto-scaling, infrastructure security, centralized administration and logging, and the ability to use their own tools and code. Developers can code their applications, then tell Cloud Foundry to push it into production. Its container-based architecture runs apps in any programming language over a variety of cloud service providers, allowing developers to use the cloud service that suits the workload, or to move workloads as needed without changing the app.