Self-hosted PaaS#

Every time a developer sneezes there’s 3 new PaaS projects spawning.

Kubernetes-based:

Docker-compose-based:

Docker-based:

No containers:

Source: Reddit comment

More from TechTarget:

Top 6 open source PaaS tools#

There are a number of popular open source PaaS options on the market today, each with its own unique twist. The tools listed below are six of the most popular – or increasingly popular – projects that engineering teams are using to abstract the complexities of infrastructure management while still`  <https://www.techtarget.com/searchdatacenter/post/4-ways-data-center-operations-must-adapt-to-the-cloud-era>`__embracing the power of the cloud.

1. CapRover#

CapRover is a popular free and open source PaaS originally released in 2017. Built using TypeScript, CapRover is extremely easy to use, requiring only a few commands to get started. Because it’s powered by Docker, nearly any application can be deployed to CapRover with minimal overhead thanks to CapRover’s own Captain Definition file format. This file outlines all of the resources and other dependencies required to successfully run the underlying application.

Although getting started with CapRover is incredibly straightforward, what makes it really stand out is its built-in marketplace of one-click applications. This makes deploying common technologies such as WordPress and MySQL very simple, which reduces the overall complexity of deploying an application to CapRover.

Key features#

  • Automatic SSL certificate provisioning from Let’s Encrypt

  • Local

command-line interface  (CLI) client for automation

  • Web-based graphical user interface (GUI) for ease of use

  • Supports all Docker-based applications

  • Built-in marketplace for one-click deploys of other popular open source applications

2. Cloud Foundry#

Cloud Foundry is a powerful platform that uses the scalability of Kubernetes to create a simple yet performant PaaS option. Deployed using BOSH – its own cross-platform tool for deploying and managing large-scale cloud-based software – Cloud Foundry provides developer tooling that reduces the overhead of deploying software to a Kubernetes cluster without compromising quality or speed.

A more low-level tool than CapRover, Cloud Foundry is primarily managed using a custom CLI and takes a modular approach to its own service marketplace, which can be enhanced with features such as log streaming and single sign-on support. Although the service marketplace can deploy things such as databases, what makes it particularly interesting is that it can also broker communications to third-party APIs such as GitHub and AWS.

Key features#

  • CLI client for integrating into existing build tools

  • Flexible infrastructure support through BOSH stemcells

  • Support for most major programming languages and custom buildpacks

  • Built-in service marketplace for enhancing deployment functionality

3. Dokku#

Dokku is a simple, headless PaaS platform that prides itself on its low profile and ease of use. A CLI-only implementation, Dokku’s usability feels highly inspired by Heroku’s own tooling. Although Dokku is a popular, low-overhead PaaS, what really makes it stand out is its plugin architecture.

Built entirely as a collection of well-structured plugins, Dokku can be extended easily to install dependencies within a single application repository – such as databases and caching services – while also enabling support for additional features such as Let’s Encrypt SSL certificate registration and even automated Slack notifications.

Key features#

  • CLI client for integrating into existing build tools

  • Git push-based deployment strategy à la Heroku

  • Extensive plugin architecture

  • Built-in Docker support for advanced usage

4. OKD#

The open source core that powers Red Hat’s OpenShift commercial PaaS tool, OKD is an enhanced distribution of Kubernetes optimized for developer-centric functionality such as continuous development and multi-tenant deployment. Designed to run any Kubernetes workload, OKD is built with team usability in mind.

With both a web console and CLI, OKD creates a centralized hub for managing everything from the underlying technology stack to the team and organization. Although OKD emphasizes that this isn’t a fork of Kubernetes, but instead a sister of it, it’s clearly put a lot of thought into the features it offers on top of Kubernetes itself.

Key features#

  • Native support for Lightweight Directory Access Protocol, Active Directory and OAuth

  • Multi-tenancy support

  • Automated Git-based deployment hooks

  • CLI and GUI interfaces for building and monitoring applications

5. Porter#

A newcomer to the scene, Porter is a Kubernetes-powered PaaS that launched in 2020 with a goal of bringing the Heroku experience to a developer’s preferred cloud provider. An open source platform with self-hosting capabilities, Porter is a well-crafted tool with a beautifully designed web dashboard that has as much form as it has function.

What makes Porter particularly interesting is its monetization model, which follows the traditional path of an open source core powering a managed service with a few more features, but with a little twist. Rather than running all of the infrastructure itself, Porter automatically provisions a Kubernetes cluster on a user’s preferred cloud provider, giving total control over the underlying infrastructure – and Porter abstracts all of the Kubernetes complexity to ease adoption.

Key features#

6. Rancher#

Although Rancher bills itself as more of a Kubernetes-as-a-service tool than a PaaS, its history as a PaaS tool earns it a place on this list. Offering a wide range of functionality for deploying and managing Kubernetes clusters across a number of clouds – including VMware vSphere – Rancher is designed to assist the deployment and management of Kubernetes clusters without getting in the way.

Similarly to the other PaaS tools on this list, Rancher offers a wealth of additional features for managing users, clusters and organizations in a central location. Although its command-line tool acts as an extension of the existing kubectl tool, its GUI provides some excellent helper functions to deploy and manage cloud applications.

Key features#

  • Simple Docker-based deployment

  • Multi-cloud support through multiple Kubernetes cluster management

  • CLI and GUI interfaces for managing applications