元数据驱动的 SaaS 架构与背后的技术思考

合集下载

【转】元数据驱动的SaaS架构如何设计?

【转】元数据驱动的SaaS架构如何设计?

【转】元数据驱动的SaaS架构如何设计?作为业务系统技术开发同学,⾯向当下:⾸先应该是快速搭建业务通路,让线上业务跑起来,快速试错,解决⽣存问题;第⼆步是在链路通了,业务基本跑起来的基础上如何⽀撑业务跑更快,解决快速增长问题;第三步,在完成⽀撑业务快速增长的基础上,要进⾏精细化提升,通过在⽀撑业务快跑间隙挤时间打磨系统功能和体验,踏踏实实花时间,抽象能⼒,沉淀产品,提升效能。

同时,我们也必须⾯向未来,如何在抽象能⼒以及沉淀了产品的基础上,如何把所承载和沉淀的业务能⼒快速输出,贡献给整个⾏业,抑或为整个社会商业⽣态提供基座⽀撑。

那么⾯向未来,将平台产品进⾏SAAS化升级真正将能⼒进⾏有价值开放输出是我们提前要布局的核⼼⽅向。

那么将平台产品进⾏SAAS输出,需要解决那些问题呢?这⾥尝试把核⼼问题列举⼀下:1. 如何根据不同⽤户需求进⾏计算能⼒按需调度分配?(IAAS/PAAS)2. 如何满⾜⽤户数据安全性要求,严格隔离不同⽤户的数据,使⽤户只能看到⾃⼰的数据?(PAAS)3. 如何⽀持不同⽤户在标准的数据对象/数据模型上按需添加定义⾃定义的数据对象/扩展模型?(PAAS & SAAS)4. 如何按照不同⽤户进⾏按需功能搭配组合,满⾜不同⽤户从基础到专业级不同业务场景需求?(SAAS)5. 如何统⼀对平台产品进⾏升级⽽不影响⽤户已有数据及功能?(IAAS、PAAS、SAAS)通过以上问题,我们可以看出产品SAAS化输出的关键是如何对不同的⽤户通过标准+扩展能⼒按需进⾏算⼒、数据、安全、功能有效定制,⽀持多⽤户共性和个性的问题,也暨多租户的问题,同时也涉及到计费和服务⽔平等相关问题。

我们下⾯来聊下上述问题的解题关键和解题思路1. 第1个算⼒的问题核⼼是调度问题,弹性计算提供在IAAS层的统⼀算⼒调度能⼒,⽽Serverless则可以在PAAS层提供更⾼层次的算⼒调度能⼒。

2. 第4个问题的核⼼是业务流程的抽象和业务功能的拆分,领域驱动的设计以及服务化(微服务)在平台功能抽象拆分提供了相对成熟的思路,催化了以纵向业务功能细分作为域划分的依据的服务化⽅案以及组织结构,主要诉求是在细分的业务功能服务基础上,能按需快速灵活的组合⽀撑不同的业务模式,提供业务敏捷性,⽀撑业务创新求变。

[SaaS]SaaS模式与技术架构

[SaaS]SaaS模式与技术架构

[SaaS]SaaS模式与技术架构
SaaS定义了一种新的交付方式,也使得软件进一步回归服务本质。

企业部署信息化软件的本质是为了自身的运营管理服务,软件的表象是一种业务流程的信息化,本质还是第一种服务模式,SaaS改变了传统软件服务的提供方式,减少本地部署所需的大量前期投入,进一步突出信息化软件的服务属性。

中国SaaS市场规模从2015年的47.7亿元增加到2019年的147.6亿元,过往五年复合增长率超过32%,软件应用的SaaS化在加速,未来SaaS潜在市场需求空间十分可观。

SaaS市场规模在应用软件中所占比例逐年增加,从2015年的8.3%,提高到2019年的16.9%,预计到2020年进一步提高到20.5%,软件应用的云化规模越来越大。

关于SaaS的思考

关于SaaS的思考

关于SaaS的思考第一篇:关于SaaS的思考关于SaaS的思考内容提要:本文从商业模式、开发模式和应用模式客观地分析了SaaS所面临的问题,并对问题的解决提出建议。

关键字:SaaS,客户个性化,构件化,产业链一.商业模式面对的问题和对策1.解决客户个性问题是SaaS必须面对的客观问题Internet 和Internet相关技术的发展,新一代ERP系统应运而生。

新一代ERP系统的核心特征是在原有基础上,加入了基于Internet的客户关系管理(CRM)与价值链管理(VCM)。

从企业内部来看,ERP本身并没有实质的变化,但企业对外经营方式令人耳目一新。

SaaS(Software-as-a-service)软件即服务!如其说是软件商业模式的改变,倒不如说是人们观念上的改变;过去软件商想方设法将软件产品销售给客户,现如今要借助全程电子商务平台给客户提供全面服务。

这需要真本事。

俗话说:“没有金刚钻,别揽瓷器活。

”“客户个性化”可谓瓷器活,没有实用而有效的客户个性化解决方法和工具,揽了瓷器活也是瞎耽误工夫。

“客户个性化”可简单归纳为5个方面:⑴输入(界面)个性化⑵输出(展示,表格打印)个性化⑶使用权限个性化⑷流程个性化⑸数据综合分析个性化“客户个性化”即是技术活又是艺术活,必须在产品自定制功能方面下足工夫。

用户不需要具备任何编程知识就可以自行根据需要添加、删除或是编辑应用列表,而且这些动作都是在自己的界面上实现,不会影响到提供上的后台管理以及其他应用此软件的用户。

只有这样,SaaS才有“底气”应对用户如此复杂的、主观的和客观的应用要求。

理论上,前3个性化问题的解决不会太难,但流程个性化和数据综合分析个性化还有待进一步探讨;彻底解决“客户个性化”问题的道路还很漫长。

我们应该注意到,SaaS在美国等发达国家也仅仅只是研究探索阶段,在国内的市场上成熟应用在短期内是极不现实的,更何况国内的ERP传统开发商已经在低端市场上竞争非常激烈了,SaaS供应商如果仅仅想依靠低价策略来获取这个低端市场的份额,风险可想而知。

saas实现方案

saas实现方案

saas实现方案近年来,随着云计算技术的飞速发展,软件即服务(Software as a Service,SaaS)正逐渐成为企业信息化建设的重要组成部分。

本文将探讨一种可行的SaaS实现方案,以解决企业在信息化过程中遇到的挑战。

一、概述SaaS是一种基于云计算的软件交付模式,用户通过互联网访问提供商(即SaaS提供商)的应用程序,而无需在本地安装和维护软件。

企业通过采用SaaS模式,可以快速部署应用,降低成本,提高灵活性和可扩展性。

二、技术架构1. 前端界面SaaS应用的前端界面应具备友好、美观、易用的特点。

用户可以通过任意终端设备(如PC、手机、平板)访问应用程序,而无需下载任何客户端软件。

2. 后端架构后端架构是SaaS应用的核心,要确保系统的高可靠性、高弹性和可扩展性。

可采用微服务架构,将应用拆分为多个独立的服务,每个服务负责特定的功能模块,并通过API进行通信。

这种方式有利于快速开发、部署和维护应用。

3. 数据存储和备份SaaS应用中的数据存储需要考虑容量、性能和安全性。

可采用分布式数据库或NoSQL数据库,以保证系统的高可用性和高性能。

同时,定期进行数据备份,确保数据的安全性和可恢复性。

三、安全与隐私保护1. 认证与授权SaaS应用必须具备严格的身份认证和权限管理机制,确保用户只能访问其具备权限的数据和功能。

可以采用多因素身份验证、单点登录等技术手段,提升系统的安全性。

2. 数据加密与传输在数据传输过程中,应采用加密技术,保护数据的机密性和完整性。

可以使用SSL/TLS协议加密数据传输通道,同时对敏感数据进行加密存储,以确保数据不会被非法获取。

3. 安全审计与监控SaaS应用要能够记录用户操作日志,并进行安全审计和监控。

这样,一旦出现安全漏洞或异常行为,系统管理员能够及时发现并采取相应措施,保护系统的安全。

四、性能与扩展性优化1. 负载均衡SaaS应用在面对大量用户请求时,需要通过负载均衡技术,将请求均匀地分配到多台服务器上,以提高系统的并发处理能力和响应速度。

云计算服务模式解析SaaS、PaaS、IaaS

云计算服务模式解析SaaS、PaaS、IaaS

云计算服务模式解析SaaS、PaaS、IaaS云计算作为一种新型的信息技术模式,正在逐渐改变着人们的工作和生活方式。

在云计算的框架下,SaaS、PaaS、IaaS三种服务模式成为了云计算的重要组成部分。

本文将对这三种云计算服务模式进行深入解析,帮助读者更好地理解它们的特点和应用场景。

### 1. SaaS(Software as a Service)SaaS即软件即服务,是云计算服务模式中最为常见的一种。

在SaaS模式下,用户无需关心软件的安装、维护和升级,只需通过互联网即可使用各种软件服务。

这种模式下,软件提供商将软件部署在云端服务器上,用户通过浏览器等终端设备访问并使用软件,实现了软件的按需交付。

SaaS模式的优势在于用户无需关心软件的具体实现细节,只需专注于软件的使用。

同时,SaaS模式还具有灵活性高、成本低、易于扩展等特点,适用于各种规模的企业和个人用户。

常见的SaaS应用包括办公软件、客户关系管理软件、企业资源规划软件等。

### 2. PaaS(Platform as a Service)PaaS即平台即服务,是一种面向开发者的云计算服务模式。

在PaaS模式下,云服务提供商提供了开发、测试、部署和运行应用程序的平台环境,开发者可以在这个平台上进行应用程序的开发和部署工作。

PaaS模式为开发者提供了一种快速、灵活的开发环境,大大提高了应用程序的开发效率。

PaaS模式的优势在于提供了完整的开发环境和工具链,开发者可以专注于应用程序的开发,而无需关心底层的基础设施。

同时,PaaS模式还具有弹性扩展、多租户支持、自动化部署等特点,适用于各种类型的应用开发。

常见的PaaS平台包括Google App Engine、Microsoft Azure等。

### 3. IaaS(Infrastructure as a Service)IaaS即基础设施即服务,是云计算服务模式中最为基础的一种。

在IaaS模式下,云服务提供商提供了计算、存储、网络等基础设施资源,用户可以根据自身需求动态地租用和释放这些资源。

从业务数据库到元数据,SaaS 架构设计经验全总结

从业务数据库到元数据,SaaS 架构设计经验全总结

未来社会模型中 SaaS 的位置与分量上图是一个从连接这个透视角度抽象出来的社会模型,其中的家庭、人、组织、物都是相互连接的,它也是一个从软件架构抽象出来的社会模型。

SaaS 是对软件的获得和使用方式的革命,早在 2004 年就已有端倪(当时称为 ASP,Application Service Provider)。

笔者认为,可以将 SaaS 放在社会运行机制、发展趋势这样的大格局中定位其社会作用。

SaaS 企业也需要这样的格局与信念,虽然在中国还没有出现非常成功的 SaaS 企业,但终究会出现的,信任、习惯、规范、与能力都需要进化,需要时间。

在没有电之前,人们就有传递信息的需求,这也是为什么微信能够存在的本质根由。

同理,各种组织都离不开软件,而且软件的渗透越来越广泛与深入,因为整个世界的数字化是不可阻挡的趋势。

而 SaaS 在大部分情况下是必选之路,会越来越成为标配,除非特殊原因,或者不在乎成本、或者已经拥有某种等效的软件、或者其他原因。

只要这种本质性的需求存在着,社会的发展终究会以越来越先进的方式来满足它。

这里分享一个关于云的小故事,笔者曾经算过一笔账,如果在云上订购托管机房中约 500 台机器的同等算力,每年需要支出 5000 万,相当有悖于流行认知,其实对于稍微有些规模的 IT 资源诉求,云相对是更加昂贵的,但来的快、方便,两方面都是事实。

这里只想传递一个观点,长远来看,SaaS 有它存在与发展的必然性。

结构上讲,它是社会运行机制中不可或缺的一部分。

同样或者类似的软件,显然没有必要每个人、每个组织都各买一套或各自开发一套,这是社会资源的极大浪费,有悖于社会发展的基本规律——既然是必需的,必然选择物美价廉。

而且组织支出比个人支出更理性、更注重实用价值,有利可图的需求终究会达到稳态的、某种主流服务的满足。

从架构角度看 SaaS 面临的挑战如果说 SaaS 在大部分情况下将会成为必选之路,那么它面临的最大挑战又是什么呢?概括来讲,SaaS 面临的最大挑战是满足客户的个性化需求。

关于saas平台的多租户架构和元数据架构的设计

关于saas平台的多租户架构和元数据架构的设计

一、Saas平台的简介二、多租户架构三、元数据架构Saas平台:软件即服务是一种通过Internet提供软件应用的模式,服务提供商将应用软件统一部署在自己的服务器上,用户无需购买、构建和维护基础设施和应用程序软件,只需根据自己实际需求定购应用软件服务,按定购的服务多少和时间长短向服务商支付费用。

在多租户架构中所有用户和应用程序共享一个由中央维护的单独共用的基础设施和代码库,即多个用户共享相同的物理实体和应用程序的版本。

实现多租户数据存储有三种方式:分离数据库、共享数据库,分离Schema、共享数据库,共享Schema。

HiServiceCRM系统采用的是共享数据库,分离Schema的方式。

主要考虑下面一些因素:●系统要支持多少租户●平均每个租户要存储数据需要的空间大小●每个租户的同时访问系统的最终用户数量●是否想针对每一租户提供附加的服务,例如数据的备份和恢复等共享性越高,对技术的要求越高。

元数据降低了创建应用程序的难度,用户通过简单的点击配置,不用代码就能创建复杂的应用程序。

HiServiceCRM元数据的设计采用动态表单的方式。

四、HiServiceCRM是基于Saas的可配置平台HiServiceCRM是一套基于SaaS模式的业务流程管理系统,具有灵活、便捷和高效的特点,用户可以根据企业自身的业务特点自定义数据模块、业务流程、系统用户和角色等等,系统可以最大限度的满足用户的业务需要和使用习惯。

HiServiceCRM实现了多租户架构,所有租户共享一个基础设施和代码库,而基础设施和代码库由服务提供商统一维护。

多租户的实现方式上,主要考虑下面一些因素:●系统要支持多少租户。

HiServiceCRM将面对成千上万个的大量租户。

●平均每个租户要存储数据需要的空间大小。

HiServiceCRM每个租户存储数据需要的空间大小根据租户的用户数来决定,但是不能超过256M。

●每个租户的同时访问系统的最终用户数量。

SaaS云服务的商业模式和市场应用

SaaS云服务的商业模式和市场应用

SaaS云服务的商业模式和市场应用随着信息时代的发展和互联网的普及,传统的软件行业已经逐渐向云计算转型。

而在云计算领域,SaaS云服务成为了越来越多企业的选择,成为了目前云计算市场上的一大热点。

那么,什么是SaaS云服务呢?SaaS云服务有什么商业模式?在市场上的应用又是如何的呢?本文将对这些问题进行探讨。

一、SaaS云服务的概念首先,需要了解SaaS的概念。

SaaS全称为Software as a Service,即软件即服务。

简单来说,SaaS是一种软件提供模式,用户可以通过互联网访问并使用软件,而不必购买和安装软件。

这种模式下,用户只需要按照软件使用次数进行付费,而不需要考虑软件的购买、维护甚至是升级。

二、SaaS的商业模式SaaS云服务的商业模式相对传统软件还是有些不同的。

传统软件公司通常是将软件直接卖给客户,而SaaS更多的是通过订阅服务的方式获得利润。

根据服务的不同模式, SaaS云服务的商业模式可以分为以下几个方向:1.按需服务(SPPU:Software Pay Per Use)。

这种模式下,用户按照所使用的软件次数进行付费,相当于一个计量器。

2.按照订阅的服务时间进行付费的订阅模式。

这种模式下,用户按照订阅的时间进行付费,与传统软件的购买模式有点类似,但是在SaaS模式下,软件的升级、维护、以及备份都由服务提供方来负责,不需要用户自己去考虑。

这种模式下适用于长期使用和租赁的场景。

3.按照用户的需求定制服务。

这种模式下,服务提供方会根据用户的实际需求进行定制化的服务。

这种模式下,一般要求用户提供更多的定制化方案,也就是在更准确、全面了解用户的业务流程、目标定位等后才能提供计划。

三、SaaS云服务的市场应用与传统软件不同,SaaS云服务主要应用于云计算领域。

在当前的市场环境下,SaaS云服务的市场应用可以分为以下几个方向:1.智能化营销。

SaaS云服务在智能化营销领域的应用范畴比较广泛。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

元数据驱动的Saas架构与背后的技术思考
21 CTO 1周前
以下文章来源千阿里巴巴中间件,作者程彦

凡,w.:ire 阿'II归””“道冲而用之或不盈,渊兮似万物之宗。

—老子
引言
作为业务系统技术开发同学,面向当下:
•首先应该是快速搭建业务通路,让线上业务跑起来,快速试错,解决生存间题;
•第二步是在链路畅通、业务基本跑起来的基础上,如何支撑业务跑得更快,就需要解决快速增长问题;
造成的不可用,同时系统平台提供了一个高效的机制来减少对平台多租户应用总体性能影响。

当用户修改了一个表字段列的数据结构,从一种数据类型改成另外一种不同存储格式的数据类型时候,系统会重新分派—个新的弹性列给到这个字段列的数据,将数据从原来的存储弹性列批量拷贝到新的弹性列,然后才会更新此字段列的元数据,暨在Fi e lds表中更新这个字段列的元数据,将数据类型更改为新的数据类型,并将Fi e ldNum更新为新的Valu e X列对应的X值。

同时,在如上对用户逻辑表结构调整生效过程中,原来的数据结构和对应的数据访问正常进行,直到逻辑表结构变更生效,对应用系统可用性不会造成影响,用户对此无感知。

八、多租户架构对于研发人员意昧着什么
对于研发人员来说,多租户结构最多意味着两个版本:当前版本,以及下—个版本。

没有遗留版本需要维护。

所有人不用操心旧的技术,旧的版本,所有只有最新的版本,只需要关心最新的版本。

这样就给敏捷开发带来极大的好处,每年做个位的发布,每次发布几百个新的特性新的版本也不会改变用户的体验,新的特性可以根据用户需要开启,通过特性管理来开关。

新版本发布前,提供沙箱环境来允许用户提前试用新版本的系统。

如果做bug修复,则是在所有租户层面上进行统—修复的。

对于用户应用的发布进行严格管理,防止对其他租户产生影响,通过提供沙箱环境来让用户验证新应用发布,并通过成干上万的自动化测试保证用户的正常功能。

在运行期间,不作任何底层DDL操作,不会做表的创建,也不会做表的变更,只可能在极少数的更新周期时候进行。

作者简介:程彦,曾就职千阿里数字供应链事业部担任多年供应链计划域研发,目前在阿里数据中台负责相关商业化产品开发。

相关阅读:
阿里架构师:什么是云原生中间件?对编程有什么影响?15页ppt
系统架构设计:水平缩放与垂直缩放
爱奇艺知识Web前端组件化实践。

相关文档
最新文档