Skip to content

guettli/open-source-paas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 

Repository files navigation

Open Source PaaS/FaaS List

Attention: This text is outdated. I work with Kubernetes since one year and like it. Overall it is not that complicated.

The docs at kubernetes.io are great.

BTW: The world does not need a wrapper around Kubernetes to simplify it. Just use a managed Kubernetes solution if you don't want to do that yourself.


Platform as a Service simplifies and streamlines deployment.

Yes, I can use ssh+vi to manage servers. I did this since 1998, but ssh+vi is not a professional way to manager servers.

Yes, I know how to use configuration management (SaltStack or Ansible) to manage servers. But this misses the streamlining effect, which you get from a PaaS solution.

I know the basics of Kubernetes. But Kubernetes has too many options. That's ok for me, but I am looking for solution which is simpler for the end user.

Since Kubernetes has won the container-orchestration race, I am looking for a solution based on Kubernetes.

For completness some non-Kubernetes solutions are listed, too.

Up to now this is just brainstorming. I don't know the conrete goal nor the next steps.

Function-as-a-Service solutions are welcome, too.

Vague Goal

Make it easy for the end user.

With "end user" being a developer who can create containers, and wants to run them.

Wishlist

  • As end user I just want to run stateless containers. Integrating stateful services like database and storage should be like plug-and-play.
  • GitOps
  • Accessing kuberenetes via Cluster-API.
  • Cluster-API: Adding noes on demand should work out of the box.
  • Scale to zero: If there is no traffic, then the application should not consume ressources.
  • Cert management (letsencrypt)
  • Documentation. I don't want to be the first who tries to get a Django based solution running on it.

Dokku

Dokku copies Heroku. I guess this is very great if you want to switch from Heroku to a self-hosted solution. But this is not my use case.

It is mostly written in Shell. I don't trust Shellscripts, but the author is maintaining it with love since several years. Looks stable.

First I thought "herokuish buildscripts" are great, but maybe this mixes two things which don't belong together: Creating a container and running a container.

Multi-Host: No

Container-Orchestration: Kubernetes (but up to now this Sheduler is experimental)

CapRover

CapRover

Has a web-GUI.

Written in Typescript.

Nice docs.

Nice feature Rollback to previous Docker Image

The docs advertise DigitalOcean, but CapRover runs on Hetzner or any other VPS.

Multi-Host: Yes

Container-Orchestration: Docker-Swarm

Coolify

Coolify

You can add whatever you like for description, it is a caprover alternative / similar to a self hosted heroku/dokku with a gui. (Updates very often)

Tsuru

Tsuru

Written in go.

Multi-Host: Yes

Container-Orchestration: Docker-Swarm

porter.run

https://porter.run/

License: Mit + ee directory (unsure if usable without ee)

Container-Orchestration: Kubernetes

OpenFaaS

Homepage: https://www.openfaas.com GitHub: https://github.com/openfaas

License: MIT

Container-Orchestration: Kubernetes and containerd through faasd

"OpenFaaS® makes it simple to deploy both functions and existing code to Kubernetes"

Knative

Container-Orchestration: Kubernetes

License: Apache-2.0

Flinkwerk

https://flinkwerk.com/

Container-Orchestration: Kubernetes

License: unsure. In Beta, not released yet

Kubernetes

Most people don't see Kubernetes as a PaaS, since you don't have a web GUI for configuring the system.

At least at the moment every PaaS will be some kind of vendor-lockin, even if you choose an open source PaaS.

Maybe it is best to embrace the complexity which Kubernetes brings. Compared to running several VM based solutions, Kubernetes is not much harder.

Kubernetes has the benefit that the basics are streamlined.

Containers, Pods, Deployments, Services, Ingresses. These things are well defined.

Compare this managing several virtual machines. There are far too many ways to run several VMs. From this perspective Kubernetes is not that complicated.

OpenFunction

https://openfunction.dev/

WOL

Thomas Working-out-Loud