Let’s build an in-house PaaS.
Imagine you build a mini Heroku?
I am too!
Platform as a Service (PaaS) is a cloud computing offering where the service provider provides a platform for application development and deployment. Often, developers leverage PaaS’s power, which helps them focus on building their application and not wasting their time creating a platform for creating and running the application.
Obviously, big players like AWS, Azure, Google Cloud, etc., have amazing PaaS solutions. But it’s not required to always be with them. If you have a small business, many mini PaaS solutions can run smaller applications with ease on a single or few servers. This will do the job and save a lot of costs for you. More importantly, it will save time, which is money!
Here is a list of the most popular PaaS software to create your own platform to run smaller applications.
Sounds like Heroku?
You got it!
Dokku is an open-source lightweight software. You need to have 1 GB of memory and works on CentOS, Ubuntu, and Debian.
Dokku is a mini Heroku powered by Docker and has been written bash. You can push your application using Git; Dokku will build it and run your application in isolated containers.
- Easy deployment using Git
- Plugins available for several languages
- Add and customize the features you want by enhancing Dokku.
- Easy to use commands for application management, user management, logging, etc
- Option for user-defined checks to handle zero-downtime deployment
Jelastic – Lite Edition
Jelastic is a platform that provides a multi-cloud DevOps PaaS solution for faster development, reduced IT infrastructure cost, improved uptime, and enhanced security. It offers a lite edition with a majority of features similar to business and enterprise editions with a few limitations. But it is very effective for small applications and saves a lot of costs.
This is a lightweight version of Jelastic and the best option for a limited budget. It is best suited for smaller businesses like startups, small e-commerce websites, gaming projects, small employments, etc.
Jelastic Lite Edition features:
- Dashboard for developers with application deployment options
- Container and Kubernetes support
- Automatic vertical and horizontal scaling
- Firewall and two-factor authentication for end-users
- Built-in monitoring and troubleshooting tools
- API, CLI, and SSH access for container management
Jelastic Lite Edition is available on Google Cloud and DigitalOcean, only.
Flynn is an open-source platform as a service that has been developed to run anything that can run on Linux. It provides a platform for Dev and Ops teams to develop, deploy, and manage their software with ease. You can easily set up Flynn locally or install it on dedicated hardware or a cloud provider with just a few commands.
- Built-in MySQL, MongoDB, and PostgreSQL databases with high availability
- Built-in service discovery to connect all the microservices
- Scales only as per the need and saves cost on cloud bills.
- Dedicated and experienced team to run the Flynn cluster for you
Hephy Workflow makes it easy to deploy and manage applications on a Kubernetes cluster. It is a fork of Deis Workflow, which was started in 2017. In 2018, the Deis workflow team stopped working on it and moved on to Microsoft Azure projects.
There are small and independent services in the Hephy workflow that combine to create a distributed PaaS. These components are deployed as a service on the Kubernetes cluster. The workflow has two classes of users: normal users and administrators.
Normal user has features for developing and deploying the application. The administrator can do everything that a normal user can, plus he/she will have the owner access to the application.
Hephy workflow features:
- Image builder to compile code from dockerfiles and buildpacks
- HTTP/HTTPS edge routing for the applications
- Application release and rollback
- REST API for CLI and integrations
- Authentication and Authorization for securing the applications
CapRover is an extremely easy to learn and fully automated application platform. If you are familiar with Heroku, you can think of CapRover as a super-powered and open-source Heroku.
You can use CapRover for many purposes, for example hosting Node.js, PHP, Java, WordPress, MongoDB, MySQL, Nginx, etc.
You can get it started with CapRover on DigitalOcean with a 1-click app setup.
- Command-line interface for scripting and automation
- Web GUI for the users to visualize everything happing with their application
- Load balancing with the help of Nginx
- Free SSL certificates using Let’s Encrypt
- Containerization and clustering using Docker Swarm
Tsuru is a lightweight, easy to use, and open-source platform as a service. Let’s say you have a Python application that also requires a MongoDB server instance; Tsuru will put together both the python app and the database and run them simultaneously. It runs your application inside the docker containers.
Tsuru has multiple options to choose from as a platform; if you are not happy with the existing platforms available, you can also create your own platform on Tsuru.
- Scales your application dynamically with ease
- Runs the application in a distributed architecture to utilize resources
- It can run applications written in any language; it goes beyond 12-factor apps.
- Just a simple git push to deploy your application quickly.
- Easy integration with IaaS such as AWS EC2, Apache Cloudstack
Piku is the smallest Heroku/CloudFoundry-like platform as a service. Piku is inspired by Dokku and deploys application using git push to your own servers. It works with POSIX environments such as Linux, Windows subsystem for Linux, FreeBSD, and Cygwin.
- Supports a workflow like Heroku
- Functional coding style to simplify the user experience
- Supports apps written in Go, Python, Closure (Java) and Node.js
- Backward compatible wherever possible
- Supports the 12-factor app
What are you waiting for? Go ahead and try the above software to build your PaaS. Most of them are open-source, so you can get a cloud server and start playing around to see what works better for you.
Next, learn Docker.