IT运维软件的技术演进

这是最好的时代,这是最坏的时代……

对IT领域来讲这句名言非常适合,这是一个技术革命的时代,各种新兴技术应接不暇,但这也是一个未知的时代,技术的潜在问题、演进方向风险未知,运维人员既需要及时对IT系统进行有效监控和管理,同时又需要使用最新的IT技术来应对无论数量、可靠性、扩展性等各方面的挑战。融合监控、流程、自动化的一体化运维平台是运维领域必然的趋势,围绕融合运维的容器、数据分析及虚拟现实展示技术正在登上历史舞台,学习、理解、尝试各种新的技术和工具使运维人需要时刻保持接纳新知识的状态,但更为有价值的是基于不同的运维环境、业务需求和技术路线在形形色色的新技术领域选取适合自身发展的技术或工具,并利用这些工具或技术有机结合支撑运营管理目标,并持续优化运维能力构建。

IT运维概述

随着企业信息化建设的不断深入发展,信息系统越来越复杂,业务对信息系统的依赖程度也越来越紧密,IT运维对IT系统的管理也由最初的完全依靠技术人员的个人能力转变为流程化、标准化、自动化的管理。


为广大运维从业人员所熟知的ITIL自发布以来,已经在全球IT服务管理领域得到了广泛的认同和支持,成为IT运维公认的事实标准,世界各大IT管理解决方案提供商都提供相应基于ITIL最佳实践的IT服务管理的软件和解决方案方案,如IBM Tivoli、BMC Remedy、H3C U-Center等软件套件。


近年来各种IT技术日趋成熟、运维管理规模和复杂度越来越高,业务融合、管理自动化等方面的要求越来越高,同时近年来IT领域新技术飞跃发展,尤其是云计算、移动互联、大数据等新兴领域带来的技术创新,为IT运维领域带来了从方法论到技术层面的新机遇和挑战,推动IT运维管理迈上新的台阶。


运维业界面临的新挑战和机遇主要体现在两个纬度,一方面ITIL在互联网领域实践中,与新兴的容器/微服务/持续交付等技术碰撞,不断演进,DevOps概念出现并迅速普及;另一方面,IT业务运维也从基础设施的管理层面逐步转变为以业务为中心的融合运维。并引入容器、大数据、虚拟现实等成熟技术,使得IT运维的海量设施管理、智能化、自动化、虚拟现实化成为现实,本文将就这些新技术,新方法和工具作一个概览性的引入。

DevOps企业应用

DevOps(Development和Operations的组合)是一个方法、过程与系统的统称,基于敏捷与精益原则的方法。用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。这种协作可以提高应用的开发速度,减少开发和运营之间的摩擦,从而快速部署软件或应用程序,并且可以快速检测。


DevOps强调流水线,交付管道,从开发到IT运维再到客户的整个工作流。可以通过看板、持续构建、集成以及部署、按需创建环境等方法对运维的整个目标进行优化,提供稳定、安全并可靠的IT服务。


DevOps的核心价值在于能够帮助企业快速交付变更,助力企业软件或者应用交付效率的提升,并实现数字化运营,最终实现快速响应企业对于市场的变化、用户的需求。


DevOps最早、最成熟的应用实践来自于互联网领域,完美的实现了数以万计的基础设施分钟级甚至秒级的业务变更,有效保证了海量应用的快速上线、开服。随着DevOps的成功实践,相关概念和技术不断向各个产业领域进行深入普及。然而,行业领域差异巨大,管理方式以及技术领域都有自己重点关注的内容,照搬互联网DevOps方案很难落地,需要针对企业场景,基于灵活的编排平台,封装全面的自动化部署框架,预置丰富的动作及任务,快速完成企业关注的合规检查、系统安装、容灾、配置部署等自动化工作。

业务融合运维趋势

SDN、虚拟化、云计算、开源技术的蓬勃发展,给IT人无限的想象空间,但对IT运维人员来讲,以前管理的一台机器,现在变成了数十台虚拟机,而且会变化会迁移,一个固定网络会切割成多个虚拟的网络,IT系统需要多种资源混合支撑,计算、存储、网络资源的界限越来越不清晰,同时ITIL/DevOps的演进,企业IT管理维度转变为纵向的业务视角,目标是以业务为中心去审视基础设施对业务的承载能力,融合多种基础设施统一监管控平台、流程平台和自动化平台是运维管理趋势。


由过去割裂的横向分层管理演进到纵向面向业务的融合管理并不是一蹴而就的,首先需要完成基于ITIL的基础设施的治理,即建立以CMDB为核心的IT服务平台,CMDB存储与企业IT架构的各种配置信息,与ITIL各流程紧密关联,支持这些流程的流转,同时与监控平台和自动化平台实现数据拉通,同步数据,形成一体化运维平台,为纵向业务支撑提供运转基础和分析决策的依据。

监控平台需要实现对企业IT所有基础设施的统一管理和监控,包括对多厂商网络设备、存储设备、服务器硬件、操作系统、虚拟化以及应用系统和中间件的状态监控、性能监控、日志分析、告警监控能力,同时需要与CMDB进行数据拉通,配置项监控数据变化及时同步CMDB数据库,告警信息触发流程平台自动产生故障工单。自动化平台则提供对基础设施的自动化编排、自动巡检、脚本自动下发等自动化工具的集合,减轻人工运维负担,提升运维效率。


以业务为中心,基于CMDB融合监控、流程和自动化的运维平台,可以为企业IT提供强大的运维保障能力。围绕业务进行建模,注入CMDB各CI属性及关系,监控平台触发事件,不仅对事件进行智能分析和过滤,同时结合CMDB中的CI模型对故障涉及的CI项进行业务影响关联分析,需人工干预事件流转到流程平台接收和跟踪事件解决进展,通过BI分析手段,找到根源事件和根因节点,并进行影响度分析,便于进行故障处理,极大提升了运维效率,藉由这几个系统的有机集成和功能整合形成良性高效的运维工作场景。

运维软件技术趋势

面向业务的运维融合监控、流程、自动化平台,已成为IT运维核心系统不可或缺的有机组成部分,系统的可靠性、灵活部署、大容量处理能力、智能分析能力、可视化展示方面的要求也大大提升。基于对基础设施运维,同时结合互联网领域成功的应用运维经验,形成双态运维,是IT运维软件技术演进的一个方向。

容器技术(Docker)

以Docker为代表的容器技术正在成为应用交付运维的全新标准,Docker于2013年3月发布,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上。Docker利用Linux的一些内核机制例如cGroups、命名空间和SElinux来实现容器之间的隔离,完全使用沙箱机制,相互之间不会有任何接口。

利用Docker容器技术,可以实现融合运维平台的灵活部署,组件松耦合,便于升级和维护,系统的可靠性得到有效保障。

NoSql数据库

IT运维软件长期依托于关系型数据库,关系型数据库数据存储层次清晰,具备事务级的处理保障能力。融合运维平台不仅存储数据方面有了量级的变化,关联信息查询的频次和内容层次方面也大大增加,对于千万级、亿级以上的海量数据存储及查询,NoSQL数据库可以大显身手。

NoSQL,泛指非关系型的数据库。其产生是为了解决大规模数据集合多重数据种类带来的挑战,NoSQL数据库在以下的这几种情况下比较适用:1、数据模型比较简单;2、需要灵活性更强的IT系统;3、对数据库性能要求较高;4、不需要高度的数据一致性;5、对于给定key,比较容易映射复杂值的环境,NoSql数据库一般分为以下4大类:

1. 键值(Key-Value)存储数据库

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型的优势在于简单、易部署。但是如果只对部分值进行查询或更新的时候,该模型的效率显得相对比较低下了。如:Tokyo Cabinet/Tyrant,Redis,Voldemort,Oracle BDB。

2. 列存储数据库

列存储数据库通常是用来应对分布式存储的海量数据。Key仍然存在,但是指向了多个列,这些列是由列家族来安排的。如:Cassandra,HBase,Riak。

3. 文档型数据库

文档型数据库与键值存储相类似,其数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如:CouchDB,MongoDb,SequoiaDB等。

4. 图形(Graph)数据库

图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。

运维软件核心部件CMDB比较适合于图形数据库,如Neo4J、OrientDB等。CMDB数据的存储引入了图形数据库后,可以在里面存储相邻节点的图形关系,可以快速获取相邻节点关系,节点间的路径,对于海量CMDB拓扑关系的计算,比起传统的存储方式后再计算,速率就有了极大的提高。

虚拟现实运维

用虚拟现实技术模拟真实的场景,给人以身临其境的真实感受,在电子商务、娱乐游戏业、教育业和虚拟现实展示与虚拟社区等领域都有很多实际应用和广阔的发展前景,对于IT运维软件也已经开始实践。在运维过程中,通过虚拟现实技术仿真机房巡检和运维自动化是运维可视化管理的一个重要方向。

虚拟现实目前主要通过3D展示技术来实现,未来的发展则一定是全息影像技术。JavaScript、HTML5和WebGL三种技术的结合,创建基于浏览器的3D展示技术,而不借助任何插件。选择一个合适JavaScript 3D引擎,融入运维软件中,以便能快速创建3D机房、运维巡检过程等,对于用户体验来说是至关重要的。

目前流行的JavaScript 3D引擎主要有Three.js,Babylon.js,Famo.us等。

目录