剖析Force.com的多租户架构(2)- 多租户的介绍

按:此为客座博文系列。投稿人吴朱华,曾在IBM中国研究院从事与云计算相关的研究,现在则致力于研发下一代云计算系统,撰写一些与云计算相关的文章,他的个人站点: PeopleYun.com。(文章版权属于原作者,转载请勿混淆。本篇原文地址)

本文将首先介绍一下多租户的概念和多租户的优缺点,之后会讲解几个常见的多租户模型。

概念

虽然对我们而言,多租户(Multitenancy)可以算是一个非常新颖的概念,但是其实这个概念已经由来已久了。简单而言,多租户指得就是一个单独的软件实例可以为多个组织服务。一个支持多租户的软件需要在设计上能对它的数据和配置信息进行虚拟分区,从而使得每个使用这个软件的组织能使用到一个单独的虚拟实例,并且可以对这个虚拟实例进行定制化。但是要让一个软件支持多租户并非易事,因为不仅对它的软件架构进行相应的修改,而且需要对它的数据库结构进行特殊的设计,同时在安全和隔离性方面也要有所保障。

还有,为了帮助大家进一步理解多租户这个概念,特别选取两个和多租户比较接近的概念来进行进一步的辨析。

多租户和多用户的区别

多用户的关键点在于不同的用户拥有不同的访问权限,但是多个用户共享同一个的实例。而在多租户中,多个组织使用的实例各不相同。

多租户和虚拟化的区别

多租户和虚拟化在概念是比较类似,都是给每个用户一个虚拟的实例,并且都支持定制化,但是它们作用的层次不同:虚拟化主要是虚拟出一个操作系统的实例,而多租户则是主要虚拟出一个应用的实例。

优缺点

多租户的优点:

  • 经济:因为通过一个软件实例被多个组织共享,从而减低了整体资源的消耗,也同时减低应用运行的成本和相应的管理开支。
  • 易于更新和开发:因为所有组织都共享同一套核心代码,所以能够让软件更新和开发更简单。
  • 管理方便:首先,通过使用了多租户架构能减少物理资源和软件资源,这将简化管理。其次。由于多租户软件主要由有经验的云供应商运营,所以能依赖那些非常经验的管理人员来提升效率。

多租户的缺点:

  • 更复杂:由于一个软件需要做出极大地修改,才能支持多租户架构,而且这种修改,往往会增加整个软件在架构方面的复杂性。
  • 不够安全:因为众多组织的应用和数据共享同一套软件和基础设施,如果出现机器宕机,软件出现问题或者大规模的数据被暴露等情况,将会造成更严重的后果,因为影响面更大。

几种模型

在现有的实现中,主要有三种常见的模型,而且区别主要在于采用不同的数据库模式(Database Schema):

  • 私有表(图1-a):它是最简单的扩展模式,就是为每个租户的自定义数据创建一个新表。优点是简单。缺点是涉及到高成本的DDL操作,并且它的整合度不高。
  • 扩展表(图1-b):总体而言,比较类似于私有表,但是一个扩展表会被多个租户共享,所以无论是共享表还是基本表都会有租户栏位。好处是比私有表更高的整合度和更少的DDL操作,但是在架构上比私有表更复杂。
  • 通用表(图1-c): 主要通过一个通用表来存放所有自定义信息,里面有租户栏位和许许多多统一的数据栏位(比如500个)。像这种统一的数据栏位会使用非常灵活的格式让转储各种类型的数据,比如VARCHAR。由于在每一行中的数据栏位都会以一个Key一个Value形式存放所有自定义数据,导致通用表的行都会很宽,而且会出现很多空值,所以通用表这种方式也被称为”Sparse Column”。好处是极高的整合度并避免了DDL操作,但是在处理数据方面难度加大。

multi modes.PNG

图1. 多种模式(图源自参[7])

差异与取舍

模型 机制 优点 缺点
私有表 为每个租户的自定义数据创建一个新表 简单 需要DDL操作,低整合度
扩展表 一个扩展表会被多个租户共享 高整合度,少DDL操作 有点复杂
通用表 通过一个通用表来存放所有自定义信息 极高整合度,无DDL操作 实现难度高

在实战中,具体选择那个模型,主要还是看那个模型更适合。

关于多租户的介绍已经基本结束了,下一篇将详细介绍Force.com的多租户架构。

EOF


本系列文章列表

剖析Force.com的多租户架构(1)- Salesforce的简介

按:此为客座博文系列。投稿人吴朱华,曾在IBM中国研究院从事与云计算相关的研究,现在则致力于研发下一代云计算系统,撰写一些与云计算相关的文章,他的个人站点: PeopleYun.com。(文章版权属于原作者,转载请勿混淆。本篇原文地址)

在云计算方面,Salesforce 可以称为业界的领袖,它不仅在产品方面比较成熟,而且在思维方面也是引领潮流的,特别是在SaaS(Software as a Service,软件即服务)和PaaS(Platform as a Service,平台即服务)这个两个领域内。

sf-logo-trans-new.png

图1. Salesforce 商标(图源自Salesforce.com)

首先,简要地介绍一下Salesforce的历史:Salesforce.com在1999年由前甲骨文高管 Marc Benioff 创立,他创办Salesforce的核心理念就是”No Software(消灭软件)”,但是其意义并不是排斥所有的软件,而是主要排斥运行在企业数据中心的软件(On-Premise Software),也就是希望让用户能直接通过互联网来诸如CRM等软件服务,并同时让用户无需自己搭建和维护软件所需的硬件和系统等资源。Salesforce的主要产品包括Sales Cloud(CRM)、Service Cloud、Chatter和Force.com等。下面是它的主要发展史:

  • 1999年,Salesforce在美国旧金山成立。
  • 2001年,推出了第一款SaaS应用CRM,同时也受到众多厂商和客户的热议。
  • 2004年,Sunguard成为Salesforce第1000位用户。
  • 2005年,推出了名为”AppExchange”的程序商店,以丰富用户选择。
  • 2006年,推出了首个运行在云计算平台的语言Apex,并在语法上类似Java。
  • 2007年,推出了它的PaaS平台Force.com,来让用户更方便地在Saleforce平台上开发在线应用,同时Salesforce凭借Force.com得到了华尔街日报的科技创新奖(Technology Innovation Award)。
  • 2009年,Salesforce成为首家年收入达到10亿美元的云计算公司,并在年初推出了名为”Service Cloud”在线客户服务应用。
  • 2010年,Salesforce将推出名为”Chatter”的企业级在线SNS服务,类似于企业内部的”LinkedIn”,同时其CRM应用已更名为”Sales Cloud”。

Salesforce的整体架构

虽然Salesforce这些产品从表面而言有所不同,但是从全局而言,它们却是一个整体,具体可看下图:

Salesforce Architecture.PNG

图2. Salesforce的整体架构 (图部分源自Salesforce.com)

从这张Salesforce的整体架构图可以看成,Force.com 是 Salesforce 整体架构的核心,因为它首先整合和控制了底层的物理的基础设施,接着给上层的Sales Cloud,Service Cloud,Chatter和基于Force.com的定制应用提供PaaS服务,最后,那些Force.com上层的应用以SaaS形式供用户使用。这样做的好处主要有两方面:其一是关于成本的,因为通过这个统一的架构能极大地整合多种应用,从而降低了在基础设施方面的投入。其二是在软件架构方面,因为使用这个统一的架构,使得所有上层的SaaS服务都依赖Force.com的API,这样将有效地确保API的稳定性并避免了重复,从而方便了用户和Saelsforce在这个平台上开发应用。

虽然Salesforce的”Sales Cloud”等SaaS应用也比较经典,但由于Force.com堪称整个架构的核心,同时也是最值得的学习和借鉴的部分,所以本系列接下来将会把重点对准Force.com。

Force.com

Force.com是Salesforce在2007推出的PaaS平台,并且已经有超过47000位企业已经使用了这个平台。Force.com基于多租户的架构,其主要通过提供完善的开发环境等功能来帮助企业和第三方供应商交付健壮的,可靠的和可伸缩的在线应用。

force.com logo.PNG

图1. Force.com 商标(图源自参[3])

总体而言,Force.com主要有五方面功能:

  • 强大的定制功能:在Force.com,不仅UI能够定制,而且诸如Workflow和表格等也能被定制。
  • 提供完善的开发环境:首先,通过Visualforce能方便地使用”Drag & Drop”的方式来设计页面。其次,Salesforce提供基于Eclipse的IDE来快速地开发应用。最后,Salesforce还提供Sandbox来方便用户测试。
  • 支持复杂的事务和流程:通过Force.com专属的APEX语言,能方便地设计和开发复杂的事务和流程。
  • 优秀的整合功能:用户除了可以在AppExchange购买其所需的功能和应用,而且还可以通过Force.com的Web Service接口来和其他应用整合,比如SAP等。
  • 久经考验的基础设施:由于Salesforce除了通过在多个大洲建有数据中心来应对灾难的发生,而且在可用性和安全性等方面也有一定积累,所以在Salesforce能长时间地支持众多服务的正常运行。

下一篇:《多租户的介绍》
EOF

本系列文章列表

此文作者:, 位于 Arch 分类 标签: , , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

国内互联网的”轻”模式与”王兴效应”

轻模式

和一些朋友的聊天中,我有好几次说国内的一些快速成长的”轻模式”的网站可能会给一些”次传统”模式的网站带来致命的冲击。

行业 轻模式 次传统模式
社区 豆瓣 (Douban.com) 天涯 (Tianya.cn)
旅游 途牛(Tuniu.com) 携程 (Ctrip.com)
房产 安居客 (anjuke.com) 搜房 (Soufun.com)
游戏平台 4399 (4399.com) 盛大游戏 (Shandagames.com)

这个表格其实还可以列举出来一些内容的。至于什么是”轻模式”与”次传统”,这里也没办法给出更详细的解释,可能大家端详一下上面这个表格就差不多明白了,可意会不可言传。”轻模式”的网站重视技术与业务运作灵活性,而”次传统”网站则业务为主导,较多依赖传统渠道带来的优势。所以,选择创业的时候不妨考虑一下你做的业务能否革掉哪家网站的命。

以上观点平媒请勿抄袭。当然,这个只是我个人的一点看法而已(延伸参考 Tim O’Reilly 在 What is Web 2.0 大作中列出的那个著名的表格)。

王兴效应

我前一段时间在 Twitter 上看开玩笑定义了一下”王兴效应”,没想到这个说法不胫而走。原话是这样的:

我觉得中文互联网应该弄一个”王兴效应”,就是王兴同学要做哪一类型的网站,这一类型的网站就要火,而且离后续跟进者胜出就不远了。(refer Twitter)。

王兴做校内,成就了开心网;做饭否,成就了新浪微博;这次做团购,不知道会成就谁。当然,不排除成就他自己。

EOF

此文作者:, 位于 Review 分类 标签: on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

米团团购iPad以及iPad初体验

米团( http://mituan.com ) 团购的 iPad 到手了。团购价格是 3999,可以用”米粒”(邀请用户注册可以获得”米粒”)作折价券,整体下来还是蛮划算的,最后花了 RMB 2999,省了不少钱。团购的一个小技巧是要提前把钱充入自己在米团的账户,否则到时候临时充值的话就比较耽误时间了,值得注意的是,网银或者支付宝到帐可能会滞后几分钟的。估计有朋友因为这个问题而扼腕长叹了吧。

其实团购不是拼价格战,米团这次算是自己贴钱营销吧。应该说,整个团购过程很靠谱,第二天就给我来电话确认发货地址。机器到手后,欣赏的过程中出了一点插曲,iPad 屏幕那张默认的”流星雨”的图片让我误认为屏幕被划了,线上联系了米团客服同学,二话没说答应给换。这个小乌龙让我很不好意思。

数天前第一次体验贝塔咖啡几位朋友买的 iPad ,给我的第一个感觉并不是太好,对虚拟键盘很不习惯–或许是习惯了 iPhone 上比较小的虚拟键盘的缘故,面对大一点的键盘反而不适应。我之所以喜欢上 iPad 居然是因为一款游戏,我说的不是植物大战僵尸,而是 Zombie Attack!

,这是一款 3D 塔防类游戏,我这个很少玩游戏的人居然被 iPad 带来的方便灵活的交互能力给镇住了,iPad 绝非简单的大号 iPhone ,全新的体验(屏幕大的确能带来很多新的体验)让我爱不释手。

当然,买这台机器的初衷不是为了玩游戏。对我而言,这个设备的功能主要有三个:电子邮件(Gmail)、Twitter、地图(Google Map)。iPhone 毕竟屏幕太小了,处理这三个应用有其短板,而笔记本背着又太重了。对于 iPad 的电子书功能,我还没有体验,稍后再说。

如果说有什么我不太满意的地方,可能就是必须依赖 Wi-Fi 才可以上网吧(笑,当然,我没期望用来打电话)。接下来期待什么时候米团来一次 iPad 3G 版的团购吧,当然,价格不奢望还这么优惠了,适度即可。

EOF

此文作者:, 位于 MyLife 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.