The “cf push – experience” saying is related to simplify some of cloud native development tasks for developers. I haven’t found an official definition for that “cf push – experience” saying, so I just define one by myself. Of course, I found videos and longer implicit descriptions and one awesome description you can find in the YouTube video Kube Your Enthusiasm — Bringing the `CF Push` Experience to Kubernetes Operators (Project Eirini) and Onsi Fakhouri did also a tweet cf push haiku a long time ago in 2015 related to cf push.
But here is my personal definition:
“The Developers “cf push – experience” is: Developers can focus on implementing functional requirements in a programming language and they don’t wasting additional time to extra define network or container configuration to deploy an executable application into the cloud.”
I don’t want to write a detailed comparison of Cloud Foundry vs.Kubernetes with pro and contra. I only want to give you a small impression how many steps a developer needs to take care of, when he do three basic tasks to create a running application in the cloud:
- configuring the upload
- deploying the application
The table below contains a small sample comparison regarding the tasks to configure and run for example a Node.js application in Cloud Foundry vs. Kubernetes. I do expect the availability of both systems and their configurations are in place. The tasks do only represent the upload of a single application without using any additional automation with bash scripts or other frameworks.
As you can see with Cloud Foundry the developer needs only three steps and for Kubernetes the developer needs seven steps. This is my perspective of why the “cf push – experience” saying was created.
|Coding||Develop the source code||Develop the source code|
|Configure||Define manifest.yml||Define container Dockerfile|
$ docker build .
|Configure/upload||—||Upload container to a container registry|
|Configure||—||Define the Kubernetes Deployment.yaml|
|Configure||—||Define the Kubernetes Service.yaml|
|Deploy the application into the Cloud||$ cf push||$ kubectl apply deployment.yaml
$ kubectl apply service.yaml
Here are my related blog posts to Cloud Foundry and Kubernetes usage in IBM Cloud:
- How to build a container
- How to deploy a container to the IBM Cloud Kubernetes service
- Cloud Foundry on top of Kubernetes @IBM Cloud – a small test
I hope this was useful for you and let’s see what’s next?
#kubernetes, #cloudfoundry, #cf, #ibmdeveloper, #ibmcloud