DevOps之我见

运维的前世此生将来

运维职业发展到今天,须要学会的技能愈来愈多,已不能仅仅以运行维护来归纳。DevOps的出现是技术快速发展的必然产物,也是将来AI技术融入运维体系的基石。docker

从目前已知的运维概念能够将整个运维发展划分为4个阶段:安全

  • Ops: Operations (Operator), 即你们熟知的系统运维。Ops的职责一般和Developer是分开的,Ops须要部署Developer开发的系统并维护线上运行,监控报警也由Ops处理。Ops一般使用脚原本简化平常繁琐的操做,当业务规模不大时,Ops通常身兼数职,涵盖机器,网络,配置,安全等等。简而言之,Developer只须要专一于开发业务系统,其余相关的环境问题均可以交由Ops。
  • PE: Production Engineer,应用运维或者业务运维。当业务发展到必定规模时,会出现专门的DBA,配置管理员,网络工程师和安全工程师等等,这个时候的部分运维开始专一于业务,PE的概念最初来自于雅虎而后经由阿里巴巴发扬光大。PE须要关注业务的整个生命周期而不只仅是业务的运行环境,这个时候的PE须要了解业务,保障业务的稳定性,梳理业务链路,分析性能瓶颈,进行容量规划,以及做为开发人员和DBA,网络工程师,配置管理员之间的协调者。同时PE须要和开发人员合做或者自主开发简单的运维工具,主持故障恢复及问题分析。
  • DevOps: Development and Operations,突出重视开发人员和运维人员的沟通合做,经过自动化流程来创建流水线式的业务流程。DevOps的概念最先来自于欧洲,近几年因为微服务,docker等技术的成熟兴起于美国互联网公司如Google,facebook。DevOps不只仅是运维的工做,不能简单理解为运维开发,它其实涵盖开发、测试和运维。DevOps既然是运维和开发的结合,就必然会出现两个方向的融合。从运维到DevOps,须要运维人员开发自动化运维系统实现自动部署,持续交付,自动测试,监控报警等等,将平常运维工做交由系统完成,解放生产力从而专一于将更多的运维经验落地成DevOps自动化系统;而从开发到DevOps,则须要开发人员会熟练使用自动化运维系统管理本身的应用的整个生命周期,实现高效交付,高可用。SRE: Site Reliable Engineer,可靠性工程师。SRE的概念是由Google提出来的,它是DevOps落地的产物。SRE不只要平常运维和工程研发,还要负责应急响应和业务规划。一般SRE团队成员来自于运维团队和各业务线,他们须要熟悉所负责的整个业务架构和流程,当天值班成员能够自行处理紧急问题。
  • AIOps: Algorithmic IT Operations 或者 Artificial Intelligence Operations, 智能运维。随着大数据和AI的兴起,AIOps也被提了出来。运维工做的核心概括起来就三点:发现问题,分析问题和解决问题。当自动化运维系统落地以后,人的主要做用就是根据问题做出决策,所以AIOps就是基于人的经验到基于机器学习的转变,经过人工智能对大量运维数据的学习来做出准确的决策。AIOps能够根据监控数据预测故障发生并及时定位和恢复,也能够根据业务数据预估容量。

三大件

运维的全部工做都是围绕三大件展开的:成本,效率,可用性,找到三者的平衡点是运维的终极目标。网络

成本

顾名思义,公司要提升利润,除了增长收入就是缩减成本。运维最头疼的事之一就是一面要拼命压缩成本一面又要说服老板投入资源。在数据为王的时代拿出数据是最具说服力的,这时一个好的资源管理系统就很重要了,一边是减量一边是提升利用率。除了众所周知的硬软件资源,人力成本每每被忽视,有时候为了一点机器资源把一堆应用堆在一块儿形成的问题排查费时费力,消耗的人力成本比机器成本要高的多。架构

效率

在互联网时代要想打败对手只有一个绝招那就是快。在业务的整个生命周期中,除了开发功能要快,不管是申请机器资源仍是CI/CD、测试也要快。可是快就意味着不稳定,若是一个业务故障频发即便功能再领先也会被对手后来居上。快和稳自己就是矛盾的,又快又稳只能无限趋近。运维

可用性

谈到可用性,从之前的主备切换到如今流行的同城双活,异地多活,都是用的冗余的方案,至少要保证一个区坏了还有一个区能扛住,即便线上没准备,资源池里面也要准备。既要可用性又要降成本,异地多活的优点就是区越多冗余越少,总不能全世界都瘫痪了,那时也谈不上业务了。既然是冗余,那就意味着在正常状况下多了,因此阿里会作离在线混布提升冗余的利用率。另外一方面,还要保障正常状况下的可用性,发布流程、回滚方案等等这些又和效率相冲突。机器学习

系统设计

按照依赖关系,我把常见系统分为三层,第一层是基础系统层,没他不行;第二层是业务系统层,都是为业务服务的;第三层是统筹系统层,除了更全面还要更智能。 微服务

后话

如今大部分公司都上云了,云确实很方便,可是也带来了管理问题,特别是使用多个公司的云的状况下,用法不一致就不说了(微软云就是另类)甚至同个公司的不一样区功能还不一致(亚马逊国区和国际区)。因此该有的系统仍是要有的,把云当成之前的机房就好了,若是有个标准能把全部的云都统一了就行了,感受找到了发家致富的新道路呢。工具

相关文章
相关标签/搜索