sass项目顶层设计

概述

sass本质上是想做一个标准化的平台,供使用者接入。但是由于接入者是付费方,或者说甲方,对于平台使用中总会有各种各样的诉求,这就导致平台在开发过程中总是会收到各种各样的定制化需求。如何处理标准化与定制化之间的取舍成为每个saas平台都要面临的问题。

几个需要讨论的问题:

  1. 所在行业是否能够做成saas,这是立项之基。很多事情表面上看可以抽象成同一种模式,实际实行起来千差万别,这就导致很难对行业进行标准化的过程抽象。做起来会淹没在无尽的需求细节之中;
  2. 平台的服务边界在哪里。既然要做标准化,那就要知道哪些是平台应该提供的,哪些集成第三方的;
  3. 如何架构系统。saas要满足多租户需求,即一套平台,N种接入。后端服务拆分/微服务化,前端组件化是一种必须;理想情况下,可以做到前端一套代码,根据后端配置动态渲染客户所需的页面;后端接入新客户时,只需要运营在中台进行适当的配置,无需编码即可提供标准化的服务;
  4. 如何应对定制化需求。saas就是上面千条线,下面一根针。客户提出的需求有些是通用的,可以加入标准化组件。有些则是很特殊的,可能需要进行回绝,或者评估工作量进行商务上的会谈;
  5. 如何对现有系统进行改造。平台建设早期被项目推着走,积累了一些经验,但是也产生了一些技术债务。在公司正常运营的情况下,如何将已有项目平缓过渡到重构后的平台服务中去,也是需要商讨的话题之一;

架构细节

待议话题:

  1. 目前已有系统如何抽象、拆分服务;
  2. 前端展示层如何设计;
  3. 重构后要保证平台满足当前所有已接入所有业务;