下面,我们就来看看在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. SAP ECC6安装系列四:安装过程详解

    原作者博客 http://www.cnblogs.com/Michael_z/ ======================================== 续接上篇,我们终于按下了 “Next” ...

  2. Unix系统编程()信号处理器简介

    信号处理器简介 信号处理器程序(也称为信号捕捉器)是当指定信号传递给进程时将会调用的一个函数.这里会学习信号处理器的基本原理,后面将继续学习. 调用信号处理器程序,可能会随时打断主程序流程:内核代表进 ...

  3. [Linux内核]软中断与硬中断

    转自:http://blog.csdn.net/zhangskd/article/details/21992933 本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author: ...

  4. PHP多进程编程(2):管道通信

    一个进程如果是个人英雄主义,那么多进程就是集体主义.(不严格区分多进程 和 多线程的差别) 你不再是一个独行侠,而是一个指挥家. 独来独往,非常自由自在,但是,很多时候,不如众人拾柴火焰高. 这就是我 ...

  5. 举例说明:Hadoop vs. NoSql vs. Sql vs. NewSql

    转自:http://blog.jobbole.com/86269/   尽管层次数据库如今在大型机上依然被广泛使用,但关系数据库(RDBMS)(SQL)已经占领了数据库市场,并且表现的相当优异.我们存 ...

  6. 006杰信—factory更新数据

    本博客的资源全部来源于传智播客. factroy更新的执行流程和003杰信-在jsp页面输入数据,然后在oracle数据库中插入factory数据,当字段允许为空时要特殊处理差不多, 1.在jFact ...

  7. 项目中遇到的direct3d问题,设备丢失

    今天在调试项目的时候,遇到一个问题,之前在写代码的时候,调试都是在本地的电脑上进行调试,然而今天是通过远程登陆到电脑进行调试的,所以在调试的过程中遇到了一个问题. 其实开始的时候,有同事反应说,当远程 ...

  8. CSS:scrollbar的属性及样式分类

    overflow            内容溢出时的设置(设定被设定对象是否显示滚动条) overflow-x         水平方向内容溢出时的设置 overflow-y         垂直方向 ...

  9. 【vijos】1006 晴天小猪历险记之Hill(dijkstra)

    https://vijos.org/p/1006 连边后跑点权的最短路 注意连边的时候左端点可以连到下一行的右端点,右端点可以连到下一行的左端点 #include <cstdio> #in ...

  10. 【BZOJ】1646: [Usaco2007 Open]Catch That Cow 抓住那只牛(bfs)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1646 这一题开始想到的是dfs啊,,但是本机测样例都已经re了... 那么考虑bfs...很巧妙? ...