写在前面

最近在推产品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化架构实现和商业能力落地上有一定的帮助。

从京东产品学搭建SaaS架构相关推荐

  1. 亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统

    亿级流量网站架构核心技术 跟开涛学搭建高可用高并发系统 1.高并发原则 1.1 无状态 1.2 拆分 1.3 服务化 1.4 消息队列 1.5 数据异构 1.6 缓存银弹 1.7 并发化 2 高可用原 ...

  2. 读书笔记:《亿级流量网站架构核心技术 -- 跟开涛学搭建高可用高并发系统》

    from <亿级流量网站架构核心技术 – 跟开涛学搭建高可用高并发系统> 概述 一个好的设计要做到,解决现有的需求和问题,把控实现和进度风险,预测和规划未来,不要过度设计,从迭代中演进和完 ...

  3. 加入产品推广市场,是搭建SaaS产品营销推广体系的第一步!

    对于从事SaaS产品营销推广的伙伴来说,如何把一款好的To B/To C产品推广出去,让更多的用户使用?如何提高产品的品牌知名度?都是让人头痛的问题-- 产品营销推广面临瓶颈? 近两年SaaS产品市场 ...

  4. GitChat · 架构 | 大规模私有云产品自动升级的架构选型和实战

    GitChat 作者:冰尘 原文: 大规模私有云产品自动升级的架构选型和实战 关注微信公众号:GitChat 技术杂谈 ,一本正经的讲技术 一.项目背景概述 对于云计算,每个人都有自己的定义,有按SA ...

  5. 元数据驱动的SaaS架构如何设计

    元数据驱动的SaaS架构如何设计 作为业务系统技术开发同学,面向当下:首先应该是快速搭建业务通路,让线上业务跑起来,快速试错,解决生存问题:第二步是在链路通了,业务基本跑起来的基础上如何支撑业务跑更快 ...

  6. 京东服务市场微服务架构和积木式赋能挑战

    京东服务市场是为第三方软件服务商和京东开放商家提供的交易服务平台,为第三方服务商赋能,并为其搭建起与商家间交易合作的桥梁. 服务市场团队在2018年完成了云平台京东服务市场的交接与POP平台京麦插件市 ...

  7. 迟到的书评:互联网时代的革命-SaaS架构设计

        3月2日,阿里巴巴发布公告称将于4月30日起关闭阿里软件互联平台并终止提供相关服务.公告显示,届时包括阿里软件社区.软件互联平台.软件开发平台在内的各项服务和功能将不可使用,相关数据和信息可能 ...

  8. 要想不踩SaaS那些坑,得先了解“SaaS架构”

    摘要:围绕当下许多企业青睐的SaaS应用开发,华为云开发者技术服务工程师程泽在DTT首期带来主题为 <SaaS云原生应用典型架构> 的DTT首期直播分享. 本文分享自华为云社区<DT ...

  9. 云技术-SaaS架构初步理解

    最近公司准备整一个SaaS的东西.有幸参入这一块东西的搭建,借着這个机会也重新好好梳理了一下对SaaS的认识.今天整理一下! 一.云计算与SaaS 说起SaaS,就得先说说云计算了.关于云计算分为三层 ...

最新文章

  1. java aws访问授权 实例_java – 使用IAM身份验证和Spring JDBC访问AWS ...
  2. linux 内核 vfs_readdir函数的filldir_t参数简介
  3. 我犯了一个错误,您能指出吗?(结论)
  4. 关于VC单选按钮不能设置变量以及Group属性的设置问题
  5. 完整叙述html的语法结构,html article介绍与语法结构
  6. mpvue 从零开始 女友拉黑了我 5 不在以下request 合法域名列表中,请参考文档
  7. php 传递类名,php 对象和数组序列化 serialize()返回字符串方便存储和传递 unserialize()反序列化 不丢失类型和结构...
  8. 减小VirtualBox虚拟硬盘文件的大小
  9. php-fpm安装包_linux下安装php php-fpm(转载)
  10. 阵列卡u盘安装系统步骤_Dell的R720服务器使用U盘安装系统
  11. linux xps文件,XPS文件擴展名: 它是什麼以及如何打開它?
  12. team多网卡绑定、桥接的搭建、tcpdump抓包
  13. 超卓航科上市:募资9亿市值超60亿 成襄阳首家科创板企业
  14. 几本经典的投资理财书
  15. python 桑基图_数据可视化之 Sankey 桑基图的实现
  16. 数理逻辑 形式可推演与逻辑推论
  17. 合肥计算机学校排名2015,2015安徽高校排名情况
  18. pitch、yaw、roll三个角的区别
  19. 微信小程序 WXSS和CSS的区别?什么是WXSS?
  20. 传输层安全协议(TLS)1.2版

热门文章

  1. 微信气泡主题设置_微信皮肤主题怎么弄 微信设置更换修改气泡和主题教程
  2. Android APP签名找回终极版
  3. opencv存入数据库图片入门笔记
  4. Oracle11g导入DMP文件并导出为CSV文件过程全纪录
  5. dbavear 连接hive
  6. 信创舆情一线--工信部开展APP侵害用户权益专项整治行动
  7. VB实现移动鼠标产生粒子效果
  8. EXCEL内容很少文件却很大---如何变小
  9. Swing交通罚单管理系统java车辆违章缴费金额查询交警信息jsp源代码Maven数据库mysql
  10. 南卡和Snowkids电容笔哪款更值得入手?口碑最佳的国产电容笔