美文网首页@Docker创业程序员
持续部署的发展之路

持续部署的发展之路

作者: Docker小盒子 | 来源:发表于2017-09-05 17:39 被阅读67次

我们无数次听到这类的抱怨:管理层不会去做、代码太过混乱、项目太大、有太多的监管障碍。由此种种,对于许多企业来说,在持续集成/持续部署的道路已步履蹒跚,但不得不说,仍有一部分企业做到了。

以Michiel Rook在2016 年的DevOps大会上的演讲为例,一起来看看关于持续部署的发展之旅。他们的项目被称为“San Diego Project”,但他们公司内部却被称为“大泥球”,因为它的代码库相当地混乱。

下图是实施持续部署前的状态:

该项目的压力很大。皆来源于它纯手动发布,脆弱的测试,频繁的宕机以及问题不断。这个项目团队大约由16人组成,但他们对修改现有代码并没有什么信心。

他们知道需要做什么,所以他们设定了以下目标:

减少问题

减少周期时间

提高生产效率

提高积极性

他们采取的方法是:整体修改,建立一个代理并添加一个服务,然后不断地增加服务,直到这个整体被取代。

他们以如下原则来指导这次持续部署之旅:

应用strangler模式

使用API的第一个方法

为每个domain设置一个服务

迁移单个页面

建立负载平衡器后的服务

访问遗留数据库

实施持续部署

运用docker

开发前端作为服务

从持续集成开始:开发和构建/测试,每次都产生一个工件。持续交付:从构建/测试到验收再到生产; 进入生产阶段是一个手动的过程,但代码是可部署的。最后,当整个流程实现自动化时,就达到持续部署的目标了。

关于持续部署的优点有以下几点:

小步推进

早期反馈

减少循环时间

风险减低

实验室环境

Michiel的项目落地后,他总结了几个实现持续部署的关键方面,如下:

l直接提交到Master没有分支。我们都不希望延迟集成,且滥用版本控制功能分离。另外,分支上的所有内容都会增加冲突和延迟集成的风险。

每一次提交都要投入生产。

使用配对编码进行代码审查。这需要约束,但所有的开发人员都需要成对进行,混合搭配有经验的开发人员。

严把质量关。确保大量测试和代码覆盖率。

功能切换和A/B Test确保一部分开发人员可以看到版本信息,一部分人不能看到,并促进A / B测试。但一定要把人员数量保持在一个合理的范围内。

Dashboards显示是部署的关键,通过它我们可以获取很多信息,比如KPI、构建时间、页面加载时间、访问者数量、A/B Test结果,等等。

DevOps心态是一种文化;dev和ops之间并无太多隔阂。团队内部都拥有所有权,但这并不意味着每个人都知道所有事。

自动化可重复的事。如果同样的事你需要做两次,那说明你已经浪费了时间。

连续测试。使用单元测试和冒烟测试来查看服务是否存在,并持续监控。探索性的测试很重要,因为你将继续测试最关键的路径。

管道作为代码。自动化流水线。最后,部署起来是这样的:

反馈–及时的反馈很重要,因为DevOps是在此基础之上建立的。举个例子,Michiel这个项目上有一个闪烁的红光,这表示失败。所以不管什么时候,及时反馈都是工作中的第一要事。

Michiel的项目时间跨度有一年之久。最终,他们将每个服务的构建时间减少到不到10分钟,显著改善了页面加载时间,同时他们自己也增加了自信心和加快了速度等。明白了团队需要接受和改变的重要性的真理。同时,他们还了解到,与业务优先级一致是关键,确保拥有一定工作经验的员工亦是至关重要,限制功能切换同样至关紧要。

总的来说,Michiel和他的团队实现了持续部署。在他的演讲结束时,Michiel也提到了他的无奈,想要取代的遗留系统仍在服务中。所以持续部署这条路还很长,但值得去做。

关于Ghostcloud

Ghostcloud(中文名:精灵云)坐落于成都天府软件园,是成都高新区重点扶持企业,国内首批从事容器虚拟化研发的企业,是西南地区唯一一家基于Docker的云计算服务商,为企业级行业客户提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务。

Ghostcloud因容器技术而生,以最新容器技术Docker为基础,为适应不同行业客户需求,全自主研发了一套调度引擎框架Newben,且全方位适配Kubernetes主流开源调度引擎,也是国内率先实现双调度引擎的企业,是一流的企业级容器云服务专家。Ghostcloud推出了企业级容器云PaaS/CaaS平台,命名为EcOS(EnterpriseContainer Operation System)。Ghostcloud将EcOS平台与微服务/DevOps相融合,运用至企业IT系统的全生命周期的开发、测试、运维及发布流程中,致力于为多个领域企业向“互联网+”转型提供针对互联网化、私有云管理平台、大数据业务基础架构的平台服务,帮助企业级客户降低成本、提升效率、简化运维及产品部署,并提升系统的可靠性和安全性。

相关文章

  • 持续部署的发展之路

    我们无数次听到这类的抱怨:管理层不会去做、代码太过混乱、项目太大、有太多的监管障碍。由此种种,对于许多企业来说,在...

  • 初创型公司运维专题

    持续部署系列 初创型公司-持续部署系列(一)服务架构 初创型公司-持续部署系列(二)部署web站点 初创型公司-持...

  • 可持续发展之路

    不管是那一方面,我们都应该明确,只有可持续发展的,才是长久的发展。任何短暂性、爆发性的发展都是不可取的。 在我们身...

  • devops

    谈谈持续集成,持续交付,持续部署之间的区别 2016年08月03日 标签:beta, 持续部署, 持续集成, 持续...

  • 持续集成

    持续交付和持续部署 提交 => 测试 => 构建 => 测试 => 部署 => 回滚

  • 教与学|册亨县丫他民族中学第三周教学活动纪实

    培养可持续发展的学生造就可持续胜任的教师实施可持续提升的教育 【教研活动部署篇】 3月3日,在教学教研启动会上,黄...

  • jenkins+gitlab实现持续化集成持续化部署

    通过gitlab+jenkins实现持续集成,持续交互 部署gitlab 查看部署gitlab部署文档,请点击 部...

  • 持续集成/持续部署平台——jenkins

    界面: 标签:开源,java,持续集成,持续部署,分布式 简述:Jenkins,一个开源的持续集成、持续部署系统,...

  • 学校开题报告会带给我的收获

    学校教科研是深化教育改革推进课程改革的必由之路,是学校可持续发展的必然选择,是教师可持续发展的重要途径。科研兴校是...

  • 2018-11-30

    政论分析型的作文 推进生态文明建设引生态文明清风 ——走可持续发展之路势在必行 ...

网友评论

    本文标题:持续部署的发展之路

    本文链接:https://www.haomeiwen.com/subject/jpqpjxtx.html