Cloud Foundry: Making the Cloud Extensible

At the Silicon Valley Cloud Computing meet-up this past weekend, Ezra Zygmuntowicz, a co-creator of Cloud Foundry at VMware, stood before a white board and walked the group through the Cloud Foundry architecture. And while it’s fresh in my mind, I thought I’d briefly describe my understanding of how it works.

VMware created Cloud Foundry as an open-source PaaS (Platform-as-a-Service). Written in Ruby, Cloud Foundry runs on any hypervisor (or a physical server) and uses Ubuntu as the base operating system.

Cloud Foundry is designed fundamentally for extensibility. It is multi-cloud, running at VMware, at third-party service providers, or in the enterprise data center. It is multi-service, providing a framework for plugging in additional services such as databases and messaging. It is multi-language, providing plug-in support for adding additional languages and frameworks. Currently, Cloud Foundry supports several languages—Rails, Sinatra, Grails, node—and the team expects the community to add their favorites to the mix.

Through these three planes of extensibility, VMware hopes to keep the cloud open. Zygmuntowicz described it as the Linux kernel for the cloud.

Cloud Foundry includes the following loosely-coupled components, each of which scales horizontally.

Droplet Execution Agent (DEA): The DEAs are the containers that run applications. These form a grid that spans many servers.

Cloud Controller: The controller distributes applications to DEAs in the grid. It does so by broadcasting a message for nodes with availability and choosing the first nodes that respond.

Routers: The routers distribute incoming requests to the appropriate application by keeping track of the nodes that host each application.

Services: Services such as databases are made available to applications running in the DEAs.

Health Manager: The health manages keeps an eye out for failed DEAs and informs the controller to create new instances of applications to replace any that fail.

VMC: A command line tool for deploying applications.  To deploy, just type vmc push foo.

Cloud Foundry makes a lot of sense for VMware and the industry as a whole. VMware is not traditionally an application server vendor, so Cloud Foundry does not cannibalize existing business. Through its extensibility, Cloud Foundry makes sure the cloud remains a friendly place for VMware’s virtualization software, much more so than it would be in the hands of Microsoft and Google (neither Azure nor Google Apps Engine utilizes VMware.) The extensibility of Cloud Foundry ensures a diverse and competitive landscape in cloud computing.

Additional Resources:

Cloud Foundry a Developer’s Perspective:

Cloud Foundry site:

Team blog:

Twitter: @cloudfoundry


Ezra Zygmuntowicz ‘s personal blog:

I'm the Director of Threat Solutions at Shape Security, a top 50 startup defending the world's leading websites and mobile apps against malicious automation. Request our 2017 Credential Spill Report at to get the big picture of the threats we all face. See my LinkedIn profile at and follow me on Twitter at

Posted in Cloud Computing
3 comments on “Cloud Foundry: Making the Cloud Extensible
  1. Nemilya says:

    Thanks for article!

    Just tiny fix –
    DEA – Droplet Execution Agent

  2. […] meet up made one thing clear, that extensiblity (see my post from last May) has made Cloud Foundry into a dynamic platform that has caught the attention of the […]

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: