很多人都聊过DevOps,在聊DevOps的时候顺带在说几个关键词,敏捷开发,持续交付等,这种词听起来很牛逼,不错,这个就是互联网公司都比较在意的。在没有聊DevOps之前,我们说一个小故事,话说以前有一个小工厂,就是生产手表的,我们都知道一个手表是有很多配件组合而成,一个机械手表大概需要130个零件,然后组合而成。这里工厂因为产能跟不上就快背淘汰了,后来找到一件第三方的公司,来管理这个流水线,原本工人都对这个工序已经熟悉了,首先,首先有一个部分生产大部件,表壳,表带,指针,以及表盘等等,有一个部门在做组装,另一个部门负责测试功能。原本这个流水线的产能是每天每天能够生产5w快手表,后来第三方公司修改流程后,每天的产能从原来的5w提高到20w。
在这个工厂管理前后没有发生变化,人员不变,时间不变,产能发生了变化,这个改变带来的效益不管任何一个老板知道了,都会捂着嘴偷笑。不过,在组装的时候和以前相比他们用了一个胶带,这个不起眼的东西。他们把生产表带,表盘等大部件的人员调整一部分去了组装部,进行组装手表,又把组装部原来的流程进行了一个调整,从原来每个人会拿很多零件去组装一个完整的手表,到把组装手表分成十个步骤,从前面的大部件到后面的小部件,从前面的五个人到后面的是个人,这样在组装的时候,只需要负责组装自己负责的配件就好。这样效率就提高上去了,每个人的工作效率都提升了2-3倍。通过这个事情我们可以想象一下,同样是干一天,产能的速度就瞬间提升上了。
你别认为上面的故事和我们今天聊的DevOps没什么区别,其实说白了,DevOps就是互联网公司的一个改革。有很多人不认同DevOps,也有很多人认同,认同不认同的区别在于所在的环境和对于DevOps的理解。我们都知道DevOps就是为了完成开发--测试--上线的一个过程,有的人认为我们公司人少,不需要这个过程,有的人觉得我们没有测试和运维也不需要过程,只有大公司才会需要这个过程。我觉得不是这样,我对DevOps的理解就是一个方向,我们针对这套的开发-测试-上线流程整理一套可持续,高效的流程。任何一个组织和个人,不管人多人少都应该有一个属于自己的流程,只是这个流程能够被大家认可否,能够给这个组织和个人带来持续,高效的工作方式,就是我们常说的敏捷开发,持续交付等等。
很多人都说,楼要高,地基要稳。那么我们的程序如果代码质量好,后面的稳住要在平台上了。那么在前期的开发中就需要大家认同这个流程,从开发提交代码,代码自动检测,构建,发布,测试等一套流程全无需人工干预,只有开发提交代码即可,后面全是自动构建生成。如果在这个流程中代码出现任何bug都可以通过自动测试反馈给开发,重新提交。在走一遍代码检测,构建,发布,测试等流程。这个流程在不同的环境走的是不一样的,不过区别是在意的关键点不一样。每一个环境针对问题的解决不一样,比如我们测试环境,在验收的是功能,线上环境验收的是功能包括所有服务之间的调用等等,这些需要自动化从新测试一遍。测试后在灰度环境,跑一段时间,监控日志的请求,自动回滚等等,服务的监控,平台的监控等等这些都是对于应用持续,平稳,的运行场景。以上只是个人的理解,不代表任何色彩,仅供参考欢迎一起学习。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏