jxnxsdengyu
作者jxnxsdengyu2017-06-12 16:34
系统工程师, 江西农信

企业为什么要实现统一管理异构开发测试云?---云计算异构平台统一管理的优势、可能性分析及误区澄清

字数 5599阅读 15388评论 1赞 6

【摘要】:过去十几年,企业一直在孜孜不倦地追求更高的软件开发效率、更快的软件交付速度以及更高的软件交付质量。而随着云计算的飞速发展,云计算为企业带来了强大的敏捷性、灵活的横纵向扩展性以及高标准的部署规范性等,这些优点在开发测试云计算的运用当中,表现尤为突出。然而企业对于是否需要实现统一管理的Power和X86开发测试云,依旧存在些许不同方面的异议,本文旨在帮助企业了解开发测试云异构统一管理的优势之处、并进行针对性的可能性分析,同时澄清两个常见的认识上的误区。

【关键字】:云计算 开发测试 统一管理 异构
随着技术的进步和IT理念的更新,越来越多的企业已经认识到了云计算带来的种种好处,逐渐开始接受云计算的思维模式,并着手建设企业自身的开发测试私有云,为将来上生产私有云打好坚实的基础。然而企业在私有云建设过程中,由于云计算较传统的物理计算有着较大的理念差距,云计算的各种概念也较多,加之某些云计算厂商不大合理的鼓吹与宣传,往往会造成企业理解上或多或少的困恼,其中之一的困恼便是企业到底要不要实现统一管理的异构私有云?本文将在这个困恼点上给予企业一些力所能及的小帮助。

首先,为了帮助企业架构师更好的理解本文的内容,这里列举一些与本文相关的,云计算的基本概念:

云计算的两种服务形式:
IaaS:基础设施即服务。所谓IaaS实际上是指将硬件基础平台作为一种服务,交付给用户。
PaaS:平台即服务。所谓PaaS实际上是指将软件基础的平台+硬件基础平台作为一种服务,交付给用户。

云计算的两个基础平台:
硬件基础平台:计算资源(Power/X86)、存储资源(DAS/NAS/SAN)、虚拟网络资源(Vlan/IP)。
软件基础平台:中间件资源(Was/Weblogic/MQ/IHS/MB等)、数据库资源(Oracle/DB2/MySQL等)、其他软件资源(监控/备份/用户/自动化/安全加固/Java等)。

云计算的三个虚拟化层次:
虚拟化技术:通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。常见的虚拟化技术如:PowerVM、Vmware、Kvm、Xen和Hyper-V等。

虚拟化管理平台:虚拟化技术实现了Power和X86平台物理机的虚拟化,但各个虚拟化主机相互是独立的,无法实现统一的管理、资源分配、调度和监控等目的,也没有自动化部署的功能。所以为了实现以上的需求,引入了虚拟化管理平台的概念。常见的虚拟化管理平台如:PowerVC和VCenter等。

统一云管理平台:Power虚拟化管理平台和X86虚拟化管理平台的之下的两个云体系,如同两朵独立的云,互不干扰,独立运作,不是一个有机整体,缺乏服务级别管理、流程管理、监控管理、虚拟机全生命周期管理和计费管理等高级功能,也无法实现更高级别的PaaS云,无法实现软件基础平台级别的服务,所以在虚拟化管理平台之上,又引入了统一云管平台。

理清了以上的基本概念,那么我们再进入到下面3个问题:

什么样的企业开发测试云适合考虑异构平台的统一管理?
(1)先来谈谈异构存在的必要性:
异构分计算资源异构和存储异构,计算资源异构主要可按以下几个点分类:
按平台:X86、Power
按OS:X86Linux、X86Windows、PowerLinux、PowerAIX
按厂商:DELL、浪潮、曙光、华为、IBM、联想等
按虚拟化:Vmware、Kvm、Xen、Hyper-V、PowerVM等

存储资源异构也可按厂商、性能、可靠性、架构、种类等分类。在企业实际的IT基础架构中,也可以看到各种各样异构的存在,这是偶然吗?不,这是必然,因为异构可以加剧厂商竞争,在一定程度上降低了企业IT建设成本,同时异构也能降低全局性灾难性风险,避免单一厂商的绑架风险,所以企业需要异构。站在云计算角度来看,企业可以借助云计算来实现资源异构的统一管理和软件版本控制与规范,但同时异构也对开发测试云平台的纳管能力、包容性和灵活度是一个很大的考验。

(2)再来谈谈在企业开发测试云中,异构统一管理是否是必要的:
根据第一点的阐述,由于异构是必然存在的,而云计算其中之一的特性就是统一性,我们可通过X86虚拟化管理平台实现异构的X86计算资源和相应存储的统一管理,也可通过Power虚拟化管理平台实现异构的Power计算资源和相应存储的统一管理,这两个统一管理在开发测试云中是“可能必要”的,为什么说“可能必要”呢,因为企业可能仅仅只是单一存在X86平台计算资源或者Power平台计算资源不需要云化,所以企业仅仅需要一个X86统一管理即可,对于这样的企业来说,当然不需要异构平台的统一管理。倘若排除掉这个特殊性,对于既存在X86平台又存在Power平台计算资源的企业来说,要不要实现这两个统一管理的融合呢?我们认为要,以金融行业的企业来说,金融企业都是以追求最大的稳定可靠性为第一目标。这决定着金融行业企业的生产环境绝大多数以Power平台服务器为基础,X86平台服务器为多样性拓展的整体架构,开发测试环境也因此亦如此。虽然有部分企业的应用系统也逐步开始转X86平台,但Power平台却是始终承载着金融企业关键的业务系统,好钢用在刀刃上,所以Power平台的命脉地位不可撼动,至少在未来很长一段时间内,Power和X86是共存的状态。有了这样一个前提,金融企业开发测试云一定是包含X86云和Power云两个部分的(这里的“Power云”暂时不考虑这个云是“物理机云”还是“虚拟化云”,后面会解释)。倘若实现了这两朵孤立的云的统一管理,对于企业有着以下五个方面的意义:

异构共存:Power和X86和谐、统一、共存。
强化管理:借助云平台实现资源容量管理,提升架构管控力度;借助云平台统一模板,有助于生产和测试规范的统一。
提高效率:能够助力实现更高级别的PaaS级云服务,进一步提升部署效率。
降低成本:通过云平台统一维护、管理Power和X86资源池,结合自动化运维,降低运维成本。
统一门户:云平台作为统一门户,管理Power和X86资源,实现云平台与企业内部各平台间的流程对接与数据共享。
基于以上的分析,我们可以看到,对于企业有Power和X86平台共存需求的,异构平台统一管理的“五个意义”与企业自身IT基础架构战略规划相契合的,都可以考虑开发测试云的异构统一管理。

和Power与x86分开管理相比,开发测试云实现异构统一管理的好处是什么?
这个问题实际上是上面问题的延伸,也就是异构平台(Power和X86)计算资源的统一管理和分开管理有什么区别和好处?前面也提了五个方面的意义,为了更直观展示两者间的区别,这里详细对比如下:
111111.JPG

111111.JPG

通过对比发现,统一云管理除了建设成本较分开管理略有增加之外,在部署能力、资源管理能力、高级功能、规范约束力四个方面的优势是分开管理(虚拟化管理平台)无法比拟的,在运维成本上由于统一管理可以在资源部署阶段既实现了软硬件的安装与配置,其中也包括自动化运维软件的安装与配置,其对自动化运维工具的依赖只是在于日后的自动化变更与处理等方面,其实云计算统一管理也是自动化运维体系的一部分,它与自动化运维工具或者软件是相互相成的关系。而分开管理时无法做到这一点的,需要更大程度的依赖于自动化运维工具或软件,他们之间是独立的个体。总结起来,可以说云计算统一管理是站在了虚拟化管理平台的肩膀之上,更高层次的云计算战略规划目标。

如何实现异构平台的统一管理,有哪些可能性?
对于云计算的建设路线,我总结了下,目前大致存在三条路线:
(1)在原虚拟化的基础之上,采用现成大厂商提供的各级(IaaS、PaaS、SaaS)云管理平台产品,进行虚拟化的统一接入和统一管理。
该路线可以理解为“商用软件路线”,它的优点是:实施周期短,开箱即用,对于企业自身IT人员的素质要求不高,主要是用户和软件运维人员两种角色。并且对于商用软件的维保,可以通过商务的方式转嫁部分风险。它的缺点是:容易被厂商绑定,兼容性差,定制化差,随着规模的扩大,商用软件的成本也随之增加。
(2)在原虚拟化的基础之上,利用标准开源的框架,如Openstack,Kubernetes,根据企业自身需求,量身开发属于自己的云计算需求。
该路线可以理解为“开源私有云路线”,它的优点是:软件代码自助可控,平台兼容性、定制化能力强。它的缺点是:需要具有大量的人员和财务投入,并且是持续不断的投入,人员素质和财务需要跟上,同时另一方面,由于开源产品的版本迭代快,健壮性不够,方向性不明确,这样带来的纠错成本很高。并且开发、维护都由自身完成,无第三方风险转嫁。
(3)在原虚拟化的基础之上,从基础框架到软件需求全部根据企业自身需求,量身开发,更加贴切企业实际,安全系数高,可靠性强。
该路线可以理解为“研发私有云路线”,它的优点和开源私有云类似,比如代码私有可控,兼容性和定制化能力较开源私有云更强,完全自主化、无任何商业绑定等。但它的缺点也很明显:软件开发测试周期过长,需要大量的人员和财务上的投入,包括研发投入和运维投入,对人员素质要求太高等。
我们可以看到,为了实现异构平台的统一管理,其实是有三条选择的路线,但是其各自有各自的优点和缺点,并且每条路线也是有多种思路和方案,为了让大家更直观的选型,我这里简单介绍一种“商用软件路线”的可能性,给大家提供些许参考:

选型原则:
大部分商用软件其实都是基于开源私有云搭建而成的,需要选择尽量接近原生的OpenStack商业发行版,这样可以弱化商业化功能的封装,紧密结合OpenStack社区。
要求该商用软件尽量开放,具有丰富的OpenStack接口,能够支持在此之上的OpenStack的二次开发,这样也提高了商用软件的定制能力。
商用软件提供厂商的行业经验和支持力度要到位。
对于软硬件编排方面,需要敏捷、灵活、多样的服务编排功能,提高基础架构编排能力。
该选型原则充分考虑了商用软件和开源私有云的优势结合,通过商用的方式减少开发测试云的建设成本,将来亦可通过开源的方式增强开放性和功能定制能力。

选型方案:
X86虚拟化:Vmware、Kvm、Xen、Hyper-V等
Power虚拟化:PowerVM
存储虚拟化:SVC存储虚拟化
Power虚拟化管理平台:PowerVC
X86虚拟化管理平台:Vmware、IBM Cloud Manager(ICM)
异构平台统一管理(统一云管平台):ICM/ICO

最终的云计算架构图,如下图所示:
121.jpg

121.jpg

注:Kvm域控制服务器、Vmware域控制服务器和Power域控制服务器均是ICM,Vmware域控制服务器接管了VCenter,ICM直接接管Kvm虚拟化。

最后,澄清一下常见的两个云计算方面认识上的误区:

有了虚拟化云管理平台,就不需要实现异构计算资源的统一管理?
【解答】首先我们需要明确一个前提,在金融行业,计算资源异构是一定存在的,Power和X86在将来很长一段时间将共存,在这样的前提下,对云计算的建设,我们需要建立两个平台的云计算平台,也就是Power资源池+Power虚拟化管理平台,和X86资源池+X86虚拟化管理平台,有了这两个虚拟化管理平台,误区认为:我们不需要再往上继续建立统一的异构计算资源管理平台,各管个的岂不更好?还减少统一管理带来的全局性风险,这个误区点在于:过分夸大了虚拟化管理平台的功能和作用。前面我们也讲了Power和X86平台分开管理和统一管理的对比,结果表明,虚拟化管理平台并不是万能的,仅仅是一些基于模版的自动化部署工具和功能不大齐全的管理工具而已,并且虚拟化管理平台仅仅能实现IaaS层的部署,再往上的一些PaaS层软件服务编排和云计算的高级管理功能也没有,这些对比,前面也讲的很清楚,这里也不再赘述。所以为了实现更高一层的PaaS 云,实现更高级的统一云计算功能,我们必须将异构计算资源统一管理,否则两朵孤立互不相干的云,能称作云吗?

Power服务器比较少,就不需要做Power测试云或生产云?
【解答】Power服务器少,并不代表Power服务器中的虚拟机个数少,并不代表Power服务器中的虚拟机变化少,诚然,Power服务器少,并且虚拟机个数少,部署之后也基本没变化,我们也不会考虑上Power测试云或生产云,因为没必要,即使是虚拟化环境,手动部署一个虚拟机也花不了多长时间。但在如今,单台Power服务器资源非常高,能容纳的虚拟机个数也越来越多,Power服务器的集中化程度越来越高,倘若是放到开发测试环境,虚拟机的生命周期非常短,项目上线快、迭代快、为了保持最干净的开发测试环境,往往采用快速部署新的虚机开发测试新的应用,逐步替代老的环境,直至被清除,这种理念生产环境也是可以考虑和利用的,这一理念在国外早就开始萌芽盛行,在这样的背景前提下,Power云是势在必行,因为云不仅仅提供的数量上的规模化,更多的提供了自动化、快速化、服务化的功能,能够快速满足敏捷开发测试的需求,倘若不采用Power云,面对这种虚拟机的快速变化,即使服务器数量少,在人员数量不多的情况下,我想也难以招架。另外一点,Power云的高级功能包括与Power Enterprise Pools、PowerHA和LPM的紧密集成和联动也是我们选择上Power云的动力,这些功能为企业交付了升级的系统高可用性保障,助力企业实现在整个云环境资源中的资源调配,为企业的私有云架构带来更强大的自动化能力。所以,我个人认为Power服务器比较少,就不需要做Power测试云或生产云是一个认识上的误区。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论1 条评论

wuwenpinwuwenpin软件开发工程师, 南京
2017-11-23 20:55
受用,学习了。
Ctrl+Enter 发表

本文隶属于专栏

趋势观点
本专栏的文章全部来自国内外行业或领域一线最强实践专家的深刻洞察,他们的分享如同为正在摸索前进的更多同行和企业带来一盏明灯。他们的观点也为企业迎接趋势挑战、克服各种困难提供了最好争议的标的。希望有更多一线最强实践专家加入趋势观点栏目,你们是推动中国企业IT应用最值得尊敬的人。

作者其他文章

相关文章

相关问题

相关资料

X社区推广