Long-time IBM/Cloud Foundry engineer Julian Friedman asserted that he believes the Cloud Foundry Application Runtime (aka what most people think of when they say “Cloud Foundry”) is a platform for running stateless apps while the newly launched CF Container Runtime is for stateful apps.
“Cloud Foundry is an Application Runtime. What that really means is it’s a platform for running stateless apps. That’s — really — what we mean by “application,” Friedman wrote. “In fact personally I think CF has much more to do with Serverless than with Kubernetes or other Container platforms. The abstractions are (stateless) functions, (stateless) apps and (stateful) services.”
The Cloud Foundry Foundation’s 2017 User Survey reports that 54 percent of respondents use Cloud Foundry to run microservices and 38 percent is for websites. As analyst Janakiram MSV has pointed out, microservices should be separated so that stateful and stateless services run on separate containers. If this guideline is to be followed, then Cloud Foundry users need a way to orchestrate those containers. That’s where the new Container Runtime (a.k.a., Kubo) comes in, allowing users to manage Kubernetes clusters that are more capable of handling state.
This apps-versus-containers view of applications explains how Kubernetes, an open source container orchestration engine managed by the Cloud Native Computing Foundation, fits into the Cloud Foundry universe. The New Stack indeed found similarities and differences in the workloads running on Kubernetes and Cloud Foundry. As reported in our eBook, “The State of the Kubernetes Ecosystem,” application development itself (e.g., IDEs, platforms, testing, CI/CD) are run on 65 percent of production deployments, 53 percent run web services and 33 percent host websites.
The data supports Googler Kelsey Hightower’s assertion that containers are the building blocks for application platforms. The drop off between web services and site hosting indicates that the services are likely “microservices,” which would match closely with proportion running on Cloud Foundry.
The New Stack’s survey question was more granular and also indicated that 32 percent put databases and data warehousing — stateful in their very nature — on Kubernetes.
Looking forward, Cloud Foundry’s Application and Container Runtimes appear to offer the ability to handle almost any cloud-native application. So far, Cloud Foundry customers say they run 30 percent of their cloud-native applications on it. How fast Cloud Foundry grows may depend on how quickly legacy applications are refactored to be cloud-native or greenfield applications are built to replace them. Just internally at Cloud Foundry using enterprises, there is a lot of room for expansion as so far 54 percent of users are running 10 or fewer apps on the platform.
One final note: Of the over 500 users surveyed by Cloud Foundry, 45 percent had less than one year’s experience using Cloud Foundry. Although new users may have been oversampled, we believe that there has been a new influx in of users. As suggested above, this is partly because of expanding footprints. However, Pivotal’s Richard Seroter believes that a new set of enterprises may be signing up. We’ll be keeping an eye out for independent data to confirm that this is a trend.
Feature photo via Pixabay.