使用这7个软件构建您自己的小型PaaS

让我们来打造一个内部 paas。

想象一下,你要构建一个小型的 heroku?

兴奋吗?

我也是!

平台即服务(paas)是一种云计算提供的服务,服务提供商为应用程序开发和部署提供了一个平台。通常,开发人员利用paas的功能,帮助他们专注于构建应用程序,而不是浪费时间去创建和运行应用程序的平台。

显然,像aws、azure、google cloud等大型玩家拥有令人惊叹的paas解决方案。但并不总是需要与他们合作。如果你拥有一个小型企业,许多小型paas解决方案可以在一台或几台服务器上轻松运行较小的应用程序。这样做可以完成工作并为你节省很多成本。更重要的是,它将节省时间,时间就是金钱!

以下是创建自己的平台来运行较小应用程序的最流行的paas软件列表。

dokku

听起来像heroku?

你猜对了!

dokku是一个开源的轻量级软件。你需要有1gb的内存,适用于centos、ubuntu和debian。

dokku是一个由docker支持的迷你heroku,用bash编写。你可以使用git推送你的应用程序;dokku会构建它并在隔离的容器中运行你的应用程序。

dokku的特点:

  • 使用git进行简便部署
  • 为多种语言提供插件
  • 通过增强dokku来添加和定制你想要的功能。
  • 易于使用的命令用于应用程序管理、用户管理、日志记录等
  • 提供用户定义的检查选项,以处理零停机部署

你可以在你的服务器上安装dokku,或者在kamatera、digitalocean或azure上一键启动。

virtuozzo

virtuozzo是一个提供多云devops paas解决方案的平台,用于更快的开发、降低it基础设施成本、提高正常运行时间和增强安全性。它提供了一个轻量级版本,其中包含大多数与商业和企业版本相似的功能,但有一些限制。但对于小型应用程序非常有效,可以节省很多成本。

virtuozzo最适合电子商务网站、游戏项目、金融、教育、物流供应商等。

virtuozzo的特点:

  • 为开发人员提供带有应用程序部署选项的仪表板
  • 容器和kubernetes支持
  • 自动垂直和水平扩展
  • 数据库集群
  • 防火墙和双因素身份验证
  • 内置的监控和故障排除工具
  • 用于容器管理的api、cli和ssh访问

virtuozzo受到100多个paas提供商的信任。

flynn

flynn是一个开源的平台即服务,用于运行linux上的任何东西。它为开发和运维团队提供了一个轻松开发、部署和管理软件的平台。你可以在本地轻松设置flynn,也可以使用几个命令在专用硬件或云提供商上安装它。

flynn的特点:

  • 具有高可用性的内置mysql、mongodb和postgresql数据库
  • 内置服务发现以连接所有微服务
  • 根据需要进行扩展,节省云费用
  • 专业经验丰富的团队为您运行flynn集群

hephy 工作流

hephy工作流使在kubernetes集群上部署和管理应用程序变得容易。它是deis workflow的一个分支,它于2017年开始。2018年,deis工作流团队停止对其进行开发,并转向微软azure项目。

hephy工作流中有小型独立的服务,它们组合在一起创建了一个分布式paas。这些组件作为服务部署在kubernetes集群上。工作流有两类用户:普通用户管理员

普通用户具有开发和部署应用程序的功能。管理员可以做普通用户可以做的任何事情,此外,他/她将拥有对应用程序的所有者访问权限。

hephy工作流功能:

  • 映像构建器,用于从dockerfiles和构建包编译代码
  • 应用程序的http/https边缘路由
  • 应用程序发布和回滚
  • 用于cli和集成的rest api
  • 用于保护应用程序的身份验证和授权

caprover

caprover是一个非常易于学习和完全自动化的应用程序平台。如果您熟悉heroku,您可以将caprover视为功能强大且开源的heroku。

您可以使用caprover进行许多用途,例如托管node.js、 php、java、wordpress、mongodb、mysql、nginx等。

您可以通过在digitalocean上进行1点击应用程序设置来开始使用caprover。

caprover功能:

  • 用于脚本和自动化的命令行界面
  • web图形界面,供用户可视化其应用程序的一切活动
  • 借助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的平台即服务(paas)。piku受到dokku的启发,使用git push将应用程序部署到您自己的服务器上。它适用于诸如linux、windows子系统、freebsd和cygwin之类的posix环境。

piku的特点包括:

  • 支持类似于heroku的工作流程
  • 采用功能性编码风格简化用户体验
  • 支持使用go、python、closure(java)和node.js编写的应用程序
  • 在可能的情况下向后兼容
  • 支持12因素应用

结论

你还在等什么?快去尝试上述软件来构建你的paas吧。它们大多数都是开源的,所以你可以获得一个云服务器并开始尝试,看看哪种更适合你。

接下来,学习docker

类似文章