标签:sharepoint 多租户 2013 multi-tenancy
多租户(multi-tenancy)简介
我这里要介绍给大家的是SharePoint 2013中的多租户概念,那什么是多租户呢?应用多租户模式有什么意义和使用场景呢?我这里就为大家揭开这个神秘的面纱。
多租户:是指能够管理网站数据以及共享服务或软件并对其进行分区,以便容纳多个租户。这与运行服务的多个实例或设置单独硬件相对。在 Microsoft 产品和技术中,服务多租户可创建服务器场资源最大化的托管环境。在了解托管环境之前,必须了解服务体系结构。
初学SharePoint的工程师很少遇到使用多租户功能的场景,主要原因是多租户主要应用于电商平台类的软件开发。SharePoint多应用于企业内部的组织机构使用,所以很多开发工程师对其知之甚少。
一、启用多租户的关键组件和服务
Web应用程序,它是由一个IIS网站所组成。此网站充当您创建的网站集的逻辑单元和安全单元。每个Web应用程序由使用唯一或共享应用程序池的不同IIS网站组成。
以主机命名的网站集,它使你可以将唯一的DNS名称分配到网站集。例如,可以将其称为http://a.contoso.com或http://b.contoso.com。这使你可以在相同的Web应用程序中部署很多使用唯一DNS名称的网站。当然,Web应用程序还可以包含许多共享相同主机名称(DNS名称)的基于路径的网站集。例如,http://a.contoso.com/sites/site1或http://a.contoso.com/sites/site2
从根本上说,以主机命名的网站集是扩展多租户环境的唯一方式。并提供所用URL命名空间的最大灵活性。如果将基于路径的网站与多租户结合使用,将很快达到用于管理路径的软件边界。
有关如何为 SharePoint 2013 规划以主机命名的网站集的其他信息,请参阅以主机命名的网站集的体系结构和部署 (SharePoint 2013)。
服务组(代理组),它是一组选择用于Web应用程序的服务应用程序。默认情况下,所有服务应用程序均包含在默认组中,除非在创建服务应用程序时已指定另一个组。你可以在默认组中随时添加或删除服务应用程序。当你创建Web应用程序时,你可以选择一个服务组,或仅选择几个服务应用程序来创建自定义服务组。自定义服务器组不能在多个Web应用程序之间重复使用。
服务代理,创建服务应用程序时,将同时创建服务应用程序的代理。代理是将Web应用程序连接到服务应用程序的虚拟实体。如果你使用PowerShell去创建服务应用程序,则需要手动用PowerShell再去创建服务代理。
服务应用程序,是指定服务及其安全和管理配置的逻辑表示。不同的服务应用程序通过不同的方式实现,这回影响多租户解决方案的设计。要确定 SharePoint 2013 中可用的服务应用程序列表及其在具有多租户功能的 SharePoint 版本之间的可用性,请参阅 SharePoint Server 2013 中主机提供商的一般指导中的服务和功能部分。
功能包和许可,是限定在网站或Web的功能分组在一起的一种方式。SharePoint功能分组后,即可与网站订阅(即租户)相关联。该网站订阅(租户)中的所有网站集只能使用属于该功能包的范围限定为网站或Web的功能。
在SharePoint 2013中,添加一项新功能,以便为每个用户分配不同的SharePoint许可证。它还会启用运行时 SharePoint 许可证检查。此功能为服务提供商提供了在简化的部署模型中构建不同服务产品的更大灵活性。
信息管理管理,SharePoint2013中增加了对多租户的支持,这样即可管理租户级别的信息权限管理设置。
二、多租户在SharePoint 2013中如何运行
SharePoint Server 2010 中引入了本机多租户,以将 SharePoint 发布为多租户的有效平台。SharePoint Server 2013 继承了与多租户相关的相同功能和设计,并添加了一些新功能以支持多租户部署。
在 SharePoint Server 2010 中,实施了新的共享服务模型。此新模型称为“服务应用程序”。这些服务应用程序体系结构允许将一个服务集与一组 Web 应用程序相关联,将另一个服务集与另一组 Web 应用程序相关联。此外,可以为不同的 Web 应用程序组配置相同的服务应用程序,但具体设置有所不同。网站可以配置为仅使用所需的服务,而非整个服务系列。
在 SharePoint 中,多租户是指能够对共享服务的数据进行分区,以便容纳多个租户。这与安装单独的专用硬件,甚至运行指定服务的多个专用实例相对。
服务可以配置为在所有租户之间共享数据或对每个租户的数据进行分区,例如,提供数据隔离。每个服务可以进行不同的设置。可以使用 Windows PowerShell 在分区模式下创建服务,也可以使用 Windows PowerShell 或管理中心在非分区模式下创建服务。创建后,则无法更改服务的模式。要实现分区,服务和服务连接都必须在分区模式下部署。服务连接在 Windows PowerShell 中称为代理。
并非所有服务都可以进行分区。不存储租户数据的服务(如 PowerPoint Automation Services)则无需分区。这些服务可以在多个租户之间共享,而不会泄漏租户特定的数据。
下图显示了如何对服务数据进行分区:
在 SharePoint 中,多租户绑定到网站订阅。网站订阅是可以共享设置、功能和服务数据的网站集的逻辑组。每个租户的网站集使用订阅 ID 集中在一起。订阅 ID 用于将功能、服务和网站映射到租户,以及根据租户对服务数据进行分区。Subscription Settings Service 可跟踪多租户服务和订阅 ID。
下面是它的工作原理:
服务器场管理员将服务部署到服务器场,其中包括 Subscription Settings Service。服务应用程序可以在彼此的数据分离时以分区模式部署,也可以在数据在所有租户之间共享时以非分区模式部署。某些服务不存储租户数据,并在不进行分区的情况下在所有租户之间共享。
服务器场管理员使用 Windows PowerShell 为每个租户部署租户管理网站。租户管理员网站与订阅 ID 相关联。管理员可以为每个租户部署额外的网站集。每个网站集绑定到租户的订阅 ID。
在 Web 应用程序级别连接的所有服务应用程序可供 Web 应用程序内的网站集使用。管理员选择要提供的服务并成为每个租户的活动管理员。租户的订阅 ID 用于将服务映射到网站集。
租户管理员使用分配的租户管理网站来管理自己的网站集。
多个网站订阅的网站集可以在一个 Web 应用程序中托管。
多个网站订阅可以共享一个内容数据库,或者网站订阅可以包含多个内容数据库之间的内容。
单个网站订阅的所有网站集必须位于同一个服务器场,但可以在 Web 应用程序之间扩展。
服务器场管理员可以在同一个服务器场托管多个租户,并集中管理服务和功能的部署。租户管理员可以对管理员委派的功能配置进行管理,并控制网站的功能。
SharePoint 将其管理功能与常规托管角色进行协调,如下表中所示。
角色 | 管理员类型 | 说明 |
服务提供商管理员 | 服务器场管理员 |
|
托管公司管理员 | 租户管理员 |
|
托管公司 | 网站管理员 |
|
租户管理通过“租户管理”网站提供,基于标题为“租户管理”的网站模板。租户管理员可以使用 Windows PowerShell cmdlet 创建租户管理网站并向租户管理员授予访问权限。下图显示了“租户管理”网站的“主页”。
租户管理员可以使用租户管理网站管理订阅的多个方面。例如,租户管理员可以从一个位置管理订阅的所有网站集。下图显示了“租户管理”网站的“网站集管理”页面。
本文出自 “NET人生” 博客,请务必保留此出处http://642197992.blog.51cto.com/319331/1587369
标签:sharepoint 多租户 2013 multi-tenancy
原文地址:http://642197992.blog.51cto.com/319331/1587369