如何打造一个高逼格的云运维平台?

前言前端

你们作运维广泛经历这样的过程:mysql

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

首先咱们会把操做作一个标准化,这个阶段是运维质量的提高的阶段。linux

在标准化实施完之后,因为数目的增长,或者是一些运维场景的增多,咱们会逐步的进行一些工具化和自动化,这个阶段咱们的运维的效率获得提高。redis

可是众多的工具以及自动化脚本,会让咱们的管理过程当中比较困难,随着人员的变更或者是一些工具维护过程当中的差错,咱们的自动化运维工具的受众群体不太稳定。算法

这个时候咱们就须要一个平台将咱们的运维工具以及运维过程当中的一些经验进行沉淀,借助这个平台实现咱们的智能化运维,因而咱们从运维人员的需求和体验出发出发进行了一个运维平台产品化的构建。sql

银行卡组织云运维平台的概况数据库

我给你们介绍一下咱们IT体系建设的状况,差很少十年前咱们以ITIL为基础构建了流程平台,变动、事件、问题、服务等流程经过这个平台进行流转。apache

在五年前咱们从开放平台转化为云运维平台,在这个过程当中,我也创建了IaaS虚拟化资源平台,同时咱们也跟业界同样构建了CMDB,用于赞成管理运维数据。后端

可是在运转下来之后,咱们发现还有不少需求须要实现,主要三个方面:缓存

软硬件节点数目不断增长,平常运维迫切须要一个适应各类运维场景的高效自动化平台,减小重复劳动。

需求是将运维人员的经验须要在一个平台沉淀,造成一个智能化场景库,将运维服务或能力的复用,从而提升总体运维质量和运维效率。

第三个需求是在传统的流程化运维的基础上,注入智能化场景,将运维工做从依靠人工判断、流程决策,逐步转为依靠机器智能分析判断。

因此基于这三方面须要,咱们建设了一个云计算环境下面向规模化运维的平台。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

云运维平台主要解决的是如下几个痛点:

  • 互联网业务在我所在的公司开展特别快,还会有一些营销活动,这样就须要运维有一个快速的响应。
  • 咱们的硬件数目有了一个几何级的增加。
  • 最近几年频繁的使用一些开源架构新兴技术,对运维技术增长了要求。
  • 运维工具散乱,缺少同同一管理。
  • 咱们运维数据没有一个同一的的展现
  • 第六个是咱们的人力增加目前比较缓慢,咱们在审计过程当中会有一些人工安全性方面的问题。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

出于这些方面考虑,咱们运维平台的愿景,是运维的质量以及可运维设备的数量不因咱们的运维人员的数量或者是技能的变化改变,从而实现咱们的运维的数量和质量都达到一个可控的。

银行卡组织的云运维平台是个怎样的产品

接下来给你们介绍一下咱们运维平台这个产品,主要四个方面:

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第一是资源统一调度,咱们能够将资源整合,咱们经过资源平台提供的API包括,包括Openstack、数据库管理平台、容器管理平台、分布式存储管理平台、网络管理平台、安全管理平台,将咱们所经常使用的运维操做,都整合在咱们这个运维平台中,将咱们的运维流程尽可能的简化,实现自助化运维。

第二,咱们但愿借助咱们运维平台尽可能实现自动化管理,减小咱们手工操做,实现自动的数据收集、自动应用安装、自动配置和更新、自动数据分析、自动扩展、自动备份恢复、自动鼓掌处理等。

第三是多维为可视化,让各个角色有一个在平台上都有一个独立的视角,以角色重定义运维。如网络管理视图,系统管理视图、监控视图、报表视图等。统一报表系统,统一全局数据并提供可自定义多维报表。

最后一个就是实现高性能,咱们但愿咱们这个运维平台能够知足万级节点的并发收集、执行。

云运维平台建设场景

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

这个是咱们运维平台的场景规划图,下面是咱们一个核心的调动模块。包括执行、采集以及和其余流程的对接,中间是咱们这个运维平台主要要作的事情,咱们把这个叫作运维OS,图表管理实现自动化拓扑和自定义报表,全生命周期管理是实现应用系统从上线到下线经过咱们这个平台实现一个自动化的实施。

运行环境管理和运维工具给实际的运维人员提供一个比较便利的一个操做环境,包括备份比对,做业编排以及参数管理等,容量管理咱们是但愿经过咱们这个平台将监控的数据进行一个汇总,实现对容量的管控。

高可用管理对咱们各个应用系统,各个层面的组件的可用性进行一个统一的管理,可用性监控,自动化可用性演练。

重点场景一:生命周期管理

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第一个是生命周期管理,咱们周围在之前的一个部署过程当中,一般是这样的,开发人员写一个是需求文档经过内部流程给运维接口人,他会协调各资源管理员分配资源,造成部署方案,最后将这个部署方案经过人工构建变动的方式实施。

这里面有两个问题,一是传递过程当中可能误差,第是周期比较长,咱们但愿借助咱们的云运维平台实现参数级别的电子化传递,以及自动化的部署。也就是用户在咱们平台上面选择须要的组件,以及资源需求,由咱们的管理员分配、确认实际的部署资源。

最后由平台进行一个自动化的部署,并在部署过程当中自动进行各项规范标准的实施。

重要场景二:运行环境管理

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第二个场景是咱们的运行环境管理,包括资源类的CPU、内存、IP、端口、访问关系等,以及咱们运维人员关注的,定时任务、备份策略、自启动项目等。咱们经过云运维平台对运行环境进行管理,替代原有excel表格,并进行自动化设置。

重要场景三:持续部署管理

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第三个场景是持续部署管理,传统部署方式咱们会遇到一些问题,包括:应用版本经过版本服务器屡次人工传递,各应用的配置、维护脚本没有统一标准;经过表格人工维护各环境的参数差别,不一样环境人工修改参数;应用的安装过程视变动人员经验,异常告警没有统一标准,回退方式不统一等。

为此,咱们作了一个持续发布的标准,并且将这些标准借助这个平台能够实施,包括:统一版本传递路线,版本标准化;构建生产、测试、研发环境配置差别库,平台根据所在环境自动生存对应参数;标准化应用部署过程,多节点安装顺序自由编排,按照编排顺序进行安装;标准异常告警;故障时按照编排顺序逆向回退。

重要场景四:运行环境维护

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第四个场景是是经常使用运维工具集成,包括咱们经常使用的应用重启、健康检查、隔离、恢复工具,服务器的一些物理测试,以及自动装机后自动接入OpenStack或者是其它资源管理平台的自动对接,网络设备的健康检查,还有一些按期的安全检查,咱们把这些工具集成在咱们的云运维平台上。

重要场景五:画像场景

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

第五个场景是咱们应用为维度的应用画像,一般咱们一个应用可能有不少的元素,你们想知道这些元素会比较困难,例如这个应用的架构是什么样的,可能只有在一些应用的开发设计人员,或者是一些骨干的心中才能知道,也不必定特别的准确。

应用的参数可能有不少要到服务器查。应用版本、参数变迁、维护记录须要翻变动,应用各个层面的容量状况须要找各专业室查。应用的状况广泛说不清,要废很大的力气才知道是什么样。

咱们在云运维平台里面,借助咱们以前提到的各类产品管理工具,容量管理和高可用管理,咱们放在一个视图的画像里面,根据变迁维护历史以及应用的容量、高可用信息,还能够计算出这个应用他的运维方面的成熟度。

云运维平台技术方案

在硬件资产层面咱们经过一些snmp等工具获取状态及操做,虚拟资源层面咱们目前借助openstack及其它管理平台提供的接口进行管理,操做系统之上咱们经过自主开发的核心调度系统对linux及应用进行管理。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

咱们整个平台是使用权的一个部署,除了下面的缓存和MySQL其余全部的组件都是全容器的部署,前端使用apache、haproxy、keepalived;后端使用jboss、rabbitmq、ansible、zookeeper;数据存储采用mysql、redis、ceph等;另外咱们还有一个安全服务模块,检查是否会有一些高危操做。

业务流技术

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

上图是咱们具体的一个业务流程,左边是咱们这个云运维平台的界面,一个运维请求会被封装为一个消息会放到消息队列里面,schedule模块接收到消息后按照调度算法,自动分配给ansible节点,ansible节点经过ssh到服务器上执行,并将执行结果异步返回给消息队列。

schedule的调度算法与Ansible分布式架构

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

schedule的调度算法,是咱们考虑到咱们生产环境有不少的分区,咱们会根据他的IP自动生成一个所属区域的tag,schedule在发现这些消息之后,他会针对你tag以及目标机器数据进行拆分,咱们把这个详细拆分几个消息,ansible去订阅处理本身的消息。

咱们在ansible上进行一个改造,全部任务均有惟一的id,处理完成后返回消息,从而实现多任务的并发异步执行。

数据可视化

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

咱们在数据可视化方面,咱们经过采集器采集信息,经过同步器同步其它平台信息,存储在核心数据库,经过阈值库产生进行对比告警,经过分析函数库进行性能分析,并产生一些咱们运维须要的报表进行可视化管理。

银行卡组织云运维平台成果展现

咱们平台的建设结果,咱们这个平台上面已经彻底建设的一些部分,另外有一些功能咱们在开发,这个是咱们在实际中已经上线的平台,大概有几千太的虚拟服务器,咱们首先看到这个信息中内心面有一个机房,咱们看到一些机柜,而且配置好每个机柜里面对应的哪些服务器。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

这个交换机/F5-物理服务器-虚拟服务器自动拓扑的页面,是咱们根据snmp抓取交换机、F5信息,经过anbible抓取物理机的信息,经过openstack抓取虚拟机的信息,根据上述消息自动生成拓扑。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

数据同步能够自定义定时抓数据。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

这是一个实际的备份管理的功能,咱们能够用咱们的这个平台选取相应的服务器,经过平台自助定时、即时备份。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

自助化启动项管理。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

自助化定时任务管理。

如何打造一个高逼格的云运维平台?如何打造一个高逼格的云运维平台?

免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/

相关文章
相关标签/搜索