在互联网的产品开发时代,产品迭代越来越频繁,“从功能开发完成直到成功部署”这一阶段被称为软件开发“最后一公里”。

对于持续部署,@湾区日报 这样评论:

一个团队工程技术水平高低,直接反映在部署代码上。我碰到其他公司的人,都喜欢问你们怎么部署代码的,非常大开眼界。你很难相信,很多(有一定规模的)公司仍然是人肉 SSH 到十几、二十台机器上 git pull、手动重启服务器,部署一次代码几个小时 -- 这么原始,活该加班:)

持续部署(continuous deployment)是通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,毕竟快速运转的互联网公司人力成本会高于机器,投资机器优化开发流程化相对也提高了人的效率,让 engineering productivity 最大化。

image
image
image

image

持续部署成功的要点

一个持续集成 & 持续部署的自动化系统并不是那么简单的事,如果不选用其他 CI 服务,其开发工作量和一个标准的大型互联网业务系统没什么两样。如果没有持续部署的经验,要想成功地进行持续部署要注意这些:

  • 充分而广泛的自动化测试覆盖;
  • 尽可能短的测试反馈时间;
  • 部署过程自动化;
  • 部署过程要保证数据安全;
  • 在稳定的前提下,尽早部署;
  • 完善的风险缓解措施;
  • 将同样的产物部署到不同的环境中

image

image

image

image

image

持续交付能力成熟度模型

image

持续交付的运维观

1、持续接收到持续交付,运维的核心转变
2、运维掌握了最好的持续交付切入点:CMDB和持续交付
3、交付的最终评价:质量、效率、成本
4、持续交付是打破部门墙的核心实践
5、持续交付的本质:标准化+平台化+服务及面向用户的价值
6、基于交付链(Dev/Test/Ops)的全局优化,而非局部(Ops)优化
7、运维的问题不是仅仅运维侧的问题,是一个IT问题
8、运维离用户最近,你代表用户,就有最强的驱动力
9、跨界由此而生

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

希望对您系统架构,软件项目开发,运维管理,系统架构与研发管理体系, 信息安全, 企业信息化等有帮助。 其它您可能感兴趣的文章:
Docker与CI持续集成/CD
持续交付中高效率与高质量
持续集成CI与自动化测试
软件研发工程基础设施
容器化实践金融业案例一
云计算参考架构几例
微服务与Docker介绍
互联网直播平台架构案例一
高可用架构案例一
某互联网公司广告平台技术架构
某大型电商云平台实践
云计算参考架构几例
移动应用App测试与质量管理一
全面的软件测试
著名ERP厂商的SSO单点登录解决方案介绍一
软件项目风险管理介绍
企业项目化管理介绍
智能企业与信息化之一
由企业家基本素质想到的
敏捷软件质量保证的方法与实践
构建高效的研发与自动化运维
IT运维监控解决方案介绍
IT持续集成之质量管理
人才公司环境与企业文化
企业绩效管理系统之平衡记分卡
企业文化、团队文化与知识共享
高效能的团队建设
餐饮连锁公司IT信息化解决方案一

如有想了解更多软件研发 , 系统 IT集成 , 企业信息化,项目管理,企业管理 等资讯,请关注我的微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[1]

 


作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog

posted on 2017-02-02 21:51  PetterLiu  阅读(4036)  评论(0编辑  收藏  举报