保险产品SaaS化实践之路(中)

简介: 保险产品SaaS化实践之路

三板斧 3


有的场景下,客户的定制化需求,需要改变产品基线的核心逻辑,而这些需求又无法抽象成可枚举的一些情况,因此Configuration模式无法适用这样的场景。那么如何在不改变产品基线代码的情况下,改变其核心逻辑呢?答案就在我们的第三块基石 – Plugin(可插拔)


我们自研了我们的Plugin Framework,能够在无代码入侵的情况下,实现产品基线的扩展点(Extension Points),同时可以让不同的客户需求以Plugin的形式接入。Plugin Framework按客户实现、国家实现、产品默认实现了三层分层:


Plugin及Lookup机制




需要注意的是,Plugin容易被滥用;因此我们在架构上规定,尽可能用Configuration和Composition模式,仅在不得已的情况下使用Plugin模式,并且需求产品基线架构委员会进行需求和设计审核,才能在产品基线开出Extension Point扩展点。

 

综合上述的三板斧设计模式,我们实现了满足开闭原则的可扩展产品基线:


综合使用三种模式的可拓展产品基线




3  从项目化向SaaS化(产品化),我们如何推进架构设计最终落地?


架构设计很丰满,现实和技术很骨感,我们知道目标在哪里是不够的,我们需要知道通向目标的正确路径。那么在2年前我们还是以大项目交付为核心模式的时候,我们是如何推进上述架构设计最终落地的呢,怎样的路径才是通往目的地的最优路径呢?下图是我们最终选择的方式,它支持了我们今天的成功转型。



我们上面讨论过三板斧的3种模式:Configuration,Composition,Plugin;Plugin模式作为一种尽可能不要用的模式,却是一种兜底的模式;没有Plugin,就支持不了我们产品化的最后一公里,因此它的重要性不言而喻。那么如何无侵入地做到呢?我们自研了众安国际的Plugin Framework(我们计划把该框架开源):


① 引入plugin框架

②定义扩展点-

只需要让你的扩展点接口继承ExtensionPoint 即可


③使用扩展点-

简单的面向接口编程和Spring DI(Autowired)


④项目交付实现扩展点-

还是简单 Annotation,除了业务,你什么都不用关心!

图注:实现扩展点,从而改变基线default的功能

⑤ 可协同,易管理

图注:基线和项目协同的开发、打包、部署



好了,看到这里,我们如何用一套代码,支持所有客户的需求,真正做到产品化和核心精髓相信你已经理解。那么我们就是一家SaaS公司了?等等,还没有!


4  多租户设计与框架


SaaS产品不仅要求一套代码,还要求一套部署支持多客户。这里有另一个极其重要的点,那就是多租户


支持多租户,有其最核心的三要素


多租户三要素1-Security 之 Authentication


多租户三要素2-Context


多租户三要素3.1

数据隔离在Data Model层面进行了第一层隔离,采用tenant_id进行租户的逻辑隔离。


多租户三要素3.2

虽然tenant_id已经做了租户逻辑隔离,但数据库模式还是采用了Per-Tenant的租户隔离模式,以保证更安全的数据隔离,这是第二层的数据隔离。


多租户三要素3.3

数据的二层路由 2-Layer Sharding。


多租户三要素3.4

下图是其它需要多租户改造的数据存储,也要对他们进行多租户改造,才能在多租户架构下实现隔离和安全。


如果大家对我们的多租户框架感兴趣的话,有一个好消息是,我们计划把它们开源,敬请期待!


除了多租户外,高可定制的SaaS订阅模式,也是SaaS产品非常重要的一环:


架构设计一个To B企业级SaaS产品,上面的任何一环都不可或缺,但这就是全部吗?敬请期待我们的《保险产品SaaS化实践之路(下)》!

相关文章
|
5天前
|
Cloud Native Serverless 开发者
阿里云助力开发者创新:探索云原生技术的新境界
阿里云开发者社区推动云原生技术发展,提供丰富产品(如容器服务、Serverless、微服务架构、服务网格)与学习平台,助力企业数字化转型。开发者在此探索实践,共享资源,参与技术活动,共同创新,共创云原生技术新篇章。一起加入,开启精彩旅程!
75 2
|
2天前
|
存储 调度 云计算
云计算:技术解析与实践应用
云计算:技术解析与实践应用
5 0
|
11月前
|
Java 云计算 C++
云技术入门指导:什么是云计算技术,云技术用什么语言开发
云技术入门指导:什么是云计算技术,云技术用什么语言开发
287 0
|
11月前
|
存储 设计模式 安全
保险产品SaaS化实践之路(中)
保险产品SaaS化实践之路
133 0
|
11月前
|
前端开发 安全 API
保险产品SaaS化实践之路(上)
保险产品SaaS化实践之路(上)
135 0
|
云计算
《企业数字化基石——阿里巴巴云计算基础设施实践-试读》电子版地址
企业数字化基石——阿里巴巴云计算基础设施实践-试读
275 0
《企业数字化基石——阿里巴巴云计算基础设施实践-试读》电子版地址
|
存储 Cloud Native 架构师
大咖说·图书分享|数字化转型架构:方法论与云原生实践
在数字化转型过程中,如何做好企业架构规划?本期内容,阿里巴巴架构师王思轩博士将携新书《数字化转型架构:方法论与云原生实践》展开分享。
464 0
大咖说·图书分享|数字化转型架构:方法论与云原生实践
|
机器学习/深度学习 分布式计算 负载均衡
大数据SaaS应用落地经验分享
在过去几年中,我们自己开发的大数据SaaS应用大数据实验室采用混合云体系结构在全国各地进行了几十次部署。在实际使用过程中,遇上了非常多的问题。本文主要分享在实际软件开发和维护过程中遇上的各种问题和解决方案分享。
712 0
大数据SaaS应用落地经验分享
|
消息中间件 运维 Cloud Native
饿了么资深架构师分享云上基础架构演进
从单体应用到微服务体系再到多活架构,从用云到IaaS全面上云再PaaS上云,最后全面拥抱云原生,这就是饿了么的云上基础架构演进之路。
饿了么资深架构师分享云上基础架构演进
|
运维 Kubernetes Cloud Native
KubeMeet|聊聊新锐开源项目与云原生新的价值聚焦点
10 月 16 日上海,OAM/KubeVela、OpenKruise、OCM 三大开源项目的社区负责人、核心贡献者和企业用户将齐聚 KubeMeet,和现场 100 名开发者聊聊新的技术环境和企业需求下,有关“云原生应用管理”的那些事儿。
KubeMeet|聊聊新锐开源项目与云原生新的价值聚焦点