陈 泳,高 昂
(1.中国电信股份有限公司广东研究院 广州510630;2.中国电信股份有限公司广东分公司 广州510081)
大数据技术自2012年爆发式宣传和进入企业应用以来,目前已在互联网和企业中广泛应用。著名IT咨询公司Gartner在新发布的2014年IT技术成熟度曲线报告[1]中指出,大数据从之前的炒作高峰已转向低潮期,应用领域已有多种较成熟和合理的解决方案,业务需求仍然很高,但已从引入和管理大数据,转为规模化、常态化地利用大数据进行更好的业务运营。
[2]概述了运营商企业的大数据发展策略,平台建设是5个策略之一,大数据在基础设施层面须共享和发挥规模集群优势,以大数据中心的形式进行集约化建设与运营。
目前国内企业的大数据应用大部分仍处于规模化部署运营初期,基础平台的建设运营包括硬件架构设计、软件平台规划、资源的共享与各类接口的规范制定,直接关系到大数据应用能否超越传统的数据仓库方案,低成本实现海量数据处理和挖掘数据价值,从而成功上线应用。本文对大数据的基础平台建设运营进行探讨与案例分析,旨在为规模化部署运营大数据应用提供参考。
大数据广为接受的4V(volume、velocity、value和variety,分别代表海量、快速、价值密度低和多变)特点和新兴技术的生态状况带来了大数据应用与传统IT应用的如下3个差别和特点。
·分布式架构:利用廉价软硬件分布式集群,解决海量数据的存储和处理,实现高度的弹性可扩展和冗余可靠性,单节点故障是预期的常态现象。
·基础平台生态:Apache开源软件基金下的Hadoop平台框架成为大数据的事实技术标准,围绕周边的还有基于Hadoop平台的延伸软件产品方案、开放的x86服务器平台和存储/网络方案,开放的软硬件平台带来众多产品供应商,如广泛使用的Hadoop发行版本CDH、众多的x86服务器厂商等。
·平台化建设运营:大数据应用都是建立在硬件资源管理层、分布式文件系统、数据处理层等有机组合的平台框架之上的,有很强的通用性和互操作能力,但平台版本和新的软件方案发展很快,对规划运营带来较大影响。
上述特点,说明基础平台包括硬件架构、软件平台的选型、集成以及相关的运营方法,对大数据应用成功部署和发挥价值所起的关键作用。目前国内知名互联网企业已搭建了海量规模的大数据基础平台,基础平台的规划运营有成功实践。
以腾讯公司分布式数据仓库(TDW)集群平台为例[3],该平台的建设驱动力在于整合已有的多个大数据集群,实现数据和资源共享,通过规模化部署和弹性管理,更好地发挥大数据应用的价值。目前TDW集群的服务器节点数量超过8 000个,硬盘数量超过50 000个。在TDW大数据基础平台的建设运营中,腾讯公司对Hadoop开源平台进行定制以满足海量规模集群下的资源和任务调度要求,并实现特定的业务需求,确定节点硬件配置保证投资性价比最优,实施海量集群的集中监控,设备出现故障时可以自动隔离和通知,定期批量维修。这些基础平台的规划与运营工作,直接关系到TDW平台能否成功应用。通过有效的软硬件规划和运营流程设计,TDW平台成为腾讯公司大数据应用的核心基础。
目前运营商企业中的大数据应用,很多仍是分省建设,各自摸索基础平台建设方案,除个别发达省份外,实际上线的大数据业务应用数量不多,集群规模较小,技术积累、研发与运营经验存在欠缺。今后运营商的大数据应用趋势是全网或大区集中而不再分特定地域,集群规模、数据模型和软件平台需要统一规划,与现有分省建设大数据应用有非常大的区别。目前运营商大数据基础平台的规划,对今后规模化发展有较大影响。
本文总结了中国电信股份有限公司部分省公司的成功经验,结合当前技术趋势,给出大数据基础平台规模化建设运营的思路与方法论。
基础平台目的在于提供集约管理和池化运营的基础能力,实现软硬件资源的共享和快速提供,为大数据应用提供高效和灵活的基础平台。根据当前主流的大数据技术架构,基础平台可划分如下5个功能层面,为各类大数据应用提供共享的基础服务。
·资源管理层:承载各类负载的硬件平台及资源的动态分配,包括服务器、存储、网络、资源调度。
·数据存储层:提供海量数据的分布式存储,大数据应用主要是使用Hadoop框架中的HDFS。
·数据处理层:提供大数据并行计算基础服务,主流的并行计算框架包括Hadoop平台的Map Reduce框架及之上的Hive和新兴的Spark框架等。
·接入层:为前端应用界面提供访问接口,为后端服务提供负载均衡,当前主流为REST风格的HTTP访问接口。
·平台管理层:提供安全、监控、配置、容灾切换等基础管理。
图1给出了一个电信运营商大数据集群基础平台的逻辑框架。
大数据基础平台建设运营应结合业务需求和持续发展的技术趋势,对上述5个功能层面选用合适和符合发展趋势的软硬件平台并定期更新,根据生产、测试、研发等用途规划配置不同规模的集群,基于可扩展可维护、安全性、稳定性、持续演进的原则,逐步扩大基础平台规模,保证总体演进的平滑和可靠,从而构建规模化可扩展、安全稳定和持续演进的大数据基础平台。前述几个大数据基础平台建设运营原则的具体说明如下。
·可扩展可维护:Hadoop平台本身提供了较好的存储和运算扩展能力,但需要合理的集群规划以保证资源的有效利用和平台的可用可维护,包括软件平台版本的统一、功能节点的规划、HDFS数据块的大小设计、服务器机架和网络拓扑规划等。
·安全性:运营商大数据应用大多涉及客户隐私数据,需规划实施认证框架、角色配置、实时监控、审计日志、网络隔离等技术和运营流程,保证数据安全性。
·稳定性:廉价软硬件平台的故障是常态化现象,在平台规划和运营中必须包含软硬件故障监控,使用剔除单点的软件版本和部署方案,应急预案中需包含集群重启和数据重建。
·持续演进:大数据软硬件技术都在持续和快速发展,包括新的版本和新的产品,例如可以运行在Hadoop平台的Storm实时数据处理框架、定制高密度服务器等,解决了困扰大数据应用和发展的瓶颈,在大数据基础平台规划建设中,必须定期评估技术趋势发展和适用情况,及时应用成熟的新版本和新技术。
下面将以实际案例的形式,介绍大数据基础平台的具体建设与运营方法。
以中国电信股份有限公司广东分公司(以下简称广东电信)大数据基础平台的逐步建设完善为案例,说明其建设运营的思路和方法。
大数据应用及其基础平台的引入和持续完善,涉及IT基础架构的根本改变,需要有充足的驱动力和合适的策略,以克服技术变革必然带来的阻力和新系统初期的不完善不稳定。广东电信自2012年起开始将大数据技术应用在通话清单查询系统,初期的驱动力在于解决传统IOE商用基础架构越来越不适应业务发展的瓶颈以及掌握大数据应用的研发、部署建设和运营能力。
随着清单查询大数据应用及基础平台的持续完善,建设和运营大数据基础平台的驱动力变为快速接入新的大数据应用,共享软硬件资源和统一高效的运营管理,规模化和规范化运营管理大数据应用。陆续接入的账单查询、话单采集和预处理、财务量收报表等业务系统,越来越体现大数据基础平台的价值,大数据的研发运营进入良性循环。
广东电信在建设、运营大数据基础平台过程中,通过以下的策略降低研发和运营的风险,逐步锻炼提升能力,保证了新技术的成功应用。
·迭代完善:互联网思维的一个体现,不追求一步到位的架构改造,使用快速见效、新技术和传统技术结合的混合架构,在新系统研发运营管理上使用互联网企业广泛应用的敏捷模式,降低研发运营的风险,通过小步快走的微创新,持续优化系统架构,最终达到高效、可用、弹性、便利等目标。
·业务驱动:选取业务需求迫切、传统技术方案无法满足需求的系统作为新技术应用的切入,合适的大数据技术可带来明显的优势,包括成本、性能、扩展性等;强烈的业务需求带来充分的系统使用反馈和显著的业务效益,对大数据应用和基础平台的迭代完善非常重要。以广东电信首个大数据生产应用——通话清单查询系统为例,该系统业务需求和业务负载都较大,清单数据随业务发展持续增加,网上营业厅、掌上营业厅等新渠道也增大了系统业务负载,原有的商用基础架构采购和扩容成本高,系统性能和用户体验随数据规模增加而显著下降,现有的大数据技术对该类业务场景有比较成熟的解决方案,与原有基础架构相比,有明显优势。
图1 大数据基础平台框架
·规模化统一规划:企业内大数据相关的技术资源较为稀缺,包括研发运营团队和需要集群化部署的基础平台,统一规划和规模效应才能体现大数据应用在总体成本、海量数据存储和处理的优势,统一的团队也有助于集中解决大数据研发和运营遇到的问题。
前文介绍了广东电信大数据基础平台的总体发展过程,本节详细说明在大数据基础平台初始引入和进入规模化建设运营两个阶段的平台建设整体情况。不同阶段的工作侧重各有不同,循序渐进地实现了大数据的成功运营。
在没有大数据研发运营经验的初始引入阶段,广东电信大数据基础平台只承载单个应用,服务器节点数较小,所用的基础软件平台相比于更为成熟的开源软件产品,自身的管理能力较为简单,平台建设目标是稳定承载应用,逐步掌握大数据应用的运营方法。本阶段的总体规划建设步骤如下。
(1)根据业务需求选取合适软件平台
清单查询数据模型和功能简单,业务需求主要为非功能性的高并发、数据量大、月末出账海量清单入库、实时查询返回等,由此确定选用较为成熟的开源大数据和相关的软 件 平 台, 包 括:Hadoop(HDFS、MapReduce、HBase、ZooKeeper)承载主要的存储和运算,Ganglia分布平台监控系统,Nagios硬件监控和告警,Jetty中间件提供JSON数据访问服务。
(2)根据业务规模和业界状况选取合适硬件
统计全省月清单数据量、业务要求的入库和查询时限、查询并发量,以业界主流x86服务器运行HBase的入库和查询效率,估算需要的Hadoop应用主机和需配备的磁盘数量,最终的基础平台服务器配置见表1,均为2路机架服务器,操作系统均使用开源的CentOS Linux。
初始阶段的大数据基础平台经过两年多的运营,成功摸索出研发—运营相结合的建设运营模式(第4.3节中说明),熟悉大数据应用日常运营的各项管理要求。在此基础上,逐步把适合迁移到大数据平台的话单采集和预处理、财务量收报表、积分查询、CRM历史订单查询等应用,实施第二阶段的应用改造和基础平台规划。
在第二阶段的基础平台规模化建设运营中,提出了“平台先行”的策略,目标是使用共享的大数据基础平台,统一承载和管理后续的大数据应用,实现高效、安全、便利和规模化运营的基础平台目标。本阶段统一规划和研发部署了角色授权、应用接入申请、资源监控和分配等平台管理层功能模块,完善基础平台的管理能力,同时根据业务需求和各类基础软硬件的发展情况,补充了基础平台中的服务器型号和软件平台。
由于大数据应用的陆续接入,本阶段基础平台的服务器节点数已扩展到超过160个,在服务器选型中补充完善了采购规格,把已逐步成熟和完善的高密度服务器纳入其中,以提高机房的空间利用率,具体见表2。
在软件平台规划上,对不同的业务应用划分为事务型和批处理型两种类型,规划两类软件集群以实现不同的硬件配置和软件优化,增加MySQL、Redis、Kettle等软件平台,满足特定业务需求。控制各个集群数量和统一软件平台版本,实现业务应用的规范化、业务数据共享、减轻版本控制和监控等运营工作量。在接入层统一规划和实施提供REST风格接口的业务引擎,使用基础平台的应用都需要遵守预定的接口规格。
表1 基础平台初始阶段服务器配置
大数据基础平台运营与传统的企业IT系统运营有很大不同,根本原因在于大数据使用廉价硬件和分布式软件平台,而传统的企业IT技术架构则依赖高端和商用软硬件平台,两者的运营差别体现为以下几点。
表2 基础平台服务器配置规格
·高端硬件与廉价硬件集群在节点数量上存在非常大的差别,大数据应用的处理节点数量大大增加,自带的管理功能则普遍弱于商用平台,对运维工具提出更高的自动化要求。
·大数据所用基础软件平台以开源为主,开源软件大多无官方技术支持,运维人员需了解开源软件内部机制才能有效运营;同时开源软件自身有很大的定制潜力和适用场景限制,系统研发人员需要了解业务需求和存在问题,选用和定制开源软件,这些开源软件特点需要研发—运维一体化的机制。
·开源软件版本变更频繁,软件平台升级是常态,需要高效工具和流程。
基于上述差别,广东电信在大数据基础平台中采用平台运维、应用研发一体化运营模式,类似软件开发中的敏捷模式。运维与研发两个职能团队相比传统的运营模式,沟通和配合更为频繁和紧密,工作地点尽量相近以确保现场面对面沟通的便利。
具体的运维、研发团队的分工如下。
·平台运维人员职责:负责平台安装部署和版本升级,监控系统状况、应用接入管理、业务配置变更、业务故障响应,基于对开源软件的理解大致定位问题所在,并与研发人员沟通。
·应用研发人员职责:系统代码开发、代码缺陷修复,了解业务需求和生产环节故障,定制完善开源软件。
·双方共同完成的职责:平台架构演进、业务需求分析、数据模型分析。
为提升知识共享能力,建立了专家知识库的机制,记录平台运营各类问题的解决方法以及各种开源软件的使用方法、注意事项。
广东电信规划建设和运营大数据基础平台后,在系统投资同比基本持平的情况下,系统架构的弹性大大增加,可以更从容应对数据规模和业务需求快速增长的考验,系统响应效率逐步提高;摆脱了之前对高端软硬件的过度依赖,由于性能和数据在线时限的提升,客户感知有显著改善;运营—研发一体化的模式,促进了业务需求的快速实现和交付,运维效率也大大增加。
以广东电信各个BSS统一调用的账单查询和更新平台为例,使用基于Hadoop平台的大数据技术,由传统的IOE基础架构改造为账单云平台,通过大数据基础平台的资源分配、权限和接口管理等流程接入公共平台运营。相比之前的传统高端商用基础架构,使用新的账单云平台后,原来的BSS J2EE应用节点峰值运算负荷降低约30%,释放了Oracle数据库约2000个连接,普通公众客户的账单服务其平均响应时间为140 ms,涉及多个产品实例的政企客户也可以进行实时的账单查询。数据存储和处理能力的弹性扩容,可实现账单数据永久在线而基本不影响用户体验,扩容成本较之前的商用架构极大降低,数据的冗余存放也满足企业的可靠性要求。
目前广东电信大数据基础平台存在的不足,主要使用的Hadoop/HBase/Hive平台框架适用于批处理场景,对于实时计算、交互式计算不太适用,无法满足后续企业级大数据平台的多种业务场景要求;大数据应用集约化程度有待进一步提高,基础平台的规模与运营能力,与互联网企业相比,还有较大的差距。
本文结合运营商企业大数据平台现状,总结了与传统企业IT应用有较大差别的大数据基础平台建设运营思路和方法,涵盖了基础平台选型与集成,基础平台运营设计,旨在为企业规模化建设运营大数据应用提供参考。
大数据基础平台是云计算的一种形式,通过共享的基础设施和相应的运营流程,实现了软硬件资源的高效利用、业务应用的快速提供,为客户提供更优质服务,从而提升企业的整体市场竞争能力。
参考文献
1 Gartner.Gartner’s hype cycle special report for 2014.https://www.gartner.com/doc/2816917,2014
2 黄勇军,冯明,丁圣勇等.电信运营商大数据发展策略探讨.电信科学,2013,29(3)
3 崔艳堂.腾讯大规模Hadoop集群实践.程序员,2014(2):99~103
4 中国电信集团公司.分布式平台实施技术指南,2014
5 中国电信股份有限公司江西分公司.Hadoop平台规划方案V2.0,2014