DevOps 在2018年的五个趋势

刚刚过去的2017年对于 DevOps 来说是里程碑式的一年,各个行业都开始结合自身的业务特点,在落地 DevOps 这件事情上有了一些规划、探索。虽然大家对于 DevOps 究竟是什么依然未能完全达成一致,但每个企业确实又能找到符合自身能力需求的部分。DevOps 带有很强的实践色彩,解决实际问题才是王道,既然那么多的 DevOps 工具、流程和方法无法一次性落地,那么先解决一部分问题总是好的,这也很符合 DevOps 的实践精神。

2018年,容器技术和 DevOps 这对好兄弟会联手上演一场大戏,这是业内大家都认同的趋势。但具体落地的路径究竟如何,目前都还是经验积累阶段。闻道有先后、术业有专攻,在众多的工具、流程和方法中找到一个解决所有问题的“银弹”固然是不大可能,但总结一些经验和教训,对未来做一些预测总归是有备无患。

趋势一 统一的自动化流程

DevOps 最直观的一个价值就是自动化,自动化构建、自动化测试、自动化部署等等。自动化的价值自然是很清晰的,但目前的自动化还是各种工具、各种平台、各种语言独立在走自动化之路。比如,公司里的 Java 项目和 Node 项目,由于其私服都是各自搭建的,仓库也是各个团队在维护,自然各个团队直接都是烟囱式的结构。这种结构的问题在于很多协作变得不可能,比如 Java 项目团队将仓库分为了开发库、测试库和发布库,制定了一套机制很好地实现了发布流程自动化的机制,但其他项目还是得重新去构建自己的流程和规范。

未来的趋势肯定是一个仓库包含所有的语言类型,比如 Java、Node、Python 等等开发语言,统一提供高可用、负载均衡和容灾备份等问题,那么这些仓库都适用同一套自动化规则。DevOps 一个很重要的标准就是可度量,只有在流程统一的情况下才方便去持续度量,然后发现问题从而持续改进。

趋势二 基于数据的决策

在规范了自动化的流程后,数据将会变得更有价值,而且随着时间的推移,历史数据将能提供更多的智能化决策建议。每一个数据点的背后,都带有一个基准数据作为参照系,企业可以根据自身的成熟度模型适当调整,但总体来说,数据不再只是反映当前的状态,更多地是实时与历史数据、基准数据做对比分析,动态提供建议、风险评估和预测。

如上图所示,在1月23日这段时间,与基准的运行轨迹差别很大,说明计划外的任务或者 Bug 比较多,那么意味着工作量评估存在一些问题,可能是 Buffer 设置不合理,或者是对人员的能力评估不准确等等。系统在这些异常点给出一些警示及可能的建议,那么在下一个 Sprint 开始时,对于用户的设置提出一些风险及建议。

数据变得有温度,这是数据应用的最佳实践,但这背后要有很多的数据分析能力的支撑,所以,DevOps 变得智能将是下一代 DevOps 的显著特点。

当然,数据决策最直观的方式还是可视化,在这方面 Capitalone 开源了一款 DevOps 可视化面板 -Hygieia。这款产品是支持高度自定义,且支持多种 DevOps 工具的可视化,如代码提交频率,构建情况及质量情况等等,从团队管理者提供快速的决策支持。

趋势三 加速基础设施独立性

容器的兴起对 DevOps 有不小的促进作用,这也是未来的趋势。Mesos 与 Kubernetes 争雄的时候,很多人认为 Kubernetes 只是玩具,难以担当数据中心操作系统的大任。容器编排的意义不仅仅在于管理一堆容器,更重要的目的在于将整个数据中心抽象成一台服务器。好在 Kubernetes 发展迅猛,从应用运行的角度切入,最终赢得了大家的欢心。Mesos 只是做了更长远的事情,但未能知所先后,导致发展趋缓。

目前还有很多应用是通过脚本来部署的,当然大部分都采用了 Ansible 等工具,但只是提高了时效性,部署者依然需要关注应用运行的基础设施是什么样的。容器及容器编排技术使得完全可以不关注底层基础设施,将一个应用扔到服务器的×××大海里,可能在物理机上运行,也可能是虚拟机,可能是 CPU,也可能是 GPU 的,更加不用关心是什么样的操作系统。大有“只在此山中,云深不知处”的意味。

从最近流行的 Service Mesh 更加佐证了这一观点,应用和基础设施的剥离是大势所趋,只不过是一个循序渐进的过程。所以,Devops 和容器技术是互为因利乘便的关系,容器是未来应用运行的标准形式,DevOps 也将加速这个潮流。但这并不否认传统非容器应用的价值,但也一定是朝着与基础设施无关的方向发展。

趋势四 更丰富的灰度场景

如果前三个方面趋势成为现实,那么应用发布的速率将会呈指数上升,发布日将不再存在,随时随地上线,滚动升级将成为现实,然而大规模、复杂系统的上线靠什么来保证质量呢? 最近比较流行的混沌工程可能是这方面的一个探索,通过引入一些扰动因素来逐步完善灰度的策略,这个过程就是一个持续学习、持续优化的过程,同样,历史数据起着至关重要的作用,大量的算法和机器学习开始登场了。

Netflix 公司的开源项目 Chaosmonkey 已经有这样的趋势,通过随机地关停虚拟机或者容器去看系统如何做出反应。目前来看,Kubernetes 的应用迁移、弹性扩容、副本集等特性具有很大优势。但单纯从应用层面处理肯定不够,还有一个很重要的层面需要关注,那就是应用的模板-镜像(或者二进制包),未来的复杂场景肯定是多地域的,那么数据中心之间的快速自动分发,仓库高可用、容灾备份等也是确保整个灰度系统正常运转的关键要素。

趋势五 需要更多企业级特性

正如第四点所述,更复杂的灰度场景,需要更多底层的支持。目前一时间还难以实现应用全部容器化,但多种语言、仓库的高可用、容灾和分发是必须满足的场景。既然应用可以在多个数据中心任意迁移,那么应用的"母体"也必须可以同步迁移,否则混沌工程必然发生混乱。

从目前的工具来看,很少可以达到这种要求,JFrog Artifactory 具有这种全球分发的案例,在2017年 AWS 技术峰会上,HERE Technology 分享了他们的案例,通过这种方式支撑了百万级别工件量级的分发,每天在系统里流转的数据超过 10TB,从市场上的情况来看,他们已经走在了前列。

原文地址:http://blog.51cto.com/jfrogchina/2091060

时间: 2024-10-29 22:30:48

DevOps 在2018年的五个趋势的相关文章

2016中国呼叫中心知识库发展的五个趋势

在短缺经济时代,产量即销量,只 要生产出来产品不论好坏,总能销售出去:后来的同质化竞争时代,降低价格和增加功能都能带来明显的销量提升,所以我们看到不断的价格战和功能创新.在这两 个阶段,企业在本质上不用太过关注客户的需求和体验,只需要大量生产或者降低成本.提升功能就会有源源不断的客户. 但现在,时代已经改变! 从2015年始,供给侧改革成为热词,一方面我们生产的大量产品积压库存高企无人问津,另一方面是大批国人走出国境采购.加上互联网.大数据等技术 手段的应用于普及,我们真正进入了"消费者主权&q

转载:2018 存储技术热点与趋势总结

文章来源:SmartX知乎专栏 作者介绍: @张凯(Kyle Zhang),SmartX 联合创始人 & CTO.SmartX 拥有国内最顶尖的分布式存储和超融合架构研发团队,是国内超融合领域的技术领导者. -------------------------- 过去半年阅读了 30 多篇论文,坚持每 1~2 周写一篇 Newsletter,大部分都和存储相关.今天在这里进行一个总结,供大家作为了解存储技术热点和趋势的参考.本文包含了全新的技术领域,如 Open-Channel SSD,Machi

未来五年内将重塑大数据技术的五种趋势

请大家不要再纠结于一块磁盘能保存多少数据或者企业到底会不会采用Hadoop.关于大数据的真正问题在于,企业用户将如何使用Hadoop.我们的系统到底能在智能化道路上走多远.我们又该如何保证这一切都处于控制之下. 过去几年当中,大数据技术已经迎来长足发展:从一个乐观积极的流行词汇变成人见人恨的疑难杂症,关注重点也由纯粹的数据规模转向对类型及速度的追 求.所谓“大数据”及其相关技术在经历了高度重视.详细甄别以及吐故纳新之后,实际成果很可能与我们的认知存在较大差异.然而时至今日,我们正站在历史的 重要

2018.4.20 五周第三次课

shell介绍 shell脚本在日常的Linux系统管理中是必不可少的: shell是系统跟计算机硬件交互时使用的中间介质. shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以由自己特定的shell: centOS7默认shell为bash(Bourne Agin shell) 还有zhs.ksh等. shell记录命令历史,默认保存至 .bash_history 文件中 概念:我们执行过的命令Linux都会记录,预设可以记录1000条命令

DevOps 工程师成长日记系列五:部署

原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-5-deploy-83e790545c23 原文作者:Igor Kantor 翻译君:CODING?戴维奥普斯 让我们简要回顾下我们的 DevOps 之旅: 在第一篇,我们介绍了 DevOps?文化以及相关的基础技能: 在第二篇,我们讨论了如何为将来的代码部署奠定基础: 在第三篇,我们讨论了如何有组织地管理代码:

(2018干货系列五)最新UI设计学习路线整合

怎么学UI全链路设计 全链路设计师是参与整个商业链条,为每个会影响用户体验的地方提供设计的可解决方案,最后既满足了商业目标,又提升了产品的用户体验和设计质量,与平面设计.UI设计彻底区分开来,是真正的设计行业未来趋势. UI全能设计师 UI课程介绍 行业情况介绍 互联网发展趋势 UI行业优势 设计师就业和薪资情况 UI与产品的关系 ps软件入门 ps在行业中的应用 常用工具 蒙版类工具的使用 文字与段落 通道的使用方法 调色工具的应用 图案与填充 滤镜的综合化应用 AI与品牌设计 AI工具使用

2018.4.19 五周第二次课

yum更换国内源 首先先恢复昨天的实验,把yum备份恢复回来 [[email protected] ~]# cd /etc/yum.repos.d #进入到目录[[email protected] yum.repos.d]# ls #查看当前文件dvd.repo[[email protected] yum.repos.d]# rm -f dvd.repo #rm 删除 dvd.repo文件[[email protected] yum.repos.d]# cp /etc/yum.repos.d.b

2018.4.21 五周第四次课(shell特殊符号,cut截取等命令)

shell特殊符号_cut命令 概念:cut命令用来截取某一个字段 格式:cut -d '分割字符' [-cf] n,这里的n是数字,该命令选项有如下几个: - d 后面跟分割字符,分割字符要用单引号括起来 - c 后面接的是第几个字符 - f 后面接的是第几个区块 cut命令用法如下 [[email protected] do]# cat /etc/passwd |head -2root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/no

2018.4.22 五周第五次课 (正则grep-过滤指定关键词)

正则表达式介绍-grep(过滤指定关键词) egrep使用时,不需要添加脱义字符\ 概念:它使用单个字符串来描述或匹配一系列符合某个句法则规则的字符串: 正则表示式通常用来检索和替换那些符合某个模式的文本内容. 无论是查找某个文档,还是查询某个日志文件并分析其内容,都会用正则表示式. 正则就是一串有规则的字符串: 掌握好正则对于编写shell脚本有很大帮助: 各种变成语言中都有正则,原理是一样的. 命令格式:grep [-cinvrABC] 'word' filename 常用选项如下: -c