请教各位saas系统如何实现租户私有化部署,有什么办法?

awen

问题描述

请教各位saas系统如何实现租户私有化部署,有什么办法?
我们系统目前分为公共数据、管理后端、租户端三个独立的部分,基本租户端需要调用公共数据、管理后端获取相应的基础数据和租户数据等。目前考虑的是只将租户端提供私有化部署,并且使用项目打包的方式给客户部署、不直接提供源码。有没有相关经验的大佬提供点思路和方法

116 2 0
2个回答

jolalau

市面上的所谓私有化部署,都是部署在自己的服务器上而不是客户的服务器!
前后端分离不就行了,1套后端+3套前端

  • 暂无评论
heguangyu5

云招OurATS招聘管理系统,可SaaS,可本地.
我们的私有化部署,是全量,非部分,真本地部署到客户的服务器上.

我认为以下两点是前提:

  1. 系统架构,模块要清晰,不是一团乱麻,理不清楚,这是产品内功.
  2. 有自动化部署升级机制,不是靠人一条条敲命令,部署和升级可以一键完成.

然后就是私有化部署双方要考量的问题了.

客户方可能已经充分试用了你们的产品,对产品功能本身没有意见.
但本地部署时,客户的IT和安全部门可能会提这要求那要求,要看能不能满足或协商解决了.

对于自己来说,SaaS时控制权全在自己手里,本地部署最终控制权在客户那边,当然是想做好自我保护.

  1. 本地部署的话,系统的大框架结构和数据库设计肯定是暴露出来了.要看能不能接受这点.
  2. 系统关键功能模块是否全掌控在自己手里.如果有依赖第三方的,显然要看第三方能否本地部署,或者愿意配合.
  3. 产品源码加密,授权可靠(有效期,与服务器绑定等),以防客户携服务器跑路.

具体到我们的云招OurATS招聘管理系统上,我们产品的所有模块都是自己开发的,做到了技术闭环.
在SaaS时,我们是PHP源码部署到自己的服务器上,借助Ansible Playbook一键部署升级.
在本地部署时,我们使用BPC编译器将PHP源码编译成几个可执行文件,同样使用Ansible Playbook一键部署升级.
和SaaS相比,由于文件数量骤减,加上服务器上不再需要PHP运行环境,心理上感觉轻了好多.

当然这里如果不用BPC编译器,也可以使用PHP源码加密方案然后再打包成phar,再加上 static-php-cli 也能达到类似效果.

我们最终做到的效果是: 给我们一台安装好基本操作系统的机器,ssh能连上,ansible playbook一执行,20分钟后,本地部署就完成了.

  • 暂无评论
×
🔝