When to Use Kubernetes, and When to Use Cloud Foundry
While Kubernetes brings a great deal of flexibility to application management, the Cloud Foundry platform-as-a-service (PaaS) software offers the best level of standardization, observed Julian Fischer, CEO, of cloud native services provider anynines.
We chatted with Fischer for this latest episode of The New Stack Makers podcast, to learn about the company’s experience in managing large-scale deployments of both Kubernetes and Cloud Foundry.
“A lot of the conversation today is about Kubernetes. But the Cloud Foundry ecosystem has been very strong,” especially for enterprises, noted Fischer.
Cloud Foundry is a heavyweight platform. It is not something you download and set up as a hobby project. But it works very well in large corporate projects, providing a centralized platform upon which developers can build applications. Organizations with thousands or tens of thousands of developers use Cloud Foundry as a central development platform. And it can be managed quite easily by a number of administrators, especially the deployment that is managed by Bosh.
“A lot of large organizations within their digital transformation journey, they invested into Cloud Foundry to get their application developer productivity up. With this no-ops experience, developers can focus on their application development, instead of fiddling around with a complicated infrastructure automation platform. This is very appealing to achieve that first journey into a digital transformation,” Fischer said.
Cloud Foundry is particularly good at deploying a 12-factor methodology for building applications, where the applications are stateless, and configuration is done declaratively for deployment automation. For applications that meet these criteria, nothing surpasses Cloud Foundry for operational efficiencies.
“It provides significant economy-of-scale effects,” Fischer concluded.
However, a lot of applications do not fit into this standard-12 step model, legacy applications in particular. Here is where Kubernetes fits in. “There’s a certain profile of applications that have an affinity towards Kubernetes,” Fischer said. Kubernetes has flexibility that can’t be enjoyed with a standard PaaS. For instance, a lot of legacy applications do not fit easily into the 12-factor model. They require a “Lift-and-Shift” migration into a cloud native environment, their special requirements are easily accommodated by Kubernetes (with some initial fiddling of course).
With Kubernetes, different clusters can be tweaked for different application requirements. Some application teams may want a standard-issue cluster, while others may want to maintain full control over the cluster for their own requirements.
“With Kubernetes, we need to tailor the automation solution to the needs of an organization, Fischer said. “So the ideal Kubernetes platform reflects the inner structure of the IT of a particular customer much more.”
In addition to discussing Cloud Foundry and Kubernetes, we also discussed the importance of a coherent data services strategy, the role of GitOps, and the anynines origin story.