了解云的多租户是云采用的关键一步
无论IT组织是打算实施公有云还是私有云,重要的是要理解多租户共享架构的各种细微差别。如果要实施公有云,IT经理们就需要了解他们正在寻找的厂商能支持多租户架构到何种程度。如果想实施私有云,那么设计多租户架构的全部职责就在于企业的IT经理自己。
企业对云计算的采纳已经超越了追求知识和偶尔实验的阶段。IDC的一份分析报告指出,2009年全球3590亿美元的IT支出中有170亿美元出自云计算投资。《Baseline》杂志对企业所做的调查也表明,有三分之二的企业计划扩展对于公有云的使用。
但这并不等于说就不存在什么恼人的问题了,这些问题包括但不限于如何让不同企业的工作负载与不同类型的云相匹配,以及规划和实施必要的云迁移必须具备的负责任的方法等等。
根据工作负载的特征,对于云的采用将会在公有云和私有云之间来回摇摆。大型企业一般会有要求,为了工作负载而在两种云之间达成一种平衡。而中小企业 (SMB)和新办企业的情况则不同,它们或许会较强烈地希望将所有的工作负载都交给公有云去做。但是到了最后,它们彼此之间的这种不同偏好可能多半都会与 企业规模无关,而主要和企业的IT工作负载的性质有关。
除了适当的工作负载分配,体系架构的考虑也是关键。多租户架构就是这样一种架构考虑,而了解多租户是更为广泛地采用云计算的关键性的第一步。
在公有云中,我们能看到一些早期用户——多个企业最后成了云中的共同租户,但是“多租户”却被错误地当成了“多企业”的同义词。其实这两者是两个完全不同的概念。而且,租户的粒度是建立在应用层面上,而非建立在个别用户或者整个企业层面上的。
多租户的定义
一个租户可以是任何一个应用——或者是企业内部应用,或外部应用,它需要有自己的安全的和排他的虚拟计算环境。该环境包含了从存储到用户界面的所有或者某些选定的企业架构层。所有交互式应用(或租户)必然地具有多用户的性质。
图注:这张图将典型的企业IT工作负载按照“策略性 vs 战略性”轴向分诶排列,表明它们相对来说可以为了不同类型的组织跨公有云和私有云进行分配。
一个在企业私有云中处理敏感的财务数据的部门级应用其实和一个在公有云中发布产品目录的全球营销应用一样,都可被视为一个“租户”。两者有相同的租约要求,这一点与一个是内部租户,另一个是外部租户完全无关。
多租户是公有云和私有云的一个重要的共通属性,它可适用于云的所有三层架构:基础设施作为服务(IaaS)、平台作为服务(PaaS)和软件作为服务(SaaS)。
大多数人在谈到云时指的只是IaaS层。既便如此,从体系架构上讲,公有和私有的IaaS都不再只有一些策略性功能(如虚拟化),而是向着实现IT作为服务(ITaaS)的理念发展。IaaS同时还具备利用服务等级协议(SLA)的改进的计费方法、用于安全访问的身份管理技术、容错能力、灾难恢复、动态采购和其他一些关键特性。
通过将这些共享服务纳入基础设施层,所有的云都会自动地变成某种程度上的多租户云。不过多租户已经超出了IaaS层,还包含PaaS层(应用服务 器、Java虚拟机等等),最终直达SaaS或应用层(数据库、业务逻辑、工作流和用户界面等)。只有到了那个时候,租户才能享受到云所提供的全方位普遍 服务——从硬件层开始一直到用户界面层,这要视云所提供的是何种级别的多租户而定。
多租户的级别
多租户的准确分级,按照其通常的定义,主要的依据是,有多少个核心应用或SaaS亚层可以跨租户共享。最高级别的多租户允许共享数据库架构,支持业务逻辑、工作流和用户界面层的定制。换句话说,SaaS的所有亚层都提供这种级别的多租户架构。
图注:在如图所示的云的三层架构中,IaaS和PaaS在任何云中都将是多租户的。但是在应用层(SaaS)中,对应于不同类型的应用将会提供不同级别的多租户架构。
而在最低级别上,多租户仅限于IaaS和PaaS层,每个租户有专门的SaaS层。
中级的多租户是共享数据库架构和其他应用层的同质租户的集群。在中级模式中,每个用户集群都有自己的数据库架构版本和应用。
我们可以将多租户的分级制归纳如下:
· 最高级别:Iaas和PaaS是多租户的。SaaS也是完全多租户的。
· 中等级别:IaaS和PaaS是多租户的。小的SaaS集群也是多租户的。
· 最低级别:IaaS和PaaS是多租户的。而SaaS是单租户的。
以Salesforce.com为例,在相对较高的多租户层级上,72500个客户是由8到12个多租户实例以1:5000的比率予以支持的。换句 话说,每个多租户实例支持5000个租户,这些租户共享同一个数据库架构。而一个处在中级别多租户架构中的财务系统SaaS提供商,则有2500个客户, 以1:250的比率共享着10个实例。
而私有云,例如SAP的Business By Design就是在最低级别的多租户架构中,其应用层是专门为特定的大企业客户提供的。
如何选择多租户级别
在选择不同级别的多租户时,并没有一把普遍适用的尺子。首先必须认真研究工作负载的特点,包括工作负载的实用性与战略价值、活跃度和安全性等等。较高级别的多租户架构最适合于跨行业的实用工作负载,例如目录管理和销售团队管理。
这些应用可以很轻松地共享同一个数据库架构,同时也能因厂商或者一个合作共享的服务团队所开发的最好功能的迅速进展而受益。这些应用还会倾向于更简 单的安全需求,例如加密和认证。这就是为什么公有云对于一些很成熟的工作负载,如e-mail、协作、场景软件(支出报表、差旅认证)和预生产行为(开 发、用户培训和功能/接受测试)等是一种很有吸引力的多租户平台。
图注:有很多成熟的和新兴的厂商都在提供整体的云环境,并可为企业的IT部门提供开发工具以便开发他们自己的私有云。
对于每一种此类应用而言,IT经理们要决定究竟需要哪种级别的多租户租约,并由此选择相应的服务提供商。