随着IT技术的发展,各行各业的产生的数据正在以爆炸性的速度增长。为了从这些数据中挖掘出可用的信息并进行持续应用,数据分析变得越来越重要。数据分析使决策变得更加准确和精细,近年来已经逐渐发展成为一个重要的IT技术方向。
云计算技术的发展使得计算资源逐渐集中化、虚拟化。怎么高效、可靠的运营这些云计算平台上的资源就变成了一个重要的课题。本文主要介绍应用数据分析的方法来分析私有云平台的系统容量和资源使用率,进而在提高资源使用率、平衡系统负载和控制进一步资金投入方面提供详细的决策支持。
一、私有云平台运维中的痛点和挑战
在各行各业都在进行私有云建设的今天,在企事业单位中负责私有云平台运维的部门也在承受着来自各个方面的压力。业务部门总是不断地要求更多的资源,更快的部署节奏;财务部门则会要求不断地降低成本,尽量使用已有资源;私有云的运维部门则需要寻求适当的方法以在两者之间达成平衡。
与公有云按时间计费的方式不同,一般作为企事业单位内部建设和使用的私有云并没有成熟的计费体系,而作为资源使用者的一般员工对于成本更是不太关心。这就会导致一方面员工闲置了大量资源,而另一方面员工又在以各种业务需要为名义不停申请新的资源,进而导致私有云的运维部门总是感觉资源紧张而要求增加投资,财务部门则会感觉私有云是个需要不断投入的无底洞。
二、以数据分析为基础的私有云平台优化系统概况
为了切实解决上述问题,我们需要一种有效的可度量的技术手段。而数据分析正好为我们提供了一种系统性的解决上述痛点和挑战的方法。如图1所示,基于硬件系统和虚拟化平台之上的监控系统 (Universal Monitoring) 为整个优化系统提供关于私有云平台的各种资源利用率的数据来源,同时在这一层动态生成虚拟机资源配置信息数据库(Federated DB)。在此之上以数据分析的方法和相关软件对监控系统产生的数据进行分析,并以分析结果生成关于资源利用率和系统容量的报表(Dashboard &Report)。最后根据报表进行资源优化调整和进行进一步投资的决策(Optimization)。这样就形成了一个完整的私有云平台建设和维护的循环:从投资到云平台建设,再到监控现有平台资源并分析资源使用情况,最后生成报表并采取优化措施和决定是否进一步投资。
图1:私有云平台优化系统系统架构图
三、以数据分析为基础的私有云平台优化系统详细介绍
3.1 系统监控
系统监控的目的是将所有系统资源配置和使用的情况置于集中统一的监控之下, 而监控系统会产生大量时序的监控数据,这是我们后续进行数据分析的数据来源。系统监控可以使用成熟的商业软件如IBM Tivoli Monitoring(ITM)来达成这个目的。关于ITM在虚拟化环境中的部署可以参考文章(应用IBM Tivoli实现虚拟化环境的监控http://storage.it168.com/a2011/0106/1147 /000001147294.shtml)。现在也出现了一些开源的软件如Nagios, Cacti, Zabbix等,但开源软件在不同平台的适用性方面还需要做大量的定制才能达成目的。
3.2 Federated DB
Federated DB的目的是根据监控系统生成的配置数据生成云平台中统一的配置信息数据库,同时配置信息数据库会与资源所有者等信息进行关联以达到人、资源、配置等信息同步可查。
3.3 数据分析
数据分析是指通过技术、技能和实践来持续探索和研究既往的业务数据从而获得洞察力以驱动新的业务规划。 可以运用IBM SPSS Modular对监控数据进行处理,根据不同的技术指标(如物理机CPU, 物理机内存,物理机Disk, 虚拟机CPU, 虚拟机内存等)进行分析及按照时间序列进行预测。找出不同物理机、虚机的资源利用率曲线及未来趋势。同时开源的R语言也可以通过一定的编程达到上述目的。