云管平台统一资源层如何适应不同规模的云计算体系,设计时有何讲究和理念?

参与19

3同行回答

jxnxsdengyujxnxsdengyu课题专家组系统工程师江西农信
这里说说我的看法面对企业不同规模的云计算体系,如何设计云计算管理平台的架构是需要考虑的重点之一,按照之前的理论,云管平台的架构设计应该包括两个层面,云管平台统一资源层和云管平台服务管理层,对于统一资源层来说,面对的无论是大规模的云计算还是中小规模的云计算,我的想法...显示全部

这里说说我的看法
面对企业不同规模的云计算体系,如何设计云计算管理平台的架构是需要考虑的重点之一,按照之前的理论,云管平台的架构设计应该包括两个层面,云管平台统一资源层和云管平台服务管理层,对于统一资源层来说,面对的无论是大规模的云计算还是中小规模的云计算,我的想法是尽量用“分布式”的设计理念去实现:
这里不得不说下OpenStack的分布式的特性。OpenStack所有组件既可以采用all-in-one的方式存在一个控制节点中,各个组件也可以广泛分布于各个不同的控制节点中,只需保证节点间的通信即可;不仅如此,每种组件中的子组件也可存在多个,进行分布式部署,通过LoadBlance实现负载均衡;另外,对于all-in-one架构的控制节点,也可按照不同功能、分区甚至数据中心进行区分,组成多个全套的控制节点,这多个控制节点通过将Keystone认证信息和EndPoint链接注入至其中一个主控制节点当中,实现在该主控制节点统管所有资源,实际上部署却是分布式的,互不相干的。下面一一解释:
(1)资源层控制节点的组件all-in-one
云管平台资源层设计为所有OpenStack组件都集中在一个控制节点中,适用于计算节点和存储节点较少的场景,并且并发部署和管理的资源个数不宜太多。另外,由于只有一个控制节点,该节点的高可用也需要考虑,尤其是控制节点中的数据库,用数据库复制技术也可,还可以用双机软件,搭建Linux操作系统的双机实现高可用,如Keepalive、TSA或者Pacemaker等。
(2)组件或者子组件分布于不同控制节点
云管平台资源层设计为所有不同的组件和子组件均衡分布于不同的控制节点当中,如下图所示为资源层架构样例,相同组件的控制节点通过应用负载节点实现负载均衡(如HAProxy),实现ACTIVE-ACTIVE;RabbitMQ的消息控制节点则可通过自身的集群实现ACTIVE-ACTIVE,所有组件均通过RabbitMQ实现异步通信,同时为保证负载均衡和自动切换,组件配置了RabbitMQ的集群节点列表。数据库节点间可通过高可用软件+数据库复制技术实现ACTIVE-STANDBY,所有数据库的访问请求均通过虚拟服务IP实现。
yunguan1.jpg

yunguan1.jpg

不仅如此,每个控制节点当中的子组件设计也可以按照“分布式”的理念进行设计,如下图所示,同样是多个相同的子组件通过HAProxy实现负载均衡,组件内部的不同子组件间也均通过RabbitMQ集群进行异步的通信。
yunguan2.jpg
yunguan2.jpg

整个架构有几下优点:
A.当计算资源不够了无法创建虚机时,可以增加计算节点或者存储节点(增加Nova-Compute、Neutron-Agent和Cinder-Provider)。
B.当客户的请求量太大调度不过来时,可以增加Scheduler或者直接增加控制节点。
C.通过消息组件RabbitMQ的异步通信实现调用,一是可以解耦各子组件和组件,他们不需要知道其他组件在哪里运行,只需要发送消息给消息组件就能完成调用。二是提高了性能,异步调用使得调用者无需等待结果返回。这样可以继续执行更多的工作,提高系统总的吞吐量。三是提高伸缩性,子组件和组件可以根据需要进行扩展,启动更多的控制节点处理更多的请求,在提高可用性的同时也提高了整个系统的伸缩性。而且这种变化不会影响到其他组件,也就是说变化对别人是透明的。
所以,该资源层的架构非常适合大规模和超大规模的云计算。
(3)多个all-in-one的控制节点功能分区
云管平台资源层的单个控制节点五脏俱全,包含了所需的所有组件,但每个控制节点的用途不一样,比如每个网络安全分区一个控制节点或者Power平台一个或多个控制节点,Vmware X86一个或多个控制节点,然后开源X86一个或多个控制节点,然后再搭建一个主控制节点,通过继承其他控制节点的KeyStone和EndPoint实现资源的接管,在主控制节点的Dashboard上通过切换不同Region实现管理的切换。通常商用私有云管平台喜欢采用这种架构,因为商用产品的软件会做得比较全,按照它的设计理念,面面俱到。但是这样如果部署在一个控制节点上,在资源规模比较大的情况下,不可避免地会产生性能瓶颈,可靠性也存在考验。如果按照不同功能进行分区的方式,则能起到立竿见影的效果,同时也可以实现统一管理的效果。比如下面商用私有云的架构(IBM Cloud Manager+IBM Cloud Orchestrator),不同功能的ICM控制节点分别管理不同的资源池,最后在逻辑上从属于主ICM,主ICM设计为高可用集群架构,其中的部分组件则采用了ACTIVE-ACTIVE的方式,均衡负载请求,实际上这个集群架构则为第二种架构模型,相当于在这个架构模型之上,再来了一层控制节点,增加了一层深度。和第二种架构模型的区别是,第二种架构组件的子组件也可以采用分布式部署方式,而该架构只能是所有组件all-in-one。这种架构由于也是“分布式”,可适用的资源规模也可以非常大,但显然没有第二种架构灵活性高。
yunguan3.jpg
yunguan3.jpg

收起
银行 · 2017-10-23
浏览2027
楼炜楼炜副总经理/副总裁云星数据
云管的统一资源层需要解决两个方面的主要问题:1.上层业务对于下层的消费方式统一,资源调度自动化,接口统一2.可以适配接入不同的异构、公私混和云资源第一条的实现要点是两层接口抽象,使不同类型的资源(计算、存储、网络)分别提供一组相对标准化的接口,具体参见我之前的文章谈的...显示全部

云管的统一资源层需要解决两个方面的主要问题:
1.上层业务对于下层的消费方式统一,资源调度自动化,接口统一
2.可以适配接入不同的异构、公私混和云资源

第一条的实现要点是两层接口抽象,使不同类型的资源(计算、存储、网络)分别提供一组相对标准化的接口,具体参见我之前的文章谈的资源异构设计部分;
第二条的实现要求是插件化、可适配,每一种资源provider一个适配器(如使用VMWare虚拟化,就构建VMWareAdapter)。

收起
互联网服务 · 2017-10-24
浏览1785
baizhaoxianbaizhaoxian联盟成员容灾备份管理工程师
根据不同的企业需求,特别是IT规模与应用支撑的不同,云管理平台与云平台的特点和应用方式不同,所以企业在选择的时候也需要格外谨慎。今天,我们就针对云管理平台和云平台进行深入的分析,为您提供一个更适合的计算服务选型参考。透析云平台云计算平台也称为云平台,是指可以提供Ia...显示全部

根据不同的企业需求,特别是IT规模与应用支撑的不同,云管理平台与云平台的特点和应用方式不同,所以企业在选择的时候也需要格外谨慎。今天,我们就针对云管理平台和云平台进行深入的分析,为您提供一个更适合的计算服务选型参考。
透析云平台
云计算平台也称为云平台,是指可以提供IaaS、PaaS、SaaS等各种云服务的平台。云计算平台可以划分为3类:以数据存储服务为主的存储型云平台,以计算能力提供为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台(其中,同一资源池集成主机与存储,辅以网络连接的架构称为超融合架构)。云平台还可以分为开源类云平台与商业类云平台。
比较经典的开源类云平台,分别介绍如下:
OpenStack云平台:旨在帮助服务商和企业内部实现类似于Amazon EC2和S3的云基础架构服务(Infrastructure as a Service, IaaS),目前已经发展到M版,组件扩展比较丰富。基于OpenStack丰富的组件,可以提供计算、存储、网络、数据库、计量计费、编排等多种基础架构云服务。
CloudStack云平台:它也是一个开源云计算平台,可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。基于CloudStack可提供多种计算、存储、网络等基础架构云服务。
Hadoop云平台:如果说OpenStack在云计算上成为了这一领域内的标准配置,在大数据方面,Hadoop让大数据的发展有了更强有力的依托。Hadoop为开源的分布式云数据处理框架,框架最核心的设计就是:HDFS和MapReduce,目前也逐渐扩展其核心模块,包括Spark、Hbase等,基于Hadoop可提供数据存储、数据计算服务。
Apache Mesos:这是一个开源的集群管理器,是为涉及数百或数千台主机的大规模集群而设计的。Mesos支持在多租户、多个应用运行框架间分发工作负载,一个用户的Docker容器运行紧接着另一个用户的Hadoop任务。基于Mesos,可以运行多种应用框架,比如Marathon、Spark、Yarn等,进而提供多种类型的资源服务。
其他的开源云方案还包括比如基于Docker的kubernetes、swarm等等。
商业类云平台则包括:
VMware vCloud:云平台针对vSphere底层虚拟化平台,提供整体的云计算解决方案。
微软:提供从Hyper-V虚拟化到云管理平台的整体解决方案。
Redhat:基于KVM虚拟化,提供开源云平台解决方案;基于RHEV虚拟化,提供企业级云平台方案。
其他的商业云平台还包括HP、IBM以及Citrix的企业云解决方案。
揭开云管理平台的面纱
云管理平台(Cloud Management Platform,CMP)为数据中心资源的统一管理平台,可以管理多个开源或者异构的云计算技术或者产品,比如同时管理CloudStack、OpenStack、VMware、Docker等等。
云管理平台(CMP)提供统一云管理,支持组织迅速将其现有虚拟基础架构转变为高度可扩展的私有云,同时可充分利用公共云资源。
国外厂商中,基于CMP定义推出的云管理平台产品与解决方案中,著名的有VMware的vCMP和Redhat的CloudForms。
Redhad基于CloudForms提供了open hybrid cloud解决方案,该云管理平台同时管理RHEV与OpenStack:
国内厂商中,严格按照CMP产品进行定义与推广的厂商为天云软件,其解决方案如下:
对于OpenStack / CloudStack / VMware / Docker / Hadoop上的私有云实施,该方案允许企业在任何OpenStack / CloudStack / VMware / Docker / Hadoop平台上自动化关键流程,从而缩短执行时间。这其中包括自助服务、带审批过程的工作流程、容量和利用率、配额、基于资源和业务两个维度的工作负载调度操作,为客户提供OpenStack / CloudStack / VMware / Docker / Hadoop工作负载的完整生命周期管理能力。同时支持异构虚拟化管理:VMware、KVM、Xen、Hyper-V、PowerVM、国内虚拟化软件红山虚拟化以及最新的Docker等。
对于公共云,天云软件的SkyForm CMP支持阿里云、联通沃云和AWS,允许组织利用阿里云、联通沃云和AWS作为其数据中心的扩展。它提供了阿里云、联通沃云和AWS工作负载的配置、容量利用率和生命周期管理,能将这些信息与其企业虚拟基础架构环境整合在一起,形成单一、统一的管理控制台。
SkyForm CMP提供重要管理功能(方便部署、操作简单),从而降低私有云和混合云基础架构的成本和复杂性;支持客户部署全局私有云,加速服务交付、提高灵活性、改善服务水平,并且最大化资源效率。
云管理平台or云平台,部署时你需要如何考虑?
概念清晰以后,企业在实施云计算项目时,该选取云平台还是云计算管理平台便较为容易选择了。
云管理平台的使用场景:
大型的企业IT数据中心,支撑较多的业务系统;
系统异构性较大,有多种类型服务器、存储、网络;
已经部署多种虚拟化平台,特别是以VMware为主的虚拟化,或者KVM+其他商业虚拟化平台;
已经实施了基于CloudStack、OpenStack云平台或者其他种类云平台,需要统一管理;
多个部门实施了多朵私有云,需要统一集成管理;
部分业务运行于公有云,需要与内部私有IT或者云统一管理。
这些则是云平台的选择:
数据中心规模较小;
设备异构复杂性不高;
针对相对单一的业务系统或者新建的业务系统;
更希望采取一种激进的技术手段重构。
总结
最后,通过对国外技术的研究与引进,再通过对国内企业云的发展现状与将来展望,我们认为企业云的发展趋势可总结为:
单一的云平台将逐渐走向细分领域,提供专一的服务,而企业云用户对云管理平台的需求将逐渐加大,通过云管理平台管理异构的硬件资源、虚拟化、云平台将是企业的最终选择。
Docker等Container技术的兴起,将形成全新的资源提供方式,以混合IaaS与PaaS形式更好地支撑业务;传统的虚拟机资源提供方式将逐步衰落,这也进一步推动单一云平台技术比如OpenStack或者CloudStack走向没落。
软件定义的方式将贯穿企业云的发展,同时应用支撑、业务资源调度将是IT发展的永恒趋势;IaaS管理范围越来越广,形成新的基础架构,PaaS调度能力约来越强,形成新的软件运行环境。
从IaaS发展的角度看,私有云与公有云将长期并存,中小企业以公有云支撑业务为主,大型企业以私有云支撑为主,但是混合云将逐步发展起来。
从PaaS发展的角度看,纯粹不带业务的PaaS平台,特别是公有PaaS,将逐渐消亡;同时紧密结合业务的PaaS,比如大的行业软件厂商PaaS化将是PaaS的发展之路。

收起
互联网服务 · 2017-10-23
浏览1811

提问者

wanggeng
系统运维工程师某银行
擅长领域: 服务器存储数据库

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-10-20
  • 关注会员:5 人
  • 问题浏览:4841
  • 最近回答:2017-10-24
  • X社区推广