Iaas,Paas,Saas三者的区别联系是什么?

本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。

多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

多租户简单来说是指一个单独的实例可以为多个组织服务。多租户技术为共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离。一个支持多租户技术的系统需要在设计上对它的数据和配置进行虚拟分区,从而使系统的每个租户或称组织都能够使用一个单独的系统实例,并且每个租户都可以根据自己的需求对租用的系统实例进行个性化配置。

多租户技术可以实现多个租户之间共享系统实例,同时又可以实现租户的系统实例的个性化定制。通过使用多租户技术可以保证系统共性的部分被共享,个性的部分被单独隔离。通过在多个租户之间的资源复用,运营管理维护资源,有效节省开发应用的成本。而且,在租户之间共享应用程序的单个实例,可以实现当应用程序升级时,所有租户可以同时升级。同时,因为多个租户共享一份系统的核心代码,因此当系统升级时,只需要升级相同的核心代码即可。

中文名

多租户技术

外文名

multi-tenancy technology

或    称

多重租赁技术

属    性

软件架构技术

目    的

共用相同的系统或程序组件

要    求

确保各用户间数据的隔离性

目录

  1. 1 历史
  2. 2 概念与技术
  3. 3 实现方式
  4. 4 特色
  5. 5 实务应用

历史

编辑

多租户技术源于1960年代,许多公司为了要使用更多的运算资源,向持有大型主机(Mainframe)的供应商租用一部份的运算资源,而这些用户经常会用到相同的应用程序,当时会以用户在登录系统时输入的数据来决定用户的帐户ID,基于这个ID,Mainframe的供应商即可利用此ID来计算运算的资源使用量,包含CPU,存储器与软盘或磁带等,这个作法也被SAP公司用在其R/1到R/3的产品线。

到了1990年代,应用程序服务提供者服务(application service provider)模式出现,它的作法与运作模式与租用大型主机时相同,不过租用的资源是在软件上,除了操作系统以外也包含了其上的应用程序,例如ERP系统或是CRM等应用,系统可能会运行在数台不同的机器上,或是在相同的主机但共享不同的数据库,以区分并计算客户的资源使用量,藉以作为计费的标准,而此技术也有效的缩减供应商的实体机器成本(因为可以在一台电脑上同时运行多个用户所租用的应用程序进程)。到了现代,受欢迎的消费者导向Web应用程序(如Hotmail或Gmail等)也是以单一应用程序平台来支持所有的用户,这已经是多租户技术的自然演化的结果,多租户技术也可以让客户中的一部份用户得以进一步定制化他们的应用程序。

在虚拟化(virtualization)技术的成熟与应用性的扩张之下,多租户技术可以驾驭虚拟化的平台,更强化在用户应用程序与数据之间的隔离,让多租户技术能更加发挥它的特色。 [1] 

概念与技术

编辑

在多租户技术中,租户(tenant)是指使用系统或电脑运算资源的客户,但在多租户技术中,租户包含在系统中可识别为指定用户的一切数据,包括帐户与统计信息(accounting data)、用户在系统中建置的各式数据、以及用户本身的定制化应用程序环境等,都属于租户的范围。租户使用供应商开发或建置的应用系统或运算资源,供应商所设计的应用系统会容纳数个以上的用户在同一个环境下使用,为了让多个用户环境能够在同一个应用程序与运算环境上使用,则应用程序与运算环境必须要特别设计,除了可以让系统平台允许多份相同的应用程序同时运行外,保护租户数据的隐私与安全也是多租户技术的关键之一。

技术上,多租户技术可以通过许多不同的方式来切割用户的应用程序环境或数据。

数据面(data approach):供应商可以利用切割数据库(database),切割存储区(storage),切割结构描述(schema)或是表格(table)来隔离租户的数据,必要时会需要进行对称或非对称加密以保护敏感数据,但不同的隔离作法有不同的实现复杂度与风险。

程序面(application approach):供应商可以利用应用程序挂载(hosting)环境,于进程(process)上切割不同租户的应用程序运行环境,在无法跨越进程通信的情况下,保护各租户的应用程序运行环境,但供应商的运算环境要够强。

系统面(system approach):供应商可以利用虚拟化技术,将实体运算单元切割成不同的虚拟机,各租户可以使用其中一至数台的虚拟机来作为应用程序与数据的保存环境,但对供应商的运算能力要更要求。 [2] 

实现方式

编辑

多租户技术的实现重点,在于不同租户间应用程序环境的隔离(application context isolation)以及数据的隔离(data isolation),以维持不同租户间应用程序不会相互干扰,同时数据的保密性也够强。

应用程序部份:通过进程或是支持多应用程序同时运行的装载环境(例如Web Server,像是Apache或IIS等)来做进程间的隔离,或是在同一个伺服程序(server)进程内以运行绪的方式隔离。

数据部份:通过不同的机制将不同租户的数据隔离,Force是采用中介数据(metadata)的技术来切割,微软 MSDN 的技术文件则是展示了使用结构描述的方式隔离。

实现方式实现方式

多租户就是说多个租户共用一个实例,租户的数据既有隔离又有共享,从而解决数据存储的问题。从架构层面来分析,SaaS区别于传统技术的重要差别就是Multi-Tenant模式。SaaS多租户在数据存储上存在三种主要的方案,分别是

1.独立数据库

这是第一种方案,即一个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。

优点:

为不同的租户提供独立的数据库,有助于简化数据模型的扩展设计,满足不同租户的独特需求;

如果出现故障,恢复数据比较简单。

缺点:

增大了数据库的安装数量,随之带来维护成本和购置成本的增加。

这种方案与传统的一个客户、一套数据、一套部署类似,差别只在于软件统一部署在运营商那里。如果面对的是银行、医院等需要非常高数据隔离级别的租户,可以选择这种模式,提高租用的定价。如果定价较低,产品走低价路线,这种方案一般对运营商来说是无法承受的。

2.共享数据库,隔离数据架构

这是第二种方案,即多个或所有租户共享Database,但一个Tenant一个Schema。

优点:

为安全性要求较高的租户提供了一定程度的逻辑数据隔离,并不是完全隔离;每个数据库可以支持更多的租户数量。

缺点:
  如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他租户的数据;
  如果需要跨租户统计数据,存在一定困难。

3.共享数据库,共享数据架构

这是第三种方案,即租户共享同一个Database、同一个Schema,但在表中通过TenantID区分租户的数据。这是共享程度最高、隔离级别最低的模式。

优点:

三种方案比较,第三种方案的维护和购置成本最低,允许每个数据库支持的租户数量最多。

缺点:

隔离级别最低,安全性最低,需要在设计开发时加大对安全的开发量;
  数据备份和恢复最困难,需要逐表逐条备份和还原。
  如果希望以最少的服务器为最多的租户提供服务,并且租户接受以牺牲隔离级别换取降低成本,这种方案最适合。

特色

编辑

多租户技术有下列特色:

由于多租户技术可以让多个租户共用一个应用程序或运算环境,且租户大多不会使用太多运算资源的情况下,对供应商来说多租户技术可以有效的降低环境建置的成本。包含硬件本身的成本,操作系统与相关软件的授权成本都可以因为多租户技术,而由多个租户一起分担。

通过不同的数据管理手段,多租户技术的数据可以用不同的方式进行数据隔离,在供应商的架构设计下,数据的隔离方式也会不同,而良好的数据隔离法可以降低供应商的维护成本(包含设备与人力),而供应商可以在合理的授权范围内取用这些数据分析,以作为改善服务的依据。

多租户架构下所有用户都共用相同的软件环境,因此在软件改版时可以只发布一次,就能在所有租户的环境上生效。

具多租户架构的应用软件虽可定制,但定制难度较高,通常需要平台层的支持与工具的支持,才可降低定制的复杂度。

实务应用

编辑

多租户技术在实务上运用的成功且广为人知的案例之一,是由Salesforce所建置的CRM应用系统,该公司除了Salesforce的CRM软件以外,它还建置了Force平台即服务(PaaS)架构,以支持开发人员发展基于Force平台上的应用程序。

在云计算的加持之下,多租户技术被广为运用于开发云各式服务,不论是IaaS,PaaS还是SaaS,都可以看到多租户技术的影子。

云计算

Iaas,Paas,Saas三者的区别联系是什么?

 
应用
▪ SAP OnDemand Solutions▪ Google Apps▪ Microsoft Online
▪ NetSuite▪ SalesForce 
 
平台
▪ App Engine▪ Windows Azure▪ Engine Yard▪ Force.com
▪ Heroku▪ MTurk▪ RightScale▪ Amazon S3
▪ SimpleDB▪ SQS  
 
基础设施
▪ EC2▪ Eucalyptus▪ FlexiScale▪ GoGrid
▪ Nimbus▪ OpenStack▪ Rackspace Cloud▪ VPC
 
类型
▪ SaaS▪ PaaS▪ IaaS▪ CaaS
 
技术
▪ 网络▪ 数据中心▪ 分散式档案系统▪ 硬件虚拟化
▪ Web服务▪ 虚拟设备▪ 多租户技术 
 
标准
▪ Ajax▪ Atom▪ HTML5▪ REST
▪ XMPP▪ BitTorrent  
 

参考资料

  • 1.  高蕾, 杨燕, 钟华,等. 面向多租户的门户资源管理框架[J]. 计算机工程与设计, 2012, 33(8):3016-3022.
  • 2.  朱久亮, 夏静伟. 多租户技术在企业销售管理系统中的设计与应用[J]. 中国电子商务, 2012(3):76-77.

学术论文

内容来自 

  •  李森.    浅析基于SaaS架构的多租户技术. 《 电子设计工程 》 , 2013
  •  
  •  庄日道.    基于云服务系统的资源多租户技术的实现. 《 CNKI;WanFang 》 , 年
  •  
  •  琚洁慧,吴吉义,章剑林等.    SaaS应用中的多租户与安全技术研究. 《 CNKI 》 , 年
  •  
  •  侯可佳,白晓颖,周立柱.    一种基于多约束组合的多租户系统配置测试技术. 《 计算机学报 》 , 2016
  •  
  •  李引,袁峰,吴鸿.    基于软件构件技术的多租户个性化框架. 《 计算机工程与应用唯一官方网站 》 , 2015

查看全部 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是ASP.NET Boilerplate Project(ABP)框架

使用.NET技术进行开发已经多年,偶尔一次网络上搜索.NET开发框架,看到了ABP这个框架,引起了我极大的兴趣,于是决定对该框架进行深入学习和研究,并将过程全部记录如下,对自己也是一次学习和总结,同…

使用ABP打造SAAS系统(2)——前端框架选择

一、流行框架比较 作者用过的前端框架不少,曾经还在一个项目中同时使用两套框架控件(年少无知、效率特慢),所以可供选择的前端框架有不少: easyui: 优点:非常成熟的框架,基于iframe…

java 一元线性回归_一元线性回归的java实现

我们有两组数据,比如连续5年的pv与uv。我们想预测一下,uv达到500k那么pv会是多少。当然更有意思可能是,如果销售额是500w的话,pv会是多少。机器学习里的一元线性回归方法是比较简单的方法,就是我们猜是满足ywxb的。那么&#xff0…

【转】ELK是什么能做什么怎么做

作者:蛙课网 链接:https://www.zhihu.com/question/338932215/answer/777380560 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 为什么用到ELK: 一般我们需要进行日志分析场景&…

java中的并发类_java中并发常用工具类

前言:在你无聊的时候,想想比你优秀还努力的人,也许就不觉的无聊了今天下午没事干把买的java并发编程艺术这本书拿出来看了看,看了下也记不住,还是好记性不如烂笔头,今天讲四个并发中可能会用到的工具类,分别是:CountDownLatchCyclicBarrierSemaphoreExchangerCountD…

github迁移到gitee相关问题

为什么要从github迁移到gitee(国内github版)? 1. github对于国人来讲,速度较慢。例如: 浏览个技术文档点击个链接半天跳不过去pull、push、clone个代码太慢个人版(免费版)没有私人仓库&#xf…

【转】abp vNext微服务框架分析

abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了一番研究。我的体验是,vNext的微服务架构确实比较成熟,但是十分难以上手,对于没有微服务开发经验的.net人员来说几乎是看不懂的,所以研究一番后再…

SQL SERVER data tier application 的作用及如何使用SSDT进行SQL数据库的自动化部署到生产环境和版本控制

这个是管理员用来发布数据库所有的脚本用的,自SQL2008以后,微软开始将数据库的开发整合到VS2010上,用户可以将数据所有的相关对象打包成一个DAC包,让管理通过extract data-tier application发布到服务器上。就好像你把代码变成dll…

bitcount java_Java.math.BigInteger.bitCount()方法实例

全屏Java.math.BigInteger.bitCount()方法实例java.math.BigInteger.bitCount()返回此BigInteger的二进制补码表示的位,从它的符号位不同的数字。实现位向量样式集上BigIntegers的时候,此方法很有用。声明以下是java.math.BigInteger.bitCount()方法的声…

php 和jsp,jsp和php哪个好?jsp和php的简单比较

jsp和php这两个Web开发技术哪个好?这个问题应该会有很多人问,但是每种开发技术都有各自的优缺点,所谓的哪个好,不过是看你更擅长使用哪一种技术,所以今天我们来对比一下jsp和php,介绍jsp和php之间有什么区别…

【转】SharePoint 2010 Search Service -- 管理中心配置

今天配置了一下SharePoint Search,怕忘,赶紧记下来。 我参考了国外的一篇文章:Search Configuration in SharePoint 2010 首先,要查看以下User Profile Service, User Profile Synchronization Service是否运行正常,然…

【转】SharePoint 2013中修改windows 活动目录(AD)域用户密码的WebPart(免费下载)

前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD域用户密码的WebPart。目前无法在网上…

php base64尺寸,PHP base64编码的图像显示不正确

我试图使用base64编码将图像(任何大小)发送到我创建的API。编码后的字符串会作为URL中的参数访问我的API。使用PHP构建的API。PHP base64编码的图像显示不正确一旦请求命中我的API,我想将图像存储到我的服务器上,并将文件名保存在数据库中。这是工作&…

Windows电脑SMB共享设置方法

SMB简介: SMB(Server Message Block)(*nix平台和Win NT4.0又称CIFS)协议是Windows平台标准文件共享协议,Linux平台通过samba来支持。SMB最新版本v3.0,在v2.0基础上针对WAN和分布式有改进。 建议使用原版wind…

php个人扫码支付,PHP个人发卡网源码,支持MA支付对接,扫码自动发货

PHP个人发卡网源码,支持MA支付对接,扫码自动发货。源码介绍个人发卡网源码,支持码支付对接,扫码自动发货.自适应网页,可为商品设置优惠套餐,后台管理功能丰富。前台发卡页面有点粗糙,已开源的可…

php网页表格样式,HTML5制作表格样式

废话不多说了,具体代码如下所示:表格*{margin: 0;padding: 0;}body{font: italic 20px Georgia, serif;letter-spacing: normal;background-color: #f0f0f0;}#content{width: 750px;padding: 40px;margin: 0 auto;background-color: #fff;border-left: 3…

SharePoint 开发TimerJob 介绍

项目需要写TimerJob,以前也大概知道原理,不过,开发过程中,还是遇到一些问题,网上看了好多博客,也有写的灰常好的,不过,自己还是想再写一下,也算是给自己一个总结&#xf…

linux php环境搭建 图文教程,linux php环境搭建教程

1) 安装依赖包yum -y install wget vim pcre pcre-devel openssl openssl-devel \libicu-devel gcc gcc-c autoconf libjpeg libjpeg-devel libpng \libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib \zlib-devel glibc glibc-devel glib2 glib2-devel ncurse…

【转】The password supplied with the username Domain\UserName was not correct. AD密码定期更换

起因 今天想进入SharePoint 2013 Central Administration创建一个WebApplication,尽然发生了错误: The password supplied with the username Domain\UserName was not correct. Verify that it was entered correctly and try again 具体如下图&#x…