本文共 1489 字,大约阅读时间需要 4 分钟。
*作者:周世杰
上一节我们谈到了《微服务技术》,在实施微服务过程中,企业运维能力直接决定了实施的效率和产出。如果开发团队和运维团队之间无法密切协作,实施过程将会存在很大的沟通成本,DevOps也因此而诞生!本文将从以下六个方面来介绍DevOps技术:DevOps是什么、DevOps的价值、DevOps的组成元素、DevOps的实施、DevOps实施工具、对DevOps的思考。
对于DevOps的定义和理解,网络上的解释众说纷纭:
• 有人说DevOps是开发与运维的协作 • 有人说DevOps是流程自动化 • 有人说DevOps是频繁的最小交付 • 有人说DevOps是… 其实大家说的都对,只是角度不同,正所谓:“一千个读者就有一千个哈姆雷特”。 DevOps一词来自于Development和Operations的组合,重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件的构建、测试、发布更加快捷、频繁和可靠。DevOps包含了三个部分:开发、测试和运维,如下图所示: 换句话说,DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。DevOps涵盖了代码、部署目标的发布和反馈等环节,闭合成一个无限大符号形状的能力环。如下图,良好的闭环可以大大增加整体的产出。• 加速软件交付
扩大协作,让开发、测试、运维、用户处于一条业务生产线, 以便消除组织沟通和管理的障碍。 • 平衡速度、成本、质量和风险 软件交付过程自动化,以便消除人力、资源的浪费和工期延误。 • 降低客户反馈时间 扩大用户反馈圈,以便可以持续提高产品质量。关于DevOps,网络上被谈及最多的是流程和工具,实际上,文化也是DevOps非常重要的组成元素,如下图所示:
从文化角度上,DevOps应该成为组织文化的一个内在要求。 ① 企业关注的产品应该转向最终交付价值以及响应用户和市场变化的能力。 ② 企业需要从组织架构上解决遗留下来的Dev和Ops隔离的状态,为他们走向融合提供组织上的保障。 ③DevOps文化强调跨部门协作和直接主动沟通。从流程角度上,DevOps打通了开发、构建、测试、部署、运维、修复等各个环节,是最大化交付价值的最佳实践。
从工具角度上,DevOps是一种工具链,这其中包括代码管理工具,持续构建工具,代码部署工具,系统监控与运维工具等。
DevOps落地指导原则:自上而下的文化渗透,自下而上的逐步实施。下图展示一个简单的DevOps流水线:
DevOps在实际落地过程中,涉及细节较多,推荐分阶段开展: • 一个小团队走通最小的一个闭环,打通从开发到上线(测试环境),再到测试的全部流程。 • 其他(微服务)团队逐个引入,然后将各个团队开发的功能服务集成到一起。 • 企业内部所有流程走通且成熟稳定后,扩展到生产环境。从实施的多个方面,为大家推荐常用的工具,如下图所示:
DevOps带来的技术冲击,远胜过容器技术,我们可以从对IT人员的影响来看:
随着云计算和容器技术的快速普及,DevOps越来越被重视,甚至成为保证公司生产力的最佳之选。DevOps成功与否,关键在于公司组织文化是否利于协作,其次是流程的设计,最后才是工具的选择。
说到工具,现流行的容器集群管理系统–Kubernetes想必大家有所耳闻,下节就为大家分享《Kubernetes 快速上手》。转载地址:http://vivxi.baihongyu.com/