# SaaS平台解决方案

# 概述

SaaS 是 Software-as-a-service(软件即服务)的简称,是伴随着互联网技术以及云计算技术的发展,在 21 世纪开始兴起的创新的软件应用模式,而 SaaS 平台就是运营 SaaS 软件的平台SaaS 是采用最先进技术的最好途径,消除了企业购买、构建以及维护基础设施和应用程序的需要企业可以通过 SaaS 平台将自己的软件租赁出去;用户则可以通过租入 SaaS 平台应用满足自己需求 本公司以有一成熟完备 SaaS 平台,可以整个购买过去改造使用,也可以直接租用本公司 SaaS 应用。

# 用户场景

# 个人用户开发所需

一个系统,由多个功能组成,如果从头开发到结尾,所需要的工作往往是巨量的,这对于个人来说,往往要耗费巨量时间。

# 信息化投入大

企业自身开发应用所需要的人力、物力和财力成本非常高。自行开发应用需要招聘专业人员,构建相关基础设施并购买相关硬件和软件等,这些都需要巨额的投入。 除此之外,开发应用还需要进行需求分析、设计、编码、测试等多个流程,这些过程中可能会出现各种问题和复杂性,需要耗费大量时间和精力来解决。同时,开发过程中可能涉及到安全、稳定性等方面的考虑,在保证应用质量的同时,也需要承担相应的风险和责任。 对于没有开发经验的企业来说,他们需要花费更多的时间和精力去学习和理解开发流程,以及相关技术和工具的使用方法,增加了开发难度和成本。

# 自身应用服务质量不能适应要求

随着数字化的推进,原先的服务不能再满足企业要求,这时候会寻求具备更高服务质量的应用。

# 拓展销售渠道

企业本身有成熟的软件或者有成熟的团队,已经具备售卖的条件或者有足够的能力维护软件,但是没有合适的 SaaS 平台。

# 降低维护成本

当前软件在不同的企业客户那里部署各种版本,再根据企业客户的需求进行代码的修改,销售、部署和维护成本高。

# 自身系统改造困难

企业自身应用系统众多,要将他们整体进行改造,变成以 SaaS 平台方式,十分困难。

# 痛点

# 安全性和稳定性

个人和企业客户对 saas 平台应用最关注的点除了功能能否满足需要之外,无疑是安全性和稳定性,这也是 saas 平台要面临的问题。

# 持续集成与持续发布

企业要搭建自己的 saas 平台,无论是自己开发还是买别人的平台进行改造,持续集成与持续发布环境都是要考虑的问题,这是需求变更加速,公司代码沉淀从而形成企业竞争力的必须。

# 单体软件瓶颈

多个单体系统转 saas 平台统一管理,让客户能公共使用,就不可避免要打通各个系统的数据,这就需要抽离数据处理服务作为公共服务,而数据格式的差异,数据存储方式的差异则不可避免的让企业进行代码改造,做到统一数据格式,统一数据存储改造。

# 服务分离及设计困难

将多个单体系统改造成微服务架构系统就不可避免面临服务分离问题,由多个单体系统抽象出公共服务,要找到公共模块的共性,解决各个系统在公共模块上的独特要求;而且原先由于是单体应用,模块之间通信方式容易解决,但分出公共服务时则要考虑通信问题,接口调用方式以及网络架构。更为重要的是,要统一各个系统数据标准,让数据中台这边能够集合管理分析与输出。

# 代码改造困难

系统改造,特别是从单体架构转变为微服务架构,不可避免要对代码进行大量改造。包括分离出公共服务,统一数据格式,更改调用方式,添加数据集成和数据分析服务,更改数据存储方式,这些使得代码改造很是艰辛。

# 权限与授权系统

要将软件租出给不同个人,公司,企业,并且要互不影响还要能满足各自权限要求,这些都需要功能强大权限与授权系统,他们就相当于整个 saas 平台的心脏与血管,必须强健。

# 方案优点

# 集成的持续集成与持续发布

采用 git 做版本管理工具,方便且高效,jenkins 做项目构建与发布,一次配置,持续使用,docker 作为容器引擎,k8s 做容器编排工具,做到安全高效部署应用,将服务以容器化部署,也能保证服务稳定。整个的 git,代码仓库(gitlab,gitea 等等,看企业自己的选择),jenkins,docker,k8s 完成持续集成与持续发布工作。

# 分布式微服务架构方式

采用微服务架构方式建构平台服务,各服务分隔开来;采用接口 http 调用方式互相关联,消除服务与服务的粘连,其他模块停止也不会相互影响;方便业务中台和数据中台的数据对接;十分方便开发人员维护各自服务,也让各个服务的沉淀变得轻松;也增强了应用的健壮性。

# 集成常用且服务划分清晰

集成了常用的各类服务,业务服务和基础服务以及数据服务被明确划分开来,上层可以调用下层,下层要通过消息获取上层消息,划分明确,各自职责划分明确,各个服务功能单一纯粹,服务与服务之间也划分明确。这些使得整个 SaaS 中台十分易于改造。

# 流行框架,易于上手

采用市面最流行框架,文档众多,改造方便,易于上手,开发人员接手方便。

# 完备的权限及授权系统

本公司权限系统采用 RBAC 权限模型,能方便的管理权限,集成了各种权限方面相关功能,保证权限分配顺利,能保证各个账号互不关联,个人,部门,公司,企业皆能适用。采用 auth2 授权方式,保证不同用户权限互不影响,互不关联。

# 方案架构

待补充

# 推荐产品