随着互联网是蓬勃发展,各公司对用户体验、数据安全、系统可靠性等运营指标的更加重视,运维部门的工作显得愈发的重要。同时,在运维行业的多年发展和积累下,也逐渐形成了高效自动化运维的体系,而一个实用的自动化运维平台也成为了新一代IT基础运维体系实施的重要基础。本文将通过对运维的阶段,当下面临的主要问题、以及对云络科技OpsStack自动化运维平台的剖析来为大家一步步揭开自动化运维平台的面纱。

 

云络科技 高级架构师  王 寒

OpsStack logo-Blue

  1. 企业运维的四个阶段

 

1.1人人运维

在一家公司发展的初期,基础设施尚未达到一定规模时候,公司未必会设立专门的运维部门或者专员来处理系统运维工作,而是将运维工作分担到各类岗位中,大部分时候这类工作都分散到了研发人员头上,比如研发人员各自管理运维及自己研发应用所用的服务。在这个阶段,公司可以在运维上节约一定成本和注意力,但是这种方式在出现事故后的应急处理是存在很大问题的,并且无法维护大规模的系统。

1.2规范运维

随着业务的增长,IT设施也发展到更大规模的量级,这时组建一个内部专门的运维人员团队或者与外部专业的运维服务提供商合作就成了一件势在必行的工作。当拥有了专门的运维团队后,日常的运营维护工作就变得有一定规范,并且可以实现在自己业务范围内适用的自动化了。但是当运维发展到了这个阶段时,还是会面临需要问题与挑战,比如选择哪种技术和工具去完成相应的运维工作,按照什么样的标准去完成对服务器,各类基础服务的配置?如何把一些工作流程化使用技术手段实现自动化等等。

1.3自动化系统

建立在各类开源技术以及自己研发的脚本和工具上,自动化运维系统成为了运维人员高效完成日常运维工作的一大法宝。谷歌,阿里,腾讯等大规模公司除了自身专业运维团队之外,都研发了一套或多套的自动化运维系统来完善运维工作,如自动部署系统,基于CMDB的设备管理系统或是将一些工作流程化的调度系统,他们都为运维带来了巨大的便捷。可以说,在此时,在各类自动化系统的帮助下,运维工作已经实现了标准化,工具化,系统化。

1.4运筹帷幄

当运维工作所需要的基本元素以及自动化系统都准备好了之后,如何进一步将之完善,高效化,流程化,全自动化,从“ 运营维护” 真正的做到 “ 运筹帷幄” ?除了DevOps这种指导性的开发与运维合作发展理念之外,在技术和运维工作的“ 装备” 上,一套集成各重要自动化系统并将之全部整合、规范、流程化的运维平台就成了运维发展的新阶段。

 

  1. 当下运维面临的问题

 

据笔者观察和了解,目前在国内除了一些规模化的大企业,大部分中小型企业的运维水平还是停留在前文所介绍的第一及第二阶段,即人人皆运维,或是拥有运维团队和基本运维工具脚本但仍存在众多问题。如下我列出了目前运维遇到的七大问题,称之为 ” 运维七大痛点“ ,

opsstack-stefan-picture1

2.1 复杂的系统

众所周知,当系统规模发展到一定量级的时候,管理服务器和其他IT基础设备的工作就会变得复杂烦琐起来。最明显的工作就是去收集服务器的信息,工作状况以及服务器上锁安装的资源。

2.2 混合云环境

随着云计算技术的发展以及可靠性的提高,很多企业和公司都加快了“ 上云” 的步伐。而亚马逊,微软,阿里云等众多IaaS提供商的优质产品,以及私有云技术Openstack的流行和普及,多种选择下的企业开始倾向于使用公私云混合或是多家云一起使用的混合环境模式来搭建系统。那么在这样一个多元的系统中,没有一个统一管理的界面或平台也成为了运维日常工作的效率的一大障碍。

2.3 繁多的工具

在开源技术的带动下,业内运维相关的工具可谓层出不穷,从小到简单的自动部署一个配置大到分析收集所有设备上的资源并跟踪操作记录,都有着不同的方法和工具可以实现。那面对这样令人眼花缭乱的工具们,运维人员该如何做出选择也成为了一个“幸福的困扰”。

2.4 人类的错误

运维人员也是人,是人都会犯错,而运维工作作为公司业务的基础,如果在运维上出现了不可逆的人为过错那么可能会影响到整个公司的业务,所以如何利用标准的流程和自动的调度见面人为犯错的可能性也是运维工作需要注意的。

2.5 人员的流动

笔者认为运维人员流动对于一家公司的影响其实要比其他技术类岗位带来的麻烦更大。如果开发人员好比你家负责烧菜的阿姨,那运维人员就是负责你家整理用品的阿姨。烧菜的阿姨每天来烧几个菜就可以完成任务,换一个阿姨来烧也无所谓,但是整理用品的阿姨如果换了,那么你还要给她再理清一遍哪些东西在哪该放在哪里等一些琐碎的背景介绍。通过这个生活的类比,我们可以看到运维人员的流动其实是很损耗运维团队精力的。

2.6 运维文档的缺失

一个完善的运维资料库其实可以解决很多问题,比如人员的流动或是对新员工的培养,但现实是很多公司其实在运维文档上并没有做好太多准备甚至没有意识到他的重要性。

2.7 行为跟踪

行为跟踪的重要性可以从两个角度去审视,一是安全,二是排障。从安全上看,做到行为跟踪可以监控到人员对服务器上的操作,对一些敏感性的数据所在服务器显得异常关键;而从排障的角度上看,一旦系统出了故障,一些行为的跟踪记录也可以作为重要的线索来定位及解决问题。

面对以上种种问题,以及运维发展的趋势,自动化运维平台成了运维人员实现高效运维的一种必备武器。那么我们将以云络科技的OpsStack平台来展示我们所谈论和期待使用的自动化运维平台到底是什么样子。

 

  1. 自动化运维平台 —— OpsStack

 

3.1 系统概述

OpsStack是集设计、搭建、监测、管理和优化、虚拟管理平台于一体的运维系统,目前也是云络科技及其客户提供的运维共享平台。OpsStack平台广泛集成了数十种先进的运维工具及系统,以及第三方API,几乎覆盖了运维人员日常工作的所有内容。

opsstack-stefan-picture2

 

3.2 功能与界面

OpsStack平台提供了丰富的界面,方法和数据来支持运维工作,实现自动化运维。如信息收集类模块,包括对用户,登录信息,警报,服务器上运行,工单,服务器概述等信息。同时,在工程师中心,也可以查询到各类服务器的运行情况,如数据库,WEB服务器,应用服务器等。这样的一些系统功能就很好的解决了我们在前文提到的运维目前的两大问题,即复杂系统和混合云环境下对信息的收集和资源的管理。

opsstack-stefan-picture3

OpsStack也有自己的CMDB系统来管理企业系统上对业务有价值的资源的管理。具体讲,这里的CMDB包括对服务器信息、服务器变更,以及审计结果的统计记录。这样的设计一方面可以在每次查询资源时得到服务器优化的建议,避免潜在问题发生,同时对变更的记录也是很好的排障线索。

opsstack-stefan-picture4

在监控方面,OpsStack在Zabbix的基础上做了深度开发,可以实现更多的监控点,如对于Hadoop参数的监控,并且目前该版本的Zabbix 也可以做到对Docker 服务的监控。此外,Zabbix 还与云络运维数据库Wiki 以及工单系统做了集成,使得工程师在处理问题时可以掌握更多关于系统环境和问题处理方法的信息,并且流程化的处理问题以及按工单规划自己的工作。

opsstack-stefan-picture5

此外一些主要的运维功能上,OpsStack也有自己的系统,如备份,日志分析,报告等。备份系统可以显示每一份备份的完成情况以及加密压缩状况,以便及时修正;日志分析系统建立在ELK之上可以对系统,安全,应用,行为日志进行统计展示;而报告系统则可以自动化生成任意时间段内的各类运维报告,如工单,配置变更,警报等。

opsstack-stefan-picture6

以上只是展示了OpsStack的一部分功能和界面,除此之外OpsStack还提供架构自动化绘制功能,任务管理分配功能,应用层面代码安全扫描功能,各常见公有云入口,自动化部署安装功能,工单功能,服务器体检审计功能等。

3.3 OpsStack加运维服务

OpsStack还直接支持云络科技开创性的互联网OaaS(运维即服务),并由专门的专家团队提供全天候24小时的运维管理支持。云络的客户来自电子商务、软件即服务(SaaS)、新媒体、物联网、移动、游戏、社交媒体、视频、门户网站、P2P和O2O等诸多行业,他们使用所有主要的云计算平台和技术,并为中国及其它地区数以百万计的终端用户提供支持服务。

 

小结

 

伴随着互联网及运维的发展,运维自动化平台的使用将大大加快运维效率,把运维工作高效化,自动化,流程化。拥有着八年运维经验的云络科技公司,如今将自己运维使用的自动化运维平台开放推出给到大家使用,可以免去企业内部研发平台的负担,直接使用这样的平台工具来完善自己的运维工作。同时,如果使用OpsStack加OaaS的模式,那对于公司而言可谓一劳永逸,减轻了许多运维负担,把更多的注意力放在公司的业务发展上。