Does CloudFoundry support multiple containers per app?

10/19/2018

A Kubernetes Pod and an AWS ECS Task Definition both support multiple different container images: each instance of the pod / task will run all images as containers together.

Does CloudFoundry support a similar concept to allow apps that consist of multiple, separate processes?

-- B M
amazon-ecs
cloudfoundry
containers
kubernetes

3 Answers

10/22/2018

Pivotal now provides PAS - Pivotal Application Service, which is the traditional PaaS.

As a developer, I cf push my archive, the platform creates the container, and the Diego Orchestrator run my application. And yes, I can run multiple instances of my app.

PKS - Pivotal Container Service (cool kids spell with 'K'), is Pivotal's implementation of Kubernetes. It is CaaS - Container as a Service. As a developer, I create my own container - a docker container, or a vendor provides me a container, and PKS runs the container in a POD, inside a PKS cluster.

Next one coming out, some time in next 3 - 6 months, from Pivotal is PFS - Pivotal Functional Service. It is Pivotal's implementation of Function as a Service. As a developer, I can create and deploy a function to PFS. I have to identify the triggers for this function, based on which PFS will spin up new instances of the function, and when done, destroy it.

How you use what, depends on your use case.

This deck is for the presentation at Dallas Cloud Native Meetup's last session. Parth did a great job simplifying and explaining the differences and how you choose. Hope you can access it. Take a look.

-- K.AJ
Source: StackOverflow

10/20/2018

Actually, CloudFoundry has a community project for container orchestration tools based on Kubernetes, so that will accept pods the same way Kubernetes does.

You can read more about it here

CloudFoundry also has a CF Application Runtime which is pretty much their PaaS that allows you to deploy applications Heroku style which under the hood run as 'containers'. It's not clear from the docs what type of containers, but I presume you could find out more reading the code, but that's not exposed to the users, neither it's exposed as Pods.

-- Rico
Source: StackOverflow

10/23/2018

tl;dr

No. You can only run a single container per application instance.

Longer Answer

Most of the answers are quickly pointing you to PKS, however Cloud Foundry itself is outside of that.

Cloud Foundry runs each application via Diego. Each application runs as a standalone container on a diego-cell. This is different from Kubernetes which you think of Pods or groups of colocated containers.

Cloud Foundry allows you to run multiple instances of each container, but I believe this is different from what you are asking.

Workaround

You may not be able to run multiple containers, but you can run multiple processes. For an example of this, check out how CF-FaaS runs. It uses the CF-Space-Security processes in a collocated scheme.

-- poy
Source: StackOverflow