目录
相信你一定听过 DevOps 这个词,那它到底是什么呢?为什么越来越多的互联网企业都在追随使用它?它与云原生有什么关系?本文将带你一起探讨一下。
一、DevOps背景
公司的业务发展越来越多的依赖软件,而且这种依赖程度越来越重,这也是发展趋势。而软件的开发过程也进入到了敏捷开发,这些年对敏捷开发的要求也越来越高,新业务新功能层出不穷,这就要求能够进行快速试错,甚至一天内升级部署多次都是有可能的,显然传统的模式是难以支持的。
软件开发最开始由两个团队组成:
- 开发团队:从开始对接需求,设计系统架构及开发代码,提测,到后期不断地进行迭代更新
- 运维团队:将开发团队的代码进行部署,然后又测试人员进行测试,最后进行生产环境部署,并希望系统稳定运行
这两个团队之间经常存在沟通障碍和工作流程不连贯的问题,导致软件周期交付周期长、效率低下、且难以响应快速的时长变化和需求。尽管敏捷开发改善了开发流程,但运维团队往往未能跟上快速迭代的步伐。
这时就需要一套开发团队和运维团队协同工作的一套软件,即 DevOps。
二、DevOps介绍
随着技术的不断进步,出现了云计算、容器技术(Docker)、配置管理工具、持续集成和持续部署(CI/CD)工具、代码管理构建工具等技术,为自动化软件交付提供了技术支持,使得快速、频繁、可靠的部署成为可能。
DevOps 组成
DevOps(Development & Operations)是开发运维团队协同工作的一套软件,软件开发流程如下:
- PLAN:开发团队根据客户目标或产品经理要求制定合理的开发计划
- CODE:根据开发计划进行编码过程,这时需要将代码