Cloud Foundry Launches Korifi to Ease Kubernetes Development
The Cloud Foundry Foundation has delivered the beta release of Korifi, a new Platform-as-a-Service (PaaS) designed to simplify the Kubernetes development and deployment experience for developers and operators.
Korifi brings the developer-centric experience of Cloud Foundry to bear to deliver a Cloud Foundry-compatible application platform running on Kubernetes, as the Kubernetes experience has been complex for operators and developers alike, the foundation said.
Kid in a Candy Store
“Kubernetes makes developers feel like a ‘kid in a candy store,’ as the platform comes with a massive ecosystem of products that they can roll into flexible and extensible application stacks,” explained Torsten Volk, an analyst at Enterprise Management Associates. “Cloud Foundry, on the other side, focuses on providing a set of pre-integrated and fully enterprise-hardened developer and DevOps services. But there is no ‘candy store’ and therefore developers much prefer the Kubernetes native experience.”
Cloud Foundry is an open source technology backed by many of the largest technology companies in the world, including IBM, SAP, VMware, HCL and Huawei, and is being used by leaders in manufacturing, telecommunications and financial services.
Continuing to Reduce Complexity
Cloud Foundry appeals to enterprise application developers.
“You really only see CF in very large enterprises, as it very much likes to be run on dedicated server infrastructure,” which is why it has succumbed to Kubernetes,” Volk told The New Stack.
The Cloud Foundry Foundation has offered other tools to help boost developer productivity for enterprises using Kubernetes, such as cf-for-k8s. Cf-for-k8s combines the Cloud Foundry developer API with other popular open source projects like Kubernetes, Istio, Envoy, and Fluentd. The project uses custom resource definitions and other Kubernetes primitives to deliver a familiar developer experience atop on new components.
Meanwhile, another effort, KubeCF, is a distribution of Cloud Foundry Application Runtime for Kubernetes. It gives developers the productivity aspects of Cloud Foundry and allows platform operators to manage the infrastructure abstraction with Kubernetes tools and APIs.
“As Kubernetes has matured, our community has built several Cloud Foundry abstractions to reduce Kubernetes complexities,” said Chris Clark, program manager of Cloud Foundry Foundation, in a statement. “The proven Cloud Foundry developer experience already saves organizations millions of dollars by maximizing developer productivity. With Korifi, we’re building on a new architecture learned from previous iterations like cf-for-k8s and KubeCF. Korifi brings greater interoperability with cloud native technologies, bringing the ease and simplicity of the Cloud Foundry app developer experience to Kubernetes.”
In a way, Korifi is a follow-on product to KubeCF and cf-for-k8s, said Ram Iyengar, chief evangelist at Cloud Foundry.
“Chronologically, KubeCF came first, followed by cf-for-k8s, and now Korifi. Each stage of this (r)evolution has been marked by an increase in Kube-idiomatic components,” he said. “KubeCF used very few components from the cloud native ecosystem. cf-for-k8s made use of a few more. Korifi has evolved to be an API, which fully integrates with Kubernetes RBAC [role-based access control], hierarchical namespaces, Envoy/Contour, and several other native Kubernetes components. They are all different and distinctive efforts, each with varying degrees of successful adoption.”
KubeCF allowed operators to deploy an instance of Cloud Foundry or any other BOSH release on top of Kubernetes by converting BOSH manifests into Helm charts. This approach was a fast way to get a complete CF environment running on Kubernetes, but even taking the next step to run the app containers directly on Kubernetes was a challenge, let alone to evolve the system further.
Cf-for-k8s was the initial effort from the Cloud Foundry community to offer CF in a Kubernetes-native way. It incorporated Kubernetes and Istio with the CF API and other Cloud Foundry components. While this was successful, some architectural limitations to this approach became apparent.
“You could say Korifi is an iteration on the same effort as cf-for-k8s, though it is a completely different implementation and it goes a step farther,” Clark said.
Cloud Foundry’s container-based architecture runs apps written in any language on a variety of cloud platforms such as Amazon Web Services (AWS), Google Cloud Platform (GCP), IBM Cloud, Microsoft Azure and OpenStack among others.
“Thousands of developers use Cloud Foundry every day as an easy, reliable platform to deploy and manage their mission-critical applications,” said Craig McLuckie, chair of the Cloud Foundry governing board and vice president of research and development at VMware, in a statement. “Their teams rely on its stability and automation to support those fleets of developers and applications. We see Korifi as an opportunity to ensure that Cloud Foundry interoperates well with the growing ecosystem of other cloud-native technologies and deployment practices.”
McLuckie also is a co-creator of Kubernetes, which indicates that the Cloud Foundry Foundation is placing more focus on abstracting away complexity for developers working on Kubernetes. However, Korifi does not mean that Cloud Foundry is done, the foundation indicated.
“The traditional VM-based Cloud Foundry architecture isn’t going anywhere,” Clark told The New Stack. “It will continue to be developed and maintained years from now; both SAP and VMware have been explicit in their commitments to the existing CF user base.”
There are many large deployments that continue to use Cloud Foundry for VMs such as the BOSH project.
“We believe that the two tools will exist side-by-side continuing to serve slightly different needs,” Iyengar said. “They will share common goals in terms of developer experience but will be purpose-built to target different cloud infrastructure. To begin with, Korifi is targeted towards those engineering teams who want to migrate to Kubernetes. There isn’t anything preventing folks from adopting it on greenfield projects and starting to make use of it as an internal development platform.”
Korifi brings the originally VM-based Cloud Foundry architecture to Kubernetes, in the form of microservices that can be managed through standard Kubernetes tools and are accessible through kubectl, Volk said.
Two Factors to Success?
Yet, there are two factors that are key to the success of this project, he noted. One is the ability to offer users the choice between at least some of the most popular categories of cloud native products for networking, service mesh, security, orchestration, observability, pipeline management, databases, etc. And the other factor is that Cloud Foundry apps and other Kubernetes apps must be able to run side-by-side, without any negative effects for the latter group.
“Both of these tasks are not simple, and I currently see only about a dozen contributors to Korifi on GitHub, but considering the Kubernetes experience of the project backers, I think there is a chance of success, Volk said. “Either way, Korifi seems to be the only and probably final opportunity for Cloud Foundry to succeed, instead of gradually fading away.”
Meanwhile, for system integrators and service providers, Korifi is a way to enable a cloud native transformation for their Cloud Foundry customers and also introduce a new cloud-based product.