Photo by Vladimir Anikeev via Unsplash
Projects

The Past, Present and Future of Cloud Foundry – Part 2

We began this two-part series with a look at what Cloud Foundry does, who it serves and how it came to be—now’s the time to take a look at the future of Cloud Foundry. We last left off noting how the open source project has been adapting to both complement and take advantage of the rise of Kubernetes.

“This change has been happening slowly within our community since 2018, but has accelerated dramatically over the last couple of months,” commented Chip Childers, the Cloud Foundry Foundation’s Executive Director in a recent blog post. “In just the last six weeks, we have accomplished an extraordinary amount of work aligned around the goal of integrating Cloud Foundry and Kubernetes.”

That work resulted in the recent launch of both KubeCF, an open source distribution of Cloud Foundry Application Runtime (CFAR) designed to run on top of Kubernetes, and Cloud Foundry for Kubernetes (CF for K8s), a new Kubernetes-native Cloud Foundry distribution.

If Kubernetes now looks like the clear winner in infrastructure management, the market has yet to resolve how to enable developers atop it. Cloud Foundry has a chance to be that API, suggests Dieu Cao, Chair of the Cloud Foundry Foundation PMC Council and the CF Open Source Product Lead within VMware.

“The Kubernetes community has been incredibly successful in building their offerings into and across the various cloud environments,” Cao says. “But while it’s now easy for operations teams to give anyone who wants one a cluster, that’s often where they stop as far as enablement. We know from our experience with Cloud Foundry that we can do so much more to enable development teams. There’s tremendous opportunity for our own community to add a world class developer experience on top and to integrate with Kubernetes and other cutting-edge infrastructure projects in a native way.”

Here’s how the community has rebuilt Cloud Foundry for the Kubernetes era:

  • Kubernetes gets to handle basic jobs like infrastructure orchestration, the application runtime and network automation.
  • Cloud Foundry User Account and Authentication functions tackle identity management, granting developers and operators access to the appropriate parts of the platform. This module acts as an OAuth 2 provider and supports popular enterprise identity tools for single sign-on.
  • Cloud Native Buildpacks build containers from source code, a concept pioneered by Heroku and the Cloud Foundry Buildpack community. (This model has evolved to be Kubernetes-native; projects like kpack power this new workflow.)
  • Harbor is the container registry.
  • Fluentd collects logs, metrics, and events from apps and the platform. From there, you can route telemetry data to your preferred APM tools.
  • The Cloud Foundry cli and Cloud Controller API sit atop these other components, and deliver the best-in-class developer experience.
  • Istio and Envoy power the routing tier, perform load balancing, and help secure communication between components.

It’s a vision very much in keeping with Cloud Foundry’s original goal of empowering developers to simply type “cf push” and know that their cloud applications will deploy as desired. Now, Cloud Foundry users can access the tools, components and ecosystem developed around Kubernetes without having to worry about how everything is wired together.

“The Cloud Foundry community really pulled together to align across the many different versions of Kubernetes to create consistency of experience,” Cao says. “And it’s freeing our users to focus on high quality application development instead of needing to know about the latest in observability, containers and packaging tech, or how to configure everything correctly and securely.”

Beyond Kubernetes, cloud users also have a growing variety of networking choices, and must decide whether and how to use new innovations like serverless and service mesh patterns. New projects from the Cloud Foundry community like CF for K8s integrate these technologies into a proven developer API that enables self service and brings that experience to Kubernetes. 

Cloud Foundry’s own contributor community has been able to take advantage of the efficiencies springing from the Kubernetes integration. This is a new twist on an old theme: allowing users of Cloud Foundry to focus less on YAML and more on the applications they are building on behalf of their organization.

“As we do this, we’re making things much less painful for all developers,” adds Cao. “They’re gaining access to a common set of tools that support a range of workloads. At the same time practitioners can dig into the internals of the system if they need that kind of granular understanding.”

While Cloud Foundry’s integration with Kubernetes will help existing, large-scale enterprise users work faster and more efficiently, both KubeCF and CF for K8s can be installed on top of an existing K8s cluster. 

“That’s further reducing complexity. We’ve reduced installation times from hours to a matter of minutes. That makes Cloud Foundry a lot more approachable for folks who might just have a handful of developers or applications,” says Cao. “If you want to try it as an application developer, you can just ask your operations teams for a cluster and a few minutes later you can get started.”

With Cloud Foundry’s Kubernetes-related integration work having made significant progress, CFF Executive Director Childers is planning to devote renewed attention to the developer experience. 

“More than ever, we want to focus on the individuals who comprise our core community of contributors and end users, who have worked every day to make Cloud Foundry the seamless experience it is today,” Childers wrote in a blog post marking his new leadership role.

To that end, CFF has launched a new tutorial hub that offers interactive, hands-on labs where first-time Cloud Foundry users can try out Cloud Foundry via a hosted instance, a web browser or a demo run through the Stratos graphical UI.  

“We are also doubling down on community outreach this year,” he adds. “I hope anyone interested in the work we’re doing will check our community page, sign up for some of our Slack and GitHub channels and ask a question — we are here to help them get involved.”

For more information, follow Cloud Foundry on Twitter, check the community calendar or read our bi-weekly updates.