`
taowen
  • 浏览: 193817 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

持续部署才是王道

阅读更多

原话是“Continuous Deployment is the holy grail”。在听到的这句话的时候,我的灯泡突然被点亮了。说得实在是太对了。有一句老话是“纲举目张”。意思是提起渔网上总绳,一个个网眼就会被张开。我们的很多实践,就像这渔网上的网眼,琳琅满目。我们缺乏的就是这样一个总绳来把所有的实践联系起来。No,No,No,你错了。你可能要说,我们有这样的一个总绳,它的名字叫Agile。那是昨天的名字了,今天的名字叫Lean,天晓得明天的名字会是啥。这个总绳,还叫Pragmatic,还叫Value Driven。这些确实是可以起到概括一切的作用,但是你怎么知道你做的是不是
Agile呢?是不是Lean呢?是不是Pragmatic呢?是不是Value Driven呢?这些都缺乏一个实际的可测性。Continuous Deployment,强大之处就在于,他很直白,甚至是缺乏内涵的。所以很容易知道,你到底做到了没有。这就是我们所需要的总绳,能够时刻时刻地把我们所有的实践团结在一起,纲举目张。

那么持续部署为什么就是王道了?这里有两个可以产生歧义的地方,持续部署与王道。什么是持续部署?而王道又是什么?Holy grail,王道其实就是说this thing is good。我们经常在口头上对某件事物表示赞叹,常用的词汇就是“好”。王道就是特别好。好是主观的,我认为软件开发这个领域中,好就意味能够从投入产生出持续的真金实银的回报。好也不在于界面如何友好,不在于code有多优美,所有这些指标都是间接的。唯一的指标就是到底产生了多少金钱上的回报。如果我们假设,软件开发产生回报的唯一手段就是把软件部署到产品环境,去提供服务(另外一个方面,如果不用部署就能产生回报,也许就不是一个软件开发项目,也许是某些政府部门的政治项目)。可以得出一个结论就是,要持续的产生回报就必须持续地进行部署。这看似是一个很浅显的道理,但是浅显的问题的可怕之处就在于,不是所有的人都意识到了这一点。

持续部署又是什么?持续意味着一直在部署,相对的就是偶尔部署。持续与偶尔部署的区别就在于,你把部署看做一种常态,还是一种偶然发生的事情。如果部署在所有的开发行为中,所在占到了10%而不是1%,那么就不再是偶尔才做的事情了。要想朝着持续部署的方向前进,意味着以前开发向前10步做一次部署,就得朝着5步一次部署,2步一次部署前进。持续并不是很难理解的问题,难度在于How?前面说了持续部署只是一个总绳,而渔网上的那么多的网眼就是How的答案。我们有SOA的架构,有高耦合低内聚的设计,有Domain Driven Design。有在线的Migration。给持续部署找出具体于你的Context的解决方案,就是整个Team需要努力的事情,它只是一个方向,而不是一个具体的solution。

最容易在实践中被混淆的就是“部署”。这似乎是另外一个很浅显的问题,但同样你会惊讶于到底有多少次我们做到了真正的部署。部署不仅仅是把软件包安装到某台机器上 ,让人可以来用。部署意味着,确实给业务提供服务。最容易检测的方法就是,把你部署好的软件反部署之后,会有多少业务无法运行,有多少比例的用户受到影响。根据这样的定义,部署到Staging环境不是部署,部署成为一个只有1%用户使用的Pilot版本也不是部署,部署到服务器上,但是所有用户仍然再用旧的系统,只是出于好奇才来用一两下的情况也不是部署。只有部署到产品环境上,给绝大部分用户使用,提供别的系统无法提供的服务时,才算是真正的部署。不要拿什么用户体验改进来搪塞了,不要再喊什么这只是一个Pilot了。只要不是真正地提供无可替代的服务,就根本不可能产生一个子的价值。“部署”成一个测试环境,只不过是给将来真正的部署,去赚那真真的一个子的钱,做准备而已。在此之前,都是投入,而不是产出。在产出真正实现之前,都是浪费。

你有没有问过你自己,你过去一年写的代码,有现在是部署了的。你过去三个月写的代码,现在是部署了的。你过去一个月写的代码,现在是部署了的。你过去两个星期的代码,现在是部署了的?不在于代码的多少,以及功能是否强大,只要是部署了,起码就有提供价值的可能。我们需要的就是,每天都问自己一遍这个问题。不但要个人的reflection,整个团队都要问这个问题。最重要的是,product owner,也就是我们乙方所谓的甲方,是不是也在问自己这个问题?如果是,那么很好,那么我们在追求卓越软件的道路上了,至少已经开始上路了。之前,只不过是在泥沼中爬行而已。

0
0
分享到:
评论
2 楼 taowen 2010-03-10  
举一个例子,如果是一个已经存在的系统。你可以只添加一个新的Feature,但是这个Feature是和已有系统的其他部分集成起来的。这样不能商用吗?如果这个Feature需要修改现有系统,或者扩展现有系统的外部接口,就先把要改动的模块显式地分出来,然后再添加这个Feature。这个就是Eric Evan所说的Strategic Design。
第二个例子。如果不存在已有的系统。那么现在的业务是靠什么运行的。应该就是靠文档和各种单据吧。这不就是一个“现有系统”么?只是不自动化而已。同样可以引入一个Feature,去改善这个“现有系统”,把其余的任务仍然用手工完成。这样不能商用么?
1 楼 funcreal 2010-03-10  
仔细看了看,怎么感觉跟不上你的思路呢?
这里所说的部署感觉是要商用的意思,可是一个不完整的系统如何商用呢?

相关推荐

    算法导论——算法才是王道

    pdf文件,算法导论中文版,一本风靡全球的书。适合广大大学生使用。项目经验不是关键,缺少的是算法思想。

    联盟程序-无错才是王道

    同时,定期的代码审查和持续集成/持续部署(CI/CD)流程有助于保持代码的质量,并尽早发现和修复错误。 总结来说,“联盟程序-无错才是王道”意味着在多人协作的项目中,保持代码无错是成功的关键。这需要开发者...

    王道考研机试指南(pdf)

    王道考研机试指南是针对计算机考研学生准备机试环节的指导性资料,由王道论坛发布。该指南强调了机试在计算机考研中的重要性,并提供了准备机试的有效方法和建议。以下是针对该指南的详细知识点总结: 一、机试的...

    瑞信-5G:低成本才是王道

    Operators beginning to incur real costs for 5G. Operators in Korea and Australia have already purchased 5G spectrum at auction. In China, on 7 December 2018, the MIIT issued allocations of mid-band ...

    浪潮云服务:安全可信才是王道.pdf

    浪潮云服务:安全可信才是王道.pdf

    电商之道:低价并不是王道 低成本才是王道.docx

    然而,如“电商之道:低价并不是王道 低成本才是王道”所示,低价策略并非长远之计,真正的竞争优势在于实现低成本运营。这个观点得到了多位业界专家和企业领导者的认同。 经纬中国高级投资经理肖敏指出,2021年...

    网赚在当下才是王道千万不要好高骛远.docx

    网赚在当下才是王道千万不要好高骛远.docx

    王道数据结构.zip

    《王道数据结构》是针对计算机科学与技术专业考研学子的重要参考资料,主要涵盖了数据结构的基础理论、算法设计以及分析等内容。这份压缩包包含了2019年和2020年的版本,无水印,适合考生们进行系统的学习和复习。 ...

    2023王道操作系统课件

    2023年王道操作系统课件正是针对这一需求精心编排的资源,旨在帮助学生全面掌握操作系统的基本概念、设计原理及其实现方法。 首先,我们要了解操作系统的基本功能,它作为用户与计算机硬件之间的桥梁,主要负责资源...

    王道2019数据结构

    王道数据结构2019,c语言,pdf.

    王道考研单科书.z

    在备考2020年研究生入学考试的过程中,计算机科学与技术专业的学生们面临的是激烈的竞争和极高...考生应当充分利用这些资源,结合个人的努力和持续的学习,为自己的未来开疆拓土,为实现自己的学术目标打下坚实的基础。

    计算机考研 机试指南-王道论坛

    书中的所有机试试题在九度OJ(ac.jobdu.com)均有收录,建议同学们在阅读本书时,结合上机练习,自己动手才是王道! 作者简介 王道论坛(www.cskaoyan.com)组织名校高分选手,编写了4本单科辅导书。单科书是基于...

    王道模拟题及答案

    在考研备考和数据结构学习的旅途中,《王道模拟题及答案》的出现无疑为无数学子提供了一条更为明晰的道路。作为一份集合了多套模拟试题和详尽答案的电子资源,它不仅是考研大军的备考利器,也是日常学习中巩固数据...

    王道论坛计算机考研机试指南(pdf+代码)

    《王道论坛计算机考研机试指南》是一份针对准备计算机专业硕士研究生入学考试(简称“计算机考研”)的宝贵资源,特别关注机试部分。该指南由王道论坛提供,这是一个在计算机科学学习和备考领域享有盛誉的在线平台。...

    通达信公式指标源码简约才是王道 主图.doc

    "通达信公式指标源码简约才是王道 主图.doc"这个标题表明了作者试图通过简洁的源码设计一个强大的主图指标。在金融市场的分析中,简洁的代码往往意味着更高的执行效率和更少的出错可能性。 源码中首先运用了...

    王道2019计算机组成原理

    根据给定的文件信息,我们需要详细说明“王道2019计算机组成原理”这一标题下的知识点。 首先,“计算机组成原理”是计算机专业的一门基础课程,它研究计算机系统的基本结构、工作原理、设计方法以及性能分析。这门...

    多途径抢票才是王道.docx

    标题中的“多途径抢票才是王道”暗示了在抢购火车票,特别是春运期间,单纯依赖单一方式可能无法成功,因此需要采取多种策略和工具来增加购票成功率。描述中提到12306官方网站在高峰期经常出现问题,这强调了需要...

    考研王道数据结构代码.zip

    "考研王道数据结构代码.zip"这个压缩包包含了2020年王道数据结构课程的课后习题代码,对于考生来说是一个宝贵的参考资料。 王道数据结构教材以其清晰易懂的讲解和丰富的例题著称,其配套的可执行代码可以帮助学生更...

Global site tag (gtag.js) - Google Analytics