专栏作者:宝玉
专栏发布平台:极客时间
究竟什么是 DevOps?DevOps 到底要做什么事情?
在传统的瀑布模型开发中,软件生命周期中的运行维护这部分工作通常是交给运维工程师来完成的。

早些年这种运维模式运行的很好,但随着这些年互联网发展,有两个主要的因素对传统的运维模式产生了很大挑战。
第一,服务器规模快速增长和虚拟化技术的高速发展。
这些年技术的快速发展,大型互联网公司的服务器数量越来越庞大,而中小公司都开始往云服务上迁移,基于 Docker 这样的虚拟化技术来搭建在线服务的基础架构。
意味着以前的手动方式或者半自动的方式难以为继,需要更多的自动化和基于容器技术或者相关工具的二次开发
第二,高频的部署发布。
敏捷开发和持续交付的概念兴起后,更新的频率越来越高,每周甚至每天都会有若干次的更新部署。
DevOps 可以理解为一种开发(Development)和运维(Operations)一起紧密协作的工作方式,从而可以更快更可靠的构建、测试和发布软件。
采用 DevOps 的方式工作的话,会带来哪些好处呢?
DevOps 原则:自动化、信息透明可测量、构建协作文化。
首先,DevOps 工程师要帮助团队建立基于持续集成和持续交付工作流程。
关于持续集成和持续交付,不仅仅是工具的使用,同时还是基于工具之上的一整套的交付工作流程。
这是 DevOps 工程师首先要去解决的问题.
其次,要建立一套基于日志的监控报警的系统,以及故障响应的流程。
需要能建立一套基于日志的监控报警的系统,将应用程序还有运行环境的各项数据监控起来,设置报警的阈值。
然后,要构建基于云计算和虚拟化技术的基础设施。
虽然并非每一个软件项目都是基于云计算或虚拟化技术来搭建的,但云计算和虚拟化技术方面的技术,其实是横跨开发和运维的。
最后,要形成 DevOps 的文化。
DevOps 最核心的本质就是工作方式和协作的文化,而这样的文化需要有人引领,一点点去形成。
DevOps 可以理解为一种开发和运维一起紧密协作的工作方式,从而可以更快更可靠地构建、测试和发布软件。DevOps 的主要原则就是自动化、信息透明可测量、构建协作文化。