使用这 7 个软件构建您自己的迷你 PaaS

构建属于您自己的内部PaaS平台

您是否曾梦想过拥有一个迷你的Heroku?

是否对此感到兴奋?

我也是!

平台即服务 (PaaS) 是一种云服务模式,它为应用程序的开发和部署提供了一个平台。 通常,开发者们利用PaaS的强大功能,专注于构建应用程序本身,而不是把时间浪费在构建和维护运行应用程序的平台之上。

当然,像AWS、Azure和谷歌云这样的大型云服务商都提供了出色的PaaS解决方案。 但我们并非总是需要依赖他们。 对于小型企业来说,有很多微型PaaS解决方案可以在一台或几台服务器上轻松运行小型应用程序。 这不仅能满足需求,还能大幅降低成本,更重要的是,节省时间,也就是金钱!

以下是一些最受欢迎的PaaS软件,您可以利用它们来创建自己的平台,从而运行较小的应用程序。

Dokku

听起来是不是很像Heroku?

您猜对了!

Dokku 是一款轻量级的开源PaaS软件。 它只需要1GB的内存,并且可以在CentOS、Ubuntu和Debian系统上运行。

Dokku是一个基于Docker的迷你Heroku,它是用bash脚本编写的。 您可以通过Git推送您的应用程序; Dokku会自动构建并在隔离的容器中运行。

Dokku 的特点:

  • 通过Git轻松部署
  • 支持多种语言的插件
  • 通过扩展Dokku,可以添加和自定义您想要的功能。
  • 拥有易于使用的命令,用于应用程序管理、用户管理、日志记录等
  • 提供用户自定义的检查选项,以实现零停机部署

您可以在自己的服务器上安装Dokku,或通过一键部署在DigitalOceanAzure上快速启动。

Jelastic 精简版

Jelastic 提供多云DevOps PaaS解决方案,旨在加速开发流程,降低IT基础设施成本,延长正常运行时间并增强安全性。 它提供了一个精简版,该版本具有与商业版和企业版相似的大部分功能,但有一些限制。 不过,对于小型应用程序来说,它非常有效,可以节省大量成本。

这个轻量级版本非常适合预算有限的团队。 它最适合小型企业,如初创公司、小型电子商务网站、游戏项目和小型就业等。

Jelastic 精简版的特点:

  • 拥有应用部署选项的开发者仪表板
  • 支持容器和Kubernetes
  • 自动垂直和水平扩展
  • 最终用户的防火墙和双重身份验证
  • 内置监控和故障排除工具
  • 用于容器管理的API、CLI和SSH访问

Jelastic Lite Edition 仅在 Google Cloud 和 DigitalOcean 上可用。

Flynn

Flynn 是一个开源平台即服务,旨在运行任何可以在Linux上运行的东西。 它为开发和运维团队提供了一个平台,可以轻松地开发、部署和管理他们的软件。 您可以在本地轻松设置Flynn,或只需几个命令将其安装在专用硬件或云提供商上。

Flynn 的特点:

  • 内置MySQL、MongoDB和PostgreSQL数据库,具有高可用性
  • 内置服务发现功能,连接所有微服务
  • 仅根据实际需要进行扩展,从而节省云账单成本。
  • 有专业且经验丰富的团队为您运行Flynn集群

Hephy Workflow

Hephy Workflow 使在Kubernetes集群上部署和管理应用程序变得更加简单。 它是Deis Workflow的一个分支,后者于2017年启动。2018年,Deis Workflow团队停止了该项目并转而参与Microsoft Azure项目。

Hephy Workflow包含一些小型且独立的服务,这些服务组合在一起创建了一个分布式的PaaS。 这些组件以服务的形式部署在Kubernetes集群上。 工作流有两类用户:普通用户和管理员。

普通用户具备开发和部署应用程序的功能。 管理员可以执行普通用户的所有操作,并拥有对应用程序的所有者访问权限。

Hephy Workflow 的特点:

  • 用于从dockerfiles和buildpacks编译代码的镜像构建器
  • 应用程序的HTTP/HTTPS边缘路由
  • 应用程序的发布和回滚
  • 用于CLI和集成的REST API
  • 用于保护应用程序的身份验证和授权

CapRover

CapRover 是一个非常容易上手且完全自动化的应用程序平台。 如果您熟悉Heroku,那么可以将CapRover视为一个功能更加强大的开源Heroku。

您可以将CapRover用于多种用途,例如托管Node.js、PHP、Java、WordPress、MongoDB、MySQL和Nginx等应用程序。

您可以通过一键式应用设置在DigitalOcean上开始使用CapRover。

CapRover 的特点:

  • 用于脚本和自动化的命令行界面
  • 提供Web GUI,方便用户可视化应用程序的状态
  • 借助Nginx进行负载均衡
  • 使用Let’s Encrypt提供的免费SSL证书
  • 使用Docker Swarm进行容器化和集群化

Tsuru

Tsuru 是一个轻量级、易于使用且开源的平台即服务。 假设您有一个Python应用程序,它同时需要一个MongoDB服务器实例; Tsuru可以将Python应用程序和数据库放置在一起并同时运行它们。 它会在docker容器中运行您的应用程序。

作为平台,Tsuru提供了多种选择; 如果您对现有的可用平台不满意,您还可以在Tsuru上创建自己的平台。

Tsuru 的特点:

  • 可以轻松动态地扩展您的应用程序
  • 可以在分布式架构中运行应用程序,以充分利用资源
  • 它可以运行用任何语言编写的应用程序; 它超越了 12因素应用程序 的限制。
  • 只需简单的git push即可快速部署您的应用程序。
  • 可以轻松地与AWS EC2、Apache Cloudstack等IaaS集成

Piku

Piku 是一个最小的Heroku/CloudFoundry类平台即服务。 Piku受到了Dokku的启发,并使用git push将应用程序部署到您自己的服务器。 它适用于POSIX环境,例如Linux、Windows Linux子系统、FreeBSD和Cygwin。

Piku 的特点:

  • 支持类似于Heroku的工作流程
  • 使用函数式编程风格,简化用户体验
  • 支持使用Go、Python、Closure (Java) 和Node.js编写的应用程序
  • 尽可能向后兼容
  • 支持12因素应用程序

总结

还在犹豫什么? 快来尝试上述这些软件来构建您的PaaS平台吧。 它们中的大多数都是开源的,所以您可以购买一个云服务器,然后开始尝试,看看哪个更适合您。

接下来,请学习 Docker 。