14

从京东学搭建SaaS

 3 years ago
source link: https://my.oschina.net/u/1000241/blog/4869786
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近在推产品SaaS化的工作,以前虽然用过很多SaaS产品,但系统落地过程的经验还是空白,而且SaaS某种程度是产品完整性的解决方案,技术维度的挑战其实不是最大的。如何产品化,如何模块化这些才是重点。做好一个大型系统的架构很重要的一点是要做行研,看看业界大家怎么做,我一般会看有赞和京东,顺道买了点有赞的股票。

SaaS服务平台

今天先简要总结下对于京东的一个SaaS平台的了解,其实SaaS上次可支撑的业务有很多,比如面向C端的娱乐工具产品,面向B端的运营平台,还有面对开发者的服务平台。

京东的这款SaaS是专注于产业数智化的解决方案,通过京东多年沉淀下来的零售领域技术及方法论,集成并打通了技术、业务、用户、数据的四大能力,满足客户多业态多模式的场景化需求。

其实上面这段可以忽略,任何一个面向B端的SaaS产品都是这么说的。

先说下一个服务平台类的SaaS产品的挑战会有哪些呢?

从开发者角度来说,SaaS化产品均需要账号、员工、权限、审批流等通用服务,独立开发成本高。但是SaaS本身的商业能力体现确是千差万别的,比如有不同的定价、订购、履约的流程。有的时候需要和客服存量系统打通,比如客户自有的账号体系,自有的鉴权逻辑,如果这种解决不了,其实SaaS产品很难规模化。

针对于以上的挑战,我们总结来说就是:如何降低开发中打造商业SaaS应用的成本。接下来看下怎么做。

一个好的SaaS产品是分层的,他是基于PaaS之上而形成的商业能力,京东的这一套解决方案是基于其积累下来的商业操作系统JNOS实现的。

在其上的SaaS产品是”天玑“,包含了零售IDaaS,经营结构体系(租户、业务单元、mis信息等),应用管理(商业能力的沉淀与模块化配置化),通用能力(短信、流程编排、工单等),订购服务的核心能力收敛。

下面的宙斯是京东的一套开放平台,比如对接移动、联通,快手之类的API,当然也承接了内部商业能力对外的开放。

最上层的场景层,就是通过下沉的各个能力编排而形成的流程,如果是2C的产品,我们习惯是以用户动线展开。

几层衔接起来要做的就是:接进来--包装好--卖出去的一条龙服务,最终为开发者提供一站式解决方案,让客户得到统一的体验和服务。

详细说明如下:

  • 零售云IDaaS:是一个ID as a Service(身份即服务),提供统一账号管理、统一授权管理、统一身份认证服务。通过灵活用户标签,一个账号可以同时是企业、员工、开发者等身份,在不同场景进行切换,同时支持Oauth 2.0授权,打通不同应用之间的单点登录。客户还可以基于IDaaS搭建独立的身份服务池,实现灵活的私域用户管理和运营;

  • 经营结构体系:结合零售业态的经营管理模式,进行业务模型抽象,在多租户架构基础上打造多层级业务单元,满足主公司、子公司、连锁、经销商、供应商等多种企业模型的不同粒度权限和员工管理。同时在经营体系基础上,将生态应用和业务进行绑定,从基于客户维度升级到基于业务维度,方便开发者快速打造应用生态,并确保售卖的灵活性;

  • 应用管理:帮助开发者进行商业化应用的生产,包括应用的入驻、接入和资源管理。同时提供了灵活的版本配置功能,支持开发者将应用打包成多形态版本(试用、基础、高级等)面向客户开放。未来应用管理可对外提供更多的商业能力接口;

  • 订购服务:支持应用开发者丰富、多样的商业编写和履约模式,结合多种计费方式售卖,如:使用时长、员工数量等,还可以提供短信发送数量等单纯按使用数量计费的服务。同时考虑到2B业务灵活性,订购服务设定个性化价格,并定向到可购买的客户。客户购买应用或服务后履约方面,提供了过期管理、自动续费、开具发票等能力;

  • 通用工具:为让开发者专注于应用系统业务实现上,SaaS还包含很多通用工具,如:审批流、消息服务、域名服务、统一审计、应用监控、工单及跨系统流程管理工具等,目的是降低开发者重复工作,将这部分能力纳入工具箱为开发者赋能;

商业能力实现

接下来看下他的商业能力实现上有哪些值得借鉴的。

经营结构体系的精细化管理服务

首先引入了”租户-多级业务单元“的架构。

举个例子:

如果把店铺、总部及分店抽象成经营结构中的一个业务单元,且业务单元可支持1〜N级灵活控制,这种结构满足了主子公司、一商多店等多种组织模型的管理,比如,在单店模式下可基于每个店铺管理,在连锁模式下可在总部也可在分店进行管理。

其次,对于三方应用间的员工及权限对接方式上,行业内普遍做法是仅支持应用授权及同步员工数据到第三方应用,而每个应用内的权限需单独开发,为了最大程度降低开发者的工作量,可开放了基于三方不同场景下的角色权限服务,减少重复开发的工作。

订阅式与非订阅式弹性权限管理

非订阅式SaaS称为永久许可SaaS,功能是固定不变的,在进行权限管理时,都是基于这些功能进行控制;

订阅式SaaS,订购者可购买不同版本,使用功能有所不同,再给员工设置权限时,也必须基于订阅的功能进行设置。这种实现一般是基于RBAC(Role-based Access Control,基于角色的访问控制)并结合应用订购场景和三方集成实现。

灵活可扩展的跨系统流程管理工具

在面对复杂的多系统交互时,可以通过跨系统流程管理工具实现多系统的流程协同。比如一键开店功能,客户在页面感知到的操作非常简单,只有四个输入框和一个提交按钮,但在服务端做了很多初始化的工作,比如账号创建、业务单元生成、租户创建、主账号创建、订购流程试用执行、管理员角色初始化等,其中涉及到多个系统之间的交互,有复杂多样的步骤和执行顺序。

所以我们需要有个流程管理工具,以流程引擎为核心,基于模型驱动设计理念,提供系统间复杂流程的建模能力,开发者无需复杂编码即可搭建流程并快速使用。

所有功能特性包含以下几部分:

  1. 灵活配置执行顺序
  2. 可定义是否关键步骤
  3. 支持同步及异步执行两种方式
  4. 执行结束可接收反馈结果

以后还将继续迭代优化工具,支持可视化拖拽流程编辑器,接入各种服务接口进行高效集成,一站式完成流程设计、发起、测试、发布等动作。

基于此,对于一个偏研发的SaaS化产品的全貌有了一定认识,相信很多功能在未来的SaaS化架构实现和商业能力落地上有一定的帮助。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK