3月28日云栖大会开源专场,阿里云高级开发工程师莫源给大家带来了“Dev Oops ? No , DevOps!”的演讲。本文主要介绍DevOps的相关知识,以及Jenkins2.0的高级特性,以及阿里云对Jenkins的增强。
DevOps在2016年被越来越多的开发者所提及,特别是和Docker相关的领域,DevOps被认为是开发者快速部署的最佳实践。81%的大型企业开始着手实践DevOps,但是于此同时,64%的开发者认为实践Docker的DevOps需要更多的参考与教导,44%的开发者还在测试与调研的阶段。
上面是标准化持续交付和容器化持续交付两个常见的最简化的持续交付流程,很多开发者从各种演讲或者社区中拿到类似的方案后就回到公司开始进行DevOps实践。
上面的两个例子都没有错,但是这是DevOps的“型”,缺乏DevOps的“神”,而“神”是什么,是DevOps的本质,没有一个DevOps流程是符合所有人需求的,开发者需要根据自己的业务形态来修改DevOps的流程,DevOps不是让大家成为全能的忍者,而是要消除“浪费”和“等待”。
DevOps是通过分而治之的方式消除“等待”和“浪费”的,将大的目标编程小的目标,然后快速迭代小的目标实现快速的交付。因此DevOps是要先有分而治之再之后才是快速,一味的追求自动化并不是持续交付的初心。
DevOps在Cloud Native、Microservices、Docker、Serverless等领域被大家越来越多的讨论,有人说DevOps不是一个技术问题,但是大部分的DevOps的实践是用来降低DevOps改造带来的技术债务的,DevOps的工具链非常多也非常繁杂,选择属于自己的工具链尤为重要。
在工具链中,持续集成服务器是整个持续交付流程的发动机,而Jenkins是我们推荐大家的最佳选择。Jenkins可以在非常多的场景中和其他的持续交付工具进行集成。
大家对Jenkins1.0有所诟病,主要是Jenkins1.0比较陈旧,而在Jenkins2.0的演进中,我们可以看到如下5个方面的变化。
阿里云也在Jenkins相关的领域做了增强,让开发者更好的使用Jenkins。
最后莫源也谈了一下关于近期即将开源的容器化改造的利器Derrick,通过独特的机制,可以自动生成Dockerfile,并且可以让开发者无感知Docker的情况下在本地调试容器化的应用,目前已经支持Node.js、Python、Java等多种语言,大客户可以发起申请,成为早期使用的客户。
最后阿里云容器服务持续相关的资料可以在官方的github仓库找到,欢迎大家follow。