多租户架构对云计算很重要
【IT168 技术应用】时至今日,企业云的部署早就已经不再是实验性和探索性的了。IDC的研究表明,2009年全球3590亿美元的IT支出中有170亿美元用于云计算。调查还显示,2/3被调查者有扩大使用公共云的计划。当然,这并不是说云计算的部署和应用就没有问题,比如企业如何根据不同的应用类型选择不同类型的云就存在困惑。尽管理论上说,企业可以根据应用系统的不同特性在私有云和公共云之间进行选择,而实践中常常只有大型企业才有这样的选择权,它们可以根据应用的不同需求在两种云之间选择更合适的,而对中小企业和初创企业而言,由于经济上的原因可能更倾向于采用公共云来支撑其几乎所有的应用。
除了对应用系统的特性进行分析外,云平台及其软件的架构也是选择云服务时需要考虑而被忽略了的关键因素。尤其是多租户架构(Multi-tenancy),严格地说来,了解多租户架构应该是企业将IT应用迁向云端的关键的第一步。
实际上,无论企业是准备采用公共云还是建设私有云,仔细了解多租户架构都是非常必要的: 如果企业准备采用公共云,CIO需要了解公共云的服务供应商对多租户模式的支持程度;如果建设私有云,设计多租户架构的全部责任就落在CIO及其领导下的IT部门身上,更有必要了解多租户的架构。过去,基于互联网的应用大多采用多用户共享的模式,这使得今天很多用户看到“多租户”这个概念的时候仍然把它看成是过去的那种共享模式。其实,它们是不同的概念,特别是,今天的多租户是建立在应用层,而不是以用户为单位。
何谓多租户?
这里说的“租户”可以是任何企业中的任何一个应用程序(既可以是企业内部也可以是企业外部),这个应用程序有自己的安全需求和专用虚拟计算环境,这个环境可能包含企业IT架构中的几层或者全部,从最基础的存储到用户界面。比如所有的交互式应用在本质上应该是面向多用户或者说“多租户”的。
一个运行在企业内部私有云上、处理企业内部敏感数据的部门级应用程序与一个运行在公共云中面向全球市场发布公共产品目录的应用程序,从“用户”这个角度来说没有什么不同,无论这个程序是运行在企业内还是企业外,它们都具有相同的面向多用户的架构。应该说,“多租户”是私有云和公共云都具有的共同特征,它可以体现在云的三层中,即IaaS(基础设施作为服务)、PaaS(平台作为服务)和SaaS(软件作为服务)。
以IaaS为例来说明。实际上,如果从架构上来说,无论是公共IaaS还是私有IaaS都已经不仅仅是诸如虚拟化、按云的使用进行收费以贯彻IT即服务的理念等这些技术,IaaS已经超出了这些技术的范畴,它还应具有完善的制度,诸如服务级别协议、用于安全接入的身份管理、容错、灾难恢复、按需订购以及其他一些关键特性。如果能在基础设施层上提供这些共享的服务,则这样IT基础设施(或者说云)在一定程度上就自动地具有了多租户的特性。
云的多租户特性并不仅仅限于IaaS层,包括PaaS层(如应用服务器、Java虚拟机等)、SaaS或应用层(如数据库、业务逻辑、工作流程和用户界面)也需要有多租户的特征。只有这样,每一个“租户(或者应用程序)”才可以充分享受到云的所有通用的服务,根据云所能提供支持多租户的程度这些共享的服务可以从硬件层一直到用户界面。