下面,我们就来看看在SaaS应用搭建过程中,可以采用什么样的多租户模型。从而能较为清晰地了解未来使用PaaS平台开发的SaaS,可以为用户提供哪些多租户的服务。
        Gartner提出了7种多租户的部署和实现方式模型,该模型可以作为任何多租户环境的参考模型。在具体的实施中以及大型企业中,可以根据自身的需要来决定采用Gartner提出的何种多租户模型,或者几种多租户模型可以并存在一个云环境中。
        我们首先来看一下Gartner提出的这7种模型,然后再根据本次项目的实际情况,提出使用工作流引擎产品搭建何种多租户模型设计。
        首先,Gartner按照4个层次对多租户模型进行划分,即基础设施层(主要是指各种服务器)、数据层(即数据库层)、应用平台层(即应用运行的容器,通常也称为应用服务器)、以及应用逻辑层(即应用功能)。如下图所示:

第一种模型称为“Shared Nothing”,即不共享任何资源。在这种模型中,从最底层的基础设施层,一直到最上端的应用逻辑层,每个租户均独享。这种模式也是传统的IT开发和部署模式。

第二种模型称为“Shared Hardware”,即共享硬件资源,所有硬件服务器会形成一个硬件资源池,所有租户根据需要来共享这些资源。这种模式就是现在比较常见的IaaS模式。
        第三种模型称为“Shared OS”,即共享操作系统。在这种模型中,所有硬件资源均安装有相同的操作系统,通过在租户间切分和分配操作系统的进程来实现对计算资源的共享。与第二种模型一样,这种模型也主要集中在对底层计算资源的共享和分配上,而更高层次的内容均是各个租户独享的资源。需要单独购买和部署。

第四种模型称为“Shared Database”,即共享数据库。在这种模型下,所有租户会共享一个数据库,各个租户自己的应用服务器以及运行于其中的应用会使用共享数据库中为该租户划分的数据资源。

第五种模型称为“Shared Container”,即共享容器。注意,在这种模型下,各个租户只是共享应用的运行容器,而应用对应的数据库都是各个租户独享的,这一点与第六种模型是根本性的区别。在这种模型中,要求应用运行的容器是支持多租户访问的,即容器本身可以智能化的区分来自各个租户的请求。

第六种模型称为“Shared Everything”,即全共享。在这种模型中,所有租户自顶向下共享所有资源。对于提供服务的一方来讲,可以最大限度的利用各种资源,并且依托支持多租户的应用容器,也可以只开发一套程序,部署一次,便可满足所有租户对公共应用的需要。

第七种模型称为“Custom Multitenancy”,即定制化的多租户。在这种模型中,实现多租户的方法是在应用逻辑中改造已有的API,增加租户的维度。但是这种模式仅仅是对某一个应用起作用,由于没有使用支持多租户的应用服务器,但是又想让各个租户共享应用容器,所以不得不在应用逻辑中做文章。

在信息平台建设中,应当根据具体客户的需要,来构建恰当的多租户模型,为其提供所需的不同服务级别的SaaS应用服务。对于需要更为经济型SaaS应用的客户群,可以提供第六种多租户模型的应用,而对于需要更高数据隔离和计算资源需要的客户群,则可以提供第五种多租户模型的应用。

Gartner提出的7种多租户模型的更多相关文章

  1. 一种基于RBAC模型的动态访问控制改进方法

    本发明涉及一种基于RBAC模型的动态访问控制改进方法,属于访问控制领域.对原有RBAC模型进行了权限的改进和约束条件的改进,具体为将权限分为静态权限和动态权限,其中静态权限是非工作流的权限,动态权限是 ...

  2. 转:Windows Socket五种I/O模型

    原文转自:  Windows Socket五种I/O模型 Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模 ...

  3. 5种网络IO模型

    5种网络IO模型(有图,很清楚)   同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到 ...

  4. Windows Socket五种I/O模型——代码全攻略(转)

    Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操 ...

  5. OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)

    实验平台:win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle: ...

  6. SQL2000的三种“故障还原模型”

    一.SQL2000的三种“故障还原模型” 在数据库属性的“选项”页,“故障还原模型”栏,共有三项选择:简单.完全.大容量日志记录.它们的根本差别在于SQL2000对数据库日志的维护方式不同.下面逐个讲 ...

  7. Windows Socket五种I/O模型

    转载:http://www.cnblogs.com/tianzhiliang/archive/2010/08/31/1813637.html 如果你想在Windows平台上构建服务器应用,那么I/O模 ...

  8. I/O模型之一:Unix的五种I/O模型

    目录: <I/O模型之一:Unix的五种I/O模型> <I/O模型之二:Linux IO模式及 select.poll.epoll详解> <I/O模型之三:两种高性能 I ...

  9. 你可以这么理解五种I/O模型

    因为项目需要,接触和使用了Netty,Netty是高性能NIO通信框架,在业界拥有很好的口碑,但知其然不知其所以然. 所以本系列文章将从基础开始学起,深入细致的学习NIO.本文主要是介绍五种I/O模型 ...

随机推荐

  1. SSH 限制

    SSH 限制 限制 SSH 连接 通过使用用户.组和拒绝/允许条目限制 SSH 用户连接您的主机.还可以针对各个主机使用 TCP Wrappers. 评论 David Tansley, 系统管理员, ...

  2. java学习之局部变量以及全局变量

    全局变量 什么是全局变量? 全局变量就好比一个容器或者一个公用的东西一样,就类似外面公共场所的凳子一样,大家都可以使用这个凳子. 和他相反的局部变量是啥子东东呢? 局部变量就是局部的东西,如果全局变量 ...

  3. github上搭建网站前台页面

    其实就是把html页面提交到github,为了能在线演示: 1. 首先在github网站找到你的项目 2. 点击设置 3. 找到这几个选项,选择master branch打钩,然后保存 4. 然后就会 ...

  4. yield return关键字怎么使用?

    在迭代器块中用于向枚举数对象提供值或发出迭代结束信号.它的形式为下列之一: 复制代码 yield return <expression>;yield break; 备注计算表达式并以枚举数 ...

  5. 转:解决centos netstat和ps感染木马

    解决方法:a.去除恶意文件的执行权限chmod 000 /tmp/gates.lod   /tmp/moni.lod    service sendmail stopchkconfig --level ...

  6. nginx 的 autoindex on首页不显示的问题 按照下面几行要写上不然不行

    [root@test html]# vim ../conf/nginx.confworker_processes  1;events {    worker_connections  1024;}ht ...

  7. Go语言入门系列2 基本语法

    get download and install packages and dependencies install = compile and install packages and depend ...

  8. Oracle 错误:ORA-06413: Connection not open 解决办法

    http://blog.csdn.net/neso520/article/details/6037411 ——————————————————————————————————————————————— ...

  9. 按SCI影响因子排序的前50人工智能期刊列表

    附录二:按SCI影响因子排序的前50人工智能期刊列表 出版物名称,影响因子 IEEE TRANSACTIONS ON FUZZY SYSTEMS, 6.701    International Jou ...

  10. error: icpc: Command not found

    交叉编译qt的程序时,出现错误:error: icpc: Command not found. 解决方法,详情查看链接. http://www.cnblogs.com/zengjfgit/p/4744 ...