互联网时代的网络自动化运维
互联网主要有两个要素:内容和眼球。“内容”是指互联网公司(或ICP)提供的网络服务,如网页、游戏、即时通讯等。,而“眼球”指的是大量的互联网用户。互联网公司的内容往往分布在多个或大或小的IDC中,越来越多的“眼球”盯着ICP提供的内容,互联网公司内容存储的基础设施也呈现爆发式增长。为了保证内容的访问体验,互联网公司需要在不同运营商、不同省/市批量部署业务服务器对外提供服务,建立IDC内网、城域网、广域网用于业务模块之间的沟通,同时通过自建CDN或CDN专业服务公司覆盖服务盲区。所以随着业务的增长,运维部门越来越重要。经过多年的积累,他们逐渐形成了高效的运维体系。本文基于国内互联网公司的经验,重点研究新一代IT基础设施自动化运维系统。
一、运行维护的三个阶段
●第一阶段:大家运营维护。
在早期,一个公司的IT基础设施还没有达到一定的规模(通常在几台到几十台机器的规模),也不一定有专门的运维人员或部门,运维工作由各个岗位分担。R&D人员拥有维护和管理在线代码和服务的服务器权限。
●第二阶段:垂直自动化
随着业务量的增长,IT基础设施发展到了另一个量级(通常是几百到几千台机器的规模),专业化的运维人员开始从事日常的安装维护工作,扮演“消防员”的角色,接收告警,有运维规范,但运维主要是提供研发的后期服务。
在这个阶段,向流程处理的过渡已经逐渐开始。运维部门开始输出常见问题列表,配合适合自身业务范围的自动化脚本,开始使用开源软件的组装来完成大部分工作。
具体来说,每个产品线都有自己的脚本,使用SVN+木偶或厨师来完成服务器在线和配置管理。
●第三阶段:一切都是自动的。
在互联网化的大潮中,越来越多的黑马团队应运而生,他们都有短时间内用户访问量翻N倍的经历。在流量爆炸的过程中,ICP的互联网基础设施能否很好的跟进,直接决定了业务内容能否满足大量用户的并发访问。
同时,运维体系需要足够完善、高效、精简。Google、腾讯、百度、阿里的公司一般都有统一的运维团队,有一套或多套自动化运维体系可以借鉴。运维部门和开发部门会有平行的视角。并且也开始更加注重架构层面的IT基础设施优化和超大规模集群下的自动管理和切换(如图1)。
图1。大型互联网公司IT基础设施概述
二、BAT(百度、阿里、腾讯)运维体系分析
国内互联网公司百度、阿里、腾讯(以下简称BAT)提供的业务内容和IT架构不同,其运维体系在开发过程中的关注点也不同。
1.腾讯运维:基于ITIL的运维服务管理
预计到2065,438+05年,腾讯全国将有60万台服务器。随着2012自动化部署实践的成功,目前正在进行自动化验收。网络设备方面,将从需求侧实现全自动工作:自动生成设备清单-->;采购清单自动分发-& gt;端口连接关系和拓扑关系的自动生成-& gt;配置自动分发-& gt;自动接受。整个运维流程也从最初的传统IT管理演变为基于ITIL的服务管理流程(如图2所示)。
图二。腾讯的ITIL运维服务管理。
2.阿里运维体系:基于CMDB+逻辑分层建模的基础设施管理。
CMDB(Configuration Management Database)配置管理数据库(以下简称CMDB)将IT基础设施的所有组件存储为配置项,维护每个配置项的详细数据,维护配置项之间的关系数据,以及事件、变更历史等管理数据。通过将这些数据整合到中央存储库中,CMDB可以为企业理解和管理数据类型之间的因果关系提供保障。同时,CMDB与所有服务支持和服务交付流程密切相关,支撑这些流程的运行,充分发挥配置信息的价值,并依靠相关流程保证数据的准确性。它可以实现IT服务支持、IT运维、IT资产管理内部和之间的流程集成和自动化。在实际项目中,CMDB常常被认为是构建其他ITIL过程的基础,并被优先考虑。ITIL计划的成功与CMDB的成功建立有很大关系。
3.百度自动化运维:部署+监控+业务系统+关系。
百度面临的主要运维挑战包括:突发的流量变化、复杂环境的相关影响、快速迭代的开发模式以及运维效率、运维质量和成本之间的平衡。百度的运维团队认为,当服务器规模达到数万时,运维视角需要转变为服务粒度。1万台不代表“100台* 100”;机器的运行状态不再代表业务的工作状态;运维部门为R&D提供前期服务,服务之间的关系随着集群的扩大变得越来越复杂。
图3。百度自动化运维技术框架
百度自动化运维技术框架分为部署、监控、业务系统、关系四个部分。整个框架突出了业务和IT基础设施的集成,注重“关系”的联动。所谓关联,主要是指任务之间的时序依赖、任务之间的数据依赖以及任务与资源之间的引用依赖,分别对应任务调度、数据传输、资源定位等服务流程,形成多个服务链。
关系的运维与业务有很强的关联性,需要一个系统来梳理关系的全貌,以便在复杂的服务链条中定位业务所处的环节,预估故障发生时的影响范围,及时定位并通知相应部门。在这样的系统中,自动监控系统是非常重要的。百度的技术监控框架,主要通过数据采集、服务检测、第三方信息采集、监控评估,再交给数据处理和报警联动模块进行处理,并通过API接口扩展了功能(如图4)。
图4。百度自动化技术监控框架
事实上,BAT等互联网公司和其他行业的企业都会在IT建设中遵循IT基础设施库(ITIL)或ISO20000服务管理的最佳实践,采用自动化IT管理解决方案来实现重要的业务目标,如减少服务中断、降低运营成本和提高IT效率。随着ITIL和ISO20000 3.0版本的发布和推广,它们已经成为事实上的标准。在当今的企业IT管理领域,迫切需要两个标准。特别是,ISO20000认证要求已成为企业越来越普遍的需求。ITIL v3.0涵盖了IT运维从战略、设计到转型、运营、提升的全生命周期管理。相关方案往往涵盖多个领域和产品,规划、实施、工具选择都会比较纠结。如果选择开源工具,会遇到很多来自CMDB的开发工作,对于很多注重成本效益比的企业可以作为参考,但由于无法保证性能和效果,不一定适用。所以,一份成熟的商业计划书会是更好的选择。
最新的iMC V7版本围绕资源、用户、服务三个维度进行创新,发布了SOM服务运维管理(基于ITIL和ISO20000标准)等组件,增加了对服务器的管理,能够很好地满足更多基于互联网的场景需求。
一般认为,一个高效易用的配置管理数据库一般需要满足六个重要标准,即联合灵活的信息模型定义、符合标准、支持内置策略、自动发现和严格的访问控制。在企业IT基础设施中通常有许多类型的元素和管理数据,例如网络设备、服务器、虚拟机等。,所以需要有一个合适的联合方法来存储各种信息。虽然iMC智能管理平台已经能够满足网络设备和服务器设备的需求,但是随着服务器虚拟化技术的发展,虚拟机越来越成为IT基础设施的主要元素。因此,基于CAS CVM虚拟化管理系统,华三通信全面管理服务器CPU、内存、磁盘I/O、网络I/O等重要资源以及虚拟机资源。与BAT不同,H3C的网络管理软件是面向行业的。虽然目前没有对域名管理等特殊资源的'管理',但可以通过API接口与特殊系统进行联动,满足定制化运维的需求。尤其是在互联网场景下,针对不同的业务需求,可以实现很多定制化的对接需求。比如iMC+WSM组件与国内某大互联网公司的门户系统对接,iMC工具与用户自身运维对接。此外,类似于阿里的逻辑分层建模,H3C“iMC+CAS”软件系统也在上层做了大量的逻辑抽象和分层,形成了很多模块,也就是你能看到的各种组件。
三、网络自动化运维系统
“即使是只有基本技术能力的陌生人,也能做专业的IT运维;即使是一个只有初中学历的运维人员,也能带领团队完成中小型机房节点建设,负责数百到数千台服务器的维护管理”——这是对一些公司IT运维水平的整体评价。看似夸张,但实际上依靠强大的IT运维体系,国内很多互联网公司已经能够达到或接近这个标准。
这些企业经历了运维发展的各个阶段。运维部门曾经是被动、孤立、分散的“消防队”队伍。在后来的开发过程中,IT系统架构逐渐标准化、模型化。运维部门建立了完整的设备和系统资源管理数据库和知识库,包括所有硬件配置、所有软件参数配置、购买日期、维护记录、运维风险看板等。通过网络管理软件,在运维过程中,系统将收集所有的问题、事件、变化、服务水平等信息并输入到管理系统中,不断完善并形成一套自动化的运行支撑机制。根据云计算的架构,在这样的系统中,主要的IT资源包括计算、存储和网络资源。近年来,在网络设备厂商的推动下,网络设备管理的自动化技术也得到了充分的发展。
综上所述,一个企业在互联网建设初期,需要考虑的是如何随着用户访问量的增加,扩大自己的资源。具体可细分为规划、建设、管理、监测和运维五个方面。
1.规划建模
为了保证后续业务的顺利拓展和网管系统的顺利跟进,互联网公司一般在早期的整体系统架构设计中充分考虑标准化和建模,增加业务资源就像点快餐,按需取用。
标准化:一是采用标准协议和技术构建,扩展性好,产品统一,易于管理;二是采用数据中心级设备,保证可靠性和灵活性,充分考虑业务系统对低延迟的要求。
建模:根据业务需求设计网络架构模型,验证后形成基线,可以批量复制,统一管理,也适合通过自动化提高部署效率和网络管理效率。
图5。通用互联网IDC架构
2.建筑自动化
互联网IT基础设施具备批量复制能力后,可以通过自动化技术提高在线效率。在新节点建设过程中,3 ~ 5人的小团队就可以完成机房的上线工作。例如,一家互联网公司曾派遣两名工程师到现场安装、部署和配置海外紧急业务的设备。然后通过互联网链接,设备自动从总部管理系统获取配置和设备版本,下载业务系统,在1周内完成机房设备安装。
为了实现自动化运维的目标,在构建过程中需要考虑两个方面(如图6)。
批量复制:根据业务需求,梳理技术关注点,设计网络模型,进行充分的测试和试点,输出软硬件配置模板,然后进行批量部署。
自动上线:充分利用TR069、Autoconfig等技术,采用零配置功能,批量自动上线设备,效率翻倍。
图6。在线批量配置和自动化
○自动配置和TR069之间有三个主要区别:
○ Autoconfig适合零配置部署,后续一般需要专门的网管系统;TR069是一个完整的管理方案,不仅在初始零配置时有用,而且可以随时监控和配置设备,升级软件。
○自动配置使用DHCP和TFTP - simple,TR069零配置使用DHCP和HTTP - complex,需要专门的ACS服务器。
安全性:TR069更安全,可以基于HTTPS/SSL。
H3C iMC BIMS实现TR-069协议中的ACS(自动配置服务器)功能,通过TR-069协议远程管理CPE设备。BIMS具有零配置的能力和优势,灵活的组网能力,可以管理DHCP设备和NAT后的专网设备。BIMS的工作流程如图7所示。
图7。7的工作流程。H3C iMC BIMS
3.智能管理
对于网管团队来说,需要为其他团队提供信息查询、告警管理等操作的便捷工具。早期的网管工具往往离不开命令行操作,对批处理的支持也不好。比如网络设备的MIB库,就比C、C++等智能新技术Netconf笨拙得多。所以从使用的角度来说,图形化、智能化的管理工具往往是比较受欢迎的。
智能化:利用新技术提高传统MIB管理模式的处理效率,引入嵌入式自动化架构,实现智能终端的APP管理(如图8所示)。
图8。智能消息和事件处理
● Netconf技术
目前主要的网络管理协议是SNMP和Netconf。SNMP采用UDP,实现简单,技术成熟,但在安全可靠性、管理运行效率、交互操作、复杂操作实现等方面都不能满足管理需求。Netconf使用XML作为配置数据和协议消息内容的数据编码方式,使用基于TCP的SSHv2进行传输,使用RPC进行操作和控制。XML可以表达复杂的内部逻辑和模型化的管理对象,如端口、协议、服务及其关系,这提高了操作效率和对象标准化。采用SSHv2传输模式,具有良好的可靠性、安全性和交互性。它们之间的主要对比度差异如表1所示。
表1网络管理技术比较
● EAA嵌入式自动化架构
EAA自动化架构的实施包括以下三个步骤。
○定义感兴趣的事件源,即系统中的软件或硬件模块,如特定命令、日志、陷阱警报等。
○定义EAA监控策略,例如保存设备配置、在活动和备用之间切换、重启过程等。
○当监控到定义的事件源时,触发EAA监控策略。
4.监控平台
利用基本的监控工具,如Show、Display、SNMP、Syslog等。,并做一个平台监控集成环境,实现全方位监控(如图)。
;