|
物理资源的整合是 PaaS 解决方案的一个主要推动力量。但是,整合意味着多个 PaaS 实例将位于同一台服务器上,因此必须有一种方法来使各个承租方彼此相互隔离。PaaS 解决方案至少必须隔离:
在一台物理服务器上整合多个承租方实例的显而易见的方法是使用虚拟服务器。此方法相当有效,因为每个实例可以假定自己拥有对服务器的完全控制权力。然而,重要的是要知道,多承租方已远远超越了仅在操作系统级的虚拟化。更为重要的是,完全无需使用虚拟技术即可实现各种级别的多承租方。考虑以下分类:
物理隔离
每个承租方实例的各个组成部分(如应用服务器、数据库)完全驻留在 自己的物理资源集上。完全隔离是可能的,因为在承租方之间几乎不会发生共享(例如,可能会共享一个公共 Web SSO 或 LDAP 基础架构)。这对 SaaS 来说并非一个很常用的方法,因为使用这种方法,则不可能通过整合来降低成本。
虚拟隔离
每个承租方实例的各个组成部分完全驻留在虚拟机管理程序上运行的虚拟容器内。多个虚拟容器在共享硬件上执行。容器本身可以是一个直接运行在虚拟机管理程序自身之上的充分实现的操作系统或高度专用的 Java 虚拟机。这是一种常用的隔离方法,然而每个容器运行一个完整的操作系统实例时,物理服务器上的资源使用情况没有达到最佳。虚拟隔离策略的好处是将容器从底层物理资源中完全剥离出来。这种剥离使容器无需修改即可够重定向到不同的服务器上。
逻辑隔离
每个承租方实例的各个组成部分在物理服务器上直接配置。每个组成部分必须各自支持一种隔离策略。例如,可为各承租方分配 WebLogic 域。可以使用承租方特定的身份标识和表空间来划分数据库。对于希望无需虚拟技术相关基础架构即可快速启动的小型 PaaS 环境,逻辑隔离很有用。与虚拟隔离相比,逻辑隔离因需要分配物理资源并将承租方实例迁移到新的物理资源而需要更多的管理工作。另外,多承租方特性可能会开始影响每个实例中应用程序的构建和部署方式。例如,如果没有承租方特定的表空间,可能需要在每个数据库表中各行添加一个承租方特定身份标识列。
返回蓝图页面
|