《运维之下》 第三章、运维平台-阿里云开发者社区

开发者社区> 技术小阿哥> 正文

《运维之下》 第三章、运维平台

简介:
+关注继续查看

第三章 | 运维平台


服务可管理的前提是运维数据的准确性,而标准化和流程化是保证数据准确性的前提。只有提供准确的运维数据,才能进一步实现服务的运维自动化。所以,一个能够准确记录和管理服务信息的运维平台,对于运维的发展至关重要。


在运维团队组建初期,运维平台建设一直属于运维团队的工作重点。通过标准和流程的约束,保证信息准确地录入到平台,以便能够准确提供运维所需要的各种维度信息,帮助运维人员开发更上层的系统,获取运行状态、资源占用等信息,与部署系统联动进行服务的动态调度部署和故障容错。
一个真实案例中,早期的运维平台有服务器管理、IDC管理、监控(Zabbix)、密码管理、故障记录等这几个模块,更多的是信息记录,更像一个网页版的Excel。没有流程的引入,信息录入完全依赖于人。这个时候的信息仅仅用来对账,滞后不准确的数据无法作为运维工具的基础依据,更谈不上自动化。平台各个功能模块之间没有信息关联,所有信息如一个个孤岛,对于运维的价值非常低。
随着需求场景的进一步明确,平台在不断建设。形成了两个大的运维平台,即:资产管理平台和服务管理平台。
资产管理平台负责记录基础的物理信息,如:IDC、服务器(资产编号、参数、采购时间、供应商)、配件、网络设备、IP地址、ACL等。提供了多个子功能,如:预算管理、自助装机、故障报修、IP地址管理、ACL管理、LVS管理等。资产管理平台作为所有物理资源的唯一出入口,通过流程将预算管理、故障管理这些可能导致资产信息变更的环节打通。新采购的服务器录入到资产管理平台,服务器报废也必须经过它。通过资产管理平台,可以很方便地查询各种物理资源的使用情况。比如,一共有多少服务器、有哪些机房、机房的机柜分布情况、每个机柜摆放的服务器位置等信息。
服务管理平台记录了业务运维所需的逻辑信息,提供一个基于树状结构(注:后续简称“服务树”)和权限绑定的管理模型。基于服务树和权限管理,实现域名管理、监控系统、部署自动化、环境初始化等子功能。服务管理平台记录了多个维度的服务信息,比如,产品线内有多少台服务器;谁具备这些服务器的登录权限;产品线对外使用了哪些域名;服务器上部署了什么服务;服务运行的状态、版本、路径;服务都添加了哪些监控等各维度信息。
可以认为资产管理平台和服务管理平台的信息集合就是ITIL里的CMDB(ConfigurationManagement Database)。由于每个运维子团队的分工不同,平台定位和用户场景不同,出于敏捷建设的考虑,我们将它拆分成了两个平台。资产管理平台的主要用户是系统运维工程师,他们关注设备的出入、维修等管理工作,交付资源给上层业务;服务管理平台的主要用户是应用运维工程师、研发工程师和测试工程师,他们关注服务运行的相关数据。虽然是分开的两个平台,但平台之间通过流程和API接口,实现了数据的相互关联。
资产管理平台负责底层的物理信息管理,提供API供服务管理平台查询和同步。服务管理平台通过API获取新交付的服务器列表及其详细信息,将它们归属到服务树产品线节点,分配对应的权限。应用运维工程师在服务树上领取空闲服务器,进行一系列的环境初始化、服务部署、监控添加等工作。应用运维工程师在服务管理平台提交报修申请、服务器归还等操作,通过API将信息推送到资产管理平台,由系统运维工程师进行相应处理。
两个平台负责所提供信息的准确性,对外提供API接口,可以供更上层的业务使用。基于这些信息,我们可以做更多智能化、自动化的工具开发。下面分享几个实际案例中的应用场景。


场景1:Hadoop数据存储管理 我们有大量的数据存储在Hadoop集群上,出于节省成本的考虑,我们将以前的3副本变更为1.5副本,降低一倍存储量。为了避免相同数据存储在同一个机柜的服务器内,降低由于单机柜断电或者同机柜服务器多块磁盘故障导致数据丢失的可能性,我们通过平台提供的API,获取Hadoop集群所有服务器的机房、机柜分布和机架位置信息,在存储数据的时候进行合理的动态调配。

场景2 :智能报警合并当服务器死机、机柜断电或接入交换机故障、机房断电或核心网络故障时,往往会收到大量的报警信息。我们可以通过平台提供的信息,对报警信息进行最大程度的聚合,减少报警发送的条目,而且能更好地帮助运维人员快速定位故障。当一台服务器死机的时候,通过监控项与服务器的关联信息,将这台服务器相关的SSHD监控、Nginx监控等报警信息进行聚合,合并成一条服务器宕机报警;当一个机柜断电后,我们可以将该机柜下接入交换机交换机和每台服务器的报警进行聚合,合并成一条机柜或接入交换机故障报警。

场景3 :磁盘故障自动报修 在互联网业务中大数据应用已经很广泛,Hadoop服务器数量占比很大,大量的数据计算导致磁盘故障率比较高,每天都有大量的故障磁盘需要更换维修。以前都是通过硬件监控或应用监控发现问题,然后由应用运维工程师登录服务器确认磁盘故障,尝试工具修复。如果修复失败摘掉磁盘,再发起故障报修申请。现在我们研发了磁盘故障自动维修系统,通过平台提供的API接口和监控系统联动,当监控系统发现磁盘故障后,通过回调接口启动磁盘工具进行软修复,修复失败后摘掉磁盘,并在服务管理平台进行记录,自动发起故障报修工单。服务器供应商收到维修工单通知后,根据所提供的机房、机柜、磁盘位置,进行集中更换。更换完成后进行通知,再由系统将磁盘分区格式化挂载,开始提供数据存储服务。

在运维平台建设的过程中,我们借鉴ITIL的思想,但没有完全照搬。ITIL能够帮助IT部门提高用户的满意度和运行效率,但它的实施难度比较大,不能满足互联网运维的敏捷要求。我们希望贴近DevOps的理念,管理和提供准确的运维数据,封装各种灵活的运维工具,让运维工作前置到产品研发阶段,帮助研发、测试人员快速完成产品的发布、测试、上线工作,让运维工具在产品的整个生命周期中联动起来。

平台化不等于自动化,我们的平台更多的是通过流程和标准的保证,提供运维数据的可视化,还算不上真正意义的自动化。我们希望研发和运维人员不再需要关心服务具体部署在哪台服务器、哪个IDC中,由调度系统负责服务运行状态的监控,对资源进行合理的调度、伸缩,对一定范围内的故障进行自动处理,实现真正的运维自动化。



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1859995,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java 16 正式发布,新特性一一解析
3 月 16 日,甲骨文正式发布 Java 16。甲骨文表示,现在为所有开发人员和企业提供 Java 16。
6 0
Redis教程08(ZSet有序集合介绍)
上文中介绍了Redis中的Set集合,Set集合是无序的不可重复的。而我们本文要介绍的ZSet其实是在Set的基础上绑定了一个score来实现集合数据按照score排序的集合。 Redis教程07(Set集合介绍) 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。
3 0
关于 SAP UI5 对服务器端渲染 Server Sider Render 的支持问题
关于 SAP UI5 对服务器端渲染 Server Sider Render 的支持问题
5 0
Redis持久化之快照(RDB)
通过前面文章的介绍,大家对于redis的基本操作应该比较了解了。本文主要介绍下redis持久化方式中的快照持久化
3 0
解构腾讯产业互联网独门心法:「让火车与坦克接轨」
作为全球最大的互联网公司之一,腾讯的产业互联网之路,必然是要符合当下市场底层逻辑和基因优势的。 梳理出这条路子,不仅对于腾讯自身至关重要,也能够让外围看清时代潮水的流向,深刻理解互联网下半场的机会窗口。以及更重要的,意识到五到十年后变化所带来的价值。
4 0
Redis持久化之AOF
在上篇文章中介绍了快照持久化,对于它的优缺点大家也有所有了解了。本文主要介绍redis持久化中的另一种方式AOP(Append only file)持久化
3 0
Redis教程10(事务)
redis是NOSQL数据库,所以也存在事务,只是此事务和关系型数据库的事务是有区别的。
3 0
使用开源微前端框架 Luigi 创建一个基于微前端架构的工程
使用开源微前端框架 Luigi 创建一个基于微前端架构的工程
4 0
8434
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载