下面,我们就来看看在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. 深入浅出Spring(一)Spring概述

    现在很多的企业级项目中基本上都会用到了Spring框架,那么为什么会出现Spring,Spring是什么?这次的博文我主要为大家简单介绍一下Spring. Java EE优缺点 我们都知道在2003年 ...

  2. android bitmap compress

    android的照相功能随着手机硬件的发展,变得越来越强大,能够找出很高分辨率的图片. 有些场景中,需要照相并且上传到服务,但是由于图片的大小太大,那么就上传就会很慢(在有些网络情况下),而且很耗流量 ...

  3. poj2082单调栈

    本来实在做后缀数组的题目的,不巧,碰到了pku3415这题,需要用到单调栈来维护,但是之前又没有学习过单调栈这方面的知识,于是水了几题....... 题意:给你一些连续的小矩形,高宽不定,求最大的矩形 ...

  4. Photoshop学习笔记(1)--界面设置

    根据慕课网教学视频整理(抄了一个妹子的评论): http://www.imooc.com/video/9813 ps版本:CS6 步骤: 1.视图->显示->智能参考线,以及视图-> ...

  5. c#省市联动(sqlHelper的应用)

    sqlHelper: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  6. jquery头文件的引入

    <script type="text/javascript" src="/library/js/jquery/jquery-1.9.1.min.js"&g ...

  7. [基础]sizeof和strlen

    转自网络 首先切记,sizeof不能用来求字符串长度 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型.该类型保证能容纳实现所建立的最大对象的字 ...

  8. C++ operator关键字

    operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名. 这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算 ...

  9. HIbernate與不支持boolean的數據庫之間的映射

    http://soft-development.iteye.com/blog/1225274 ————————————————————————————————————————————————————— ...

  10. web页面防盗链功能使用--request.getHeader("Referer")

    使用Request对象设置页面的防盗链 所谓的防盗链就是当你以一个非正常渠道去访问某一个Web资源的时候,服务器会将你的请求忽略并且将你的当前请求变为按正常渠道访问时的请求并返回到相应的页面,用户只有 ...