如何构建混合云管理平台?——资源管理篇
随着云业务的发展,云业务的规模越来越大,云业务范围也逐渐从私有云或公有云变为混合云模式。但混合云存在多资源类型、多业务入口、监控管理困难的问题,始终困扰着业务用户和运维人员。通过构建一个统一的混合云管理平台,实现统一资源管理、统一部署、统一运维、统一安全,能够有效的屏蔽底层差异,降低混合云的使用难度和运维难度。
那么构建混合云管理平台的技术难点有哪些,又如何解决呢?我们将在后续的文章中进行介绍。
【本期主要内容】
在云业务中,无论部署何种业务,首先都需要具有相应的计算资源,所以本篇将先对资源管理体系进行介绍。资源管理主要包含以下四个部分:
1. 资源统一管理
2. 资源配额管理
3. 应用与应用数据安全
4. 跨网络管理
计算资源来源、性能等的差异,导致用户难以自主化地进行资源的申请和使用?
——解决方案:资源统一管理
在混合云中,我们面对的不仅仅是分散在各处的物理服务器,还包括各种方式提供的虚拟机,虚拟化平台提供的虚拟机化计算资源配额,以及外部云平台提供的计算资源配额。这些计算资源不仅仅是来源的差别,而且也包括性能、网络以及安全方位的差异。给用户选择带来了困难,使用户难以自助化地进行资源申请和使用。
导致这个问题的主要原因是:技术会影响到业务部署,但技术特点和业务特点缺少对应关系,如果技术特点直接暴露给最终用户,用户是很难进行正确的选择。另外这些技术细节并非是用户所熟悉,不同资源会存在不同的部署技术,这大大增加了用户的使用难度。
当我们对用户领域和计算资源领域进行抽象时,我们可以通过适配器将各类资源统一抽象为虚拟的可用区,再将虚拟的可用区重新划分为符合业务特点的业务可用区。用户在申请资源时,仅需要关注部署业务所需要的业务特点,而无需关注具体支撑运作的是哪类计算资源,使资源申请过程得到简化。而计算资源在可用区中被统一抽象为虚拟机资源,使物理机、虚拟机、openStack 虚拟机或者云平台虚拟机得到统一的映射。例如当用户需要一台虚拟机时,如果底层对应的是物理机,则从空闲的物理机中自动抽取出合适的机器进行使用,而底层对应的是华为云虚拟机时,系统将自动通过华为云接口创建出一台华为云虚拟机。资源的申请和归还都由适配器完成,用户层面对此并无感知。所以当用户在某种类型的资源上部署测试通过后,只要进行可用区切换,就可以实现,跨资源种类的应用迁移。而底层差异被适配器屏蔽后,我们在增加新的资源来源时,可以有效地减少对已有业务的冲击,用户也不需要重新学习部署过程。
资源管理的另外一个重要问题是,由于之前资源是分散在各处的,所以总体的资源利用率是不清晰、不实时的。即使将这些统计信息整合在一起,由于统计口径的差异,也会导致统计不准的问题发生。当将这些资源统一到业务可用区时,适配器需要将这些资源信息进行统一的规格化,例如统一出 cpu 核数、内存、存储、虚拟机数等指标,在对这些指标进行整合分析时,更容易得到统一的整体视图。
在业务中,如何对资源进行有效限制?
——解决方案:资源配额管理
在业务中,资源永远是紧缺的、冲突的。如果不加限制,某些业务可能会耗尽平台所有资源,对其它业务造成影响。但如果每次部署业务时,都通过管理员进行审批,是一种非常低效的方式。所以在云平台中,一般采用资源配额管理的方式对资源使用进行控制。
配额管理统一采用虚拟化资源配额中的 CPU 核数、内存大小、存储大小等作为配额指标。这个指标已经通过可用区和适配器进行了统一。在实际使用中,用户如分配了物理机资源,则按照物理机实际占用的资源数量进行扣减,而申请一个新的虚拟化资源,则按照实际申请量进行扣减。而扣减的配额量,最终都会体现在用户自身的已用配额中。
在配额管理中,不仅仅存在用户本身的配额限制,更多的是层级式的配额限制需求。例如某些业务部门可以使用一定数量的云资源,但不能过度使用,以免影响到其它部门的业务。而在同一业务部门中,不同项目之间也存在资源竞争关系,需要进行合理的控制。在云平台中设计了多级资源配额管理,能够应对各种复杂的业务场景。通过多层级的资源配额管理模式,将资源逐层分配,使资源的使用得到有效的控制。
可用区资源配额,能够控制可用区能够从基础资源层获取的资源量。而组织级资源配额,可以帮助用户在多个独立组织之间分配资源。项目级资源配额可以平衡多个项目间的资源使用冲突,而应用级资源配额,能够控制应用进行水平扩展时,使用最大资源量。
当进行应用部署时,平台会自动在各层级上对资源使用上限进行逐级校验,避免应用超额使用的情况出现。由于上层资源共享范围更大,冲突的可能性也会越大,所以进行自底向上的校验方式可以有效地减少冲突,加快校验过程。
由于项目级、组织级、可用区级配额在资源申请时,出现配额冲突的情况,需要引入分布式锁对申请的资源进行锁定,若所有配额层都通过了,则将申请资源转换为已使用配额,反之则释放掉所有预申请配额,并提示用户配额不足。
由于在实际业务中资源测试可能更加复杂,所以资源配额管理是通过无限层级的父子级工作空间映射完成,每个分区都是一个工作空间,每个工作空间都有其资源以及资源配额。通过将应用、项目、组织、租户、可用区与工作空间的映射,则可以实现任意层次的资源管理配额控制,使系统的灵活性得到加强。
在混合云中,如何保障资源的利用率与安全?
——解决方案:设置独享可用区
在混合云中,我们希望资源是尽量共享的和可复用的,以便尽可能的提升整体的资源利用率,所以业务中存在复用或共享物理机或虚拟机的情况。但对于一些有高安全要求的业务来说,这样是存在风险的。所以云平台从两个层面对其进行保障,以平衡资源利用率与安全。
第一,用户可以在创建可用区时,将其设置为独享可用区,只允许特定的组织或部门使用,使同安全级别和相同用途的业务应用部署在同一个可用区中,而可用区是资源隔离的,保证了跨业务组织的业务安全。
第二,用户在创建业务应用时,可以设置为独享应用。该应用不能够与其它应用复用或共享服务器,这样就能够使应用的运行环境和遗留数据得到最大限度的保护。当服务被销毁,服务器被归还时,系统会提示运维人员对服务器进行物理清理后,再将服务器加入到平台中,以避免出现数据泄露的风险。
混合云中,如何进行网络整合?
——解决方案:基于网关的跨网络管理
混合云的管理会涉及到复杂的网络问题,尤其是跨网络问题,例如某些服务器位于防火墙之后,只有通过网关才能访问,这可能导致管理复杂,且动态创建的服务无法被其它服务访问。所以在混合云中,如何对网络进行整合成为一个非常重要的问题。
针对这个问题混合云管理中会存在两类网关,为管理而建立的代理网关和业务访问而建立的流量网关。
通过代理网关,混合云平台可以将管理指令发往代理网关,代理网关对指令进行翻译,并通过资源代理对资源进行操作,完成应用软件的安装、部署、卸载以及升级操作,同时代理网关也可以统一采集一个网络区域内所有资源的运行情况,并反馈给管理平台。通过代理网关,一个网络区域只需要打开一个指定通道,使系统的安全性得到保障。
而流量网关,可以将普通的应用转换为服务化部署,对外暴露服务信息而非原始的 IP 地址,通过流量网关即可以实现服务的水平扩容与缩容,也可以实现服务的滚动升级、迁移和替换的操作。
总结:在混合云管理中,资源管理是最基础的支撑部分,但资源管理能力的高低,也决定对上层业务的支撑能力。具有一个较好的资源管理抽象层,才能够在其上构建功能强大的混合云管理平台。我们将在后续的文章中,逐步对混合云平台其它部分进行更详细介绍。
【本期作者】
范明明,深圳市金蝶天燕云计算股份有限公司产品经理、架构师。专注于云计算与数据集成领域。
版权声明: 本文为 InfoQ 作者【金蝶天燕云】的原创文章。
原文链接:【http://xie.infoq.cn/article/792c08184237357c05ae882a0】。文章转载请联系作者。
评论