In articles Introduction to Cloud Computing
and Cloud Computing - SaaS, Paas and IaaS Models
, we explained what cloud computing is and SaaS, PaaS and IaaS model works.
In this article, we will explain you about Cloud Foundry. If you have the term “Cloud Foundry” in various context and wondering what exactly it is, then this is the right article for you.
What is Cloud Foundry?
Cloud Foundry is an open source Cloud Computing Platform as a Service (PaaS).
- It has a scalable and extensible architecture
- Supports different runtimes (such as NodeJS, Java, Ruby, PHP, Go or Python)
- Integrates various platform services (for example for data storage, identity management, and messaging)
- It is highly customizable, allowing developers to code in multiple languages and frameworks.
Cloud Foundry runs on different infrastructure platforms, such as OpenStack and AWS. SAP is actively contributing to Cloud Foundry and a number of SAP project are currently integrating or evaluating Cloud Foundry.
OpenStack is a free and open-source software tool for building and managing cloud computing platforms for public and private clouds.
History behind Cloud Foundry
Cloud Foundry was originally developed by VMware
and now owned by Pivotal Software
A different PaaS project also used the name Cloud Foundry, and was written in Java
for Amazon EC2
. It was founded by Chris Richardson in 2008 and acquired by SpringSource
in 2009 (the same month VMware acquired SpringSource).
The current product is unrelated to the project under SpringSource, but the name was adopted when the original SpringSource project was ended.
Cloud Foundry is primarily written in Ruby
In February 2014, Pivotal, EMC, IBM, Rackspace and VMware formed the Cloud Foundry Foundation (http://www.cloudfoundry.org/), which currently has more than 50 members.
Cloud Foundry Foundation is an independent non-profit foundation and the maintainer of Cloud Foundry.
The Industry-Standard Cloud Platform
Cloud Foundry (CF) has become the industry standard in Platform as a Service (PaaS).
It is an open source platform that you can deploy to run your apps on your own computing infrastructure, or deploy on an IaaS like AWS, vSphere, or OpenStack.
You can also use a PaaS deployed by a commercial CF cloud provider
. A broad community contributes to and supports Cloud Foundry. The platform’s openness and extensibility prevent its users from being locked into a single framework, set of application services, or cloud.
Cloud Foundry is ideal for anyone interested in removing the cost and complexity of configuring infrastructure for their applications. Developers can deploy their applications to Cloud Foundry using their existing tools and with zero modification to their code.
What is so great about Cloud Foundry?
Choice of IaaS
Cloud Foundry runs on different infrastructure platforms, such as OpenStack, AWS, and Microsoft Azure etc. Hence you do not have to limit yourself to any particular IaaS provider.
Choice of Language
Cloud Foundry supports many languages out of the box. For example Java, Ruby, PHP, Python, Go, Node.js etc.
It also supports other language through build packs.
Cloud Foundry supports many frameworks like Spring, Grails, Retpack etc.
Cloud Foundry provides extensive support for connecting an application to services such as MySQL, PostgreSQL, MongoDB, Redis, and RabbitMQ. In many cases, Cloud Foundry can automatically configure an application without any code changes.