DevOps在完成大量资料学习后我总结了一下

Owen Jia 2019年04月09日 721次浏览

在了解学习Docker的时候,同步接触了很多关于DevOps信息,特别是在Docker官网上也提到了DevOps,让我对它特别上心。

xx

咱们的原则是:说干就干,不要废话,走起 ... ...

前方高能,注意保护自己

十分靠谱的说在翻阅了大量的资料,看过了各种各样的解释,也看过很多公司总结DevOps的PPT资料后,我得出了一个结论:资料这种东西只要你看多了就会发现很多共同点,有很多东西大家虽用不同的言词修饰但是讲的其实都是一个东西。我们想要的恰恰就是这个东西,就是 核心理念

经过我多日“勤奋不眠”的梳理总结,差点吐血。要想感激我,可以给我发红包

对于DevOps,你只要掌握下面这几点足以:

  1. 自动化运维
  2. 可视化研发
  3. 智能化监控
  4. 数字化文化

devops

核心理念,建议抄下来

自动化运维

就是指针对运维工作效率进行提升,主要是使用自动化的工具去代替人力的工作。如Jenkins的job、Gitlab的CI/CD都可以大幅提升部署效率,又如Chef和Apollo这样的配置管理工具,可以释放维护的成本降低运维人员的成本。

使用了这些工具并不代表你就叫自动化运维,这只是第一步。我们的目标是要想办法让工具与工具组合成自动化的流水线,最终要达到系统能自动的完成运维的工作,而运维人员根本不用参与到过程中去。在使用工具的同时,我们要去改造这些工具让他们串行的完成整个流水线工作。

tools

可视化研发

指让整个研发的过程规范化、透明化、可追踪化。把研发过程量化并展现给整个团队,让每个成员既明白全局进度又明白自己所处的位置。

对于平台则可以展现并追踪所有项目产品的研发过程,再往上则可以提效降低成本。可视化的过程中,我们更多的要从项目经理的角度来思考和设计,想着如何去达到项目经理对所有研发过程的可控管理和结果预期。

xx

智能化监控

监控是第一步其次再谈高级的智能化,监控到我们认为所有需要并可以监控的地方,设置各种伐值和通知机制,如:带宽、内存、cpu、研发过程、自动化发布等等,当触及某个临界点就通知对应的人去处理或者系统自动处理。完善后就可以通过很多BI中用到的图标等办法,多维度多角度的分析一个个细节,通过监控反馈数据再对整个平台进行提效。

前面提到的自动处理就是我们要说的智能化,如扩容机制就可以让系统根据需要进行自动添加或回收,不用再手工去配置。我们可以和云商进行深入合作或者使用自己的虚拟云,通过脚本开发来实现自动化工作。又如服务器节点的扩增回收等等操作,这个智能化是一个过程,需要团队慢慢的去完善,最终达到我们想要的智能化。

ai

数字化文化

数字化在这里是很重要的概念,在流程中的开发、运维、测试三个环节都要做到最大甚至全部的数字化和指标化。比如当我们聊这个项目的研发效率时,不是随口就来的“大概70%”,聊研发同学的工作量时,也不是随口就来的“大概50%”。我们要做的是量化过程一切用数据说话,如:数据表明这次实际的研发用时占整个项目的73.34%。要打通各种工具和系统界限,将各系统的库进行整合形成一个数据仓库,再来进行BI分析。

比如:计算工程师对需求的响应效率,需求提交的时间、工程师看到需求的时间、开始处理的时间、处理完成的时间等,研发周期所有的需求数量、需求等级、需求的规模大小等,通过以上数据我们选择合理的公式就可以计算响应效率。

更重要的则是量化文化的培养,那是一种类似于圈子的认知统一,它会对新人有种带动力并最终让他们认可并传承这种文化,文化一定是具有自驱力和强大生命力的,当文化能够传承时便形成了文化。

omg

最终的理想国,安排 ... ...

打开脑洞,开始发挥我们天才的想象力,最终会是一种什么样的场景。

1、最终系统智能的自动化运维,已经不需要运维工程师了,有也肯定很少。 2、开发工程师会像工具一般机械式的生产代码,代码提交后都是自动的组装、测试和发布。 3、精英维护工程师(架构师级别)负责优化整个DevOps平台,AI出现后他们也可以不需要。

结果只有一种:

没有测试、没有运维、只有在被奴役的开发和正在喝茶的产品。

妹子

哈哈哈,完美,安排 ......


关注作者博客或者公众号:冬天就要吃胖点

wechat