如何加速软件部署?

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"敏捷及其相关的实现技术,是亘贯过去十数年乃至更长时间的一个聚焦话题。尽管 CI\/CD、DevOps 业已成为敏捷的关键特性,但在实际部署中还是免不了磕磕绊绊之处。每次部署都独具其神奇之处,影响团队在每次软件交付中的工作量。"}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"为什么要快速部署?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"无论系统架构是多么的漂亮,代码是多么的优雅,测试套件是多么可靠,但唯有真正地将代码部署到生产环境中,我们的工作才能对客户产生实质影响。代码在部署之前,只是一些与面试问答毫无二致的智力活动。部署才能将这些知识产权转变为经济活动。毫无疑问,代码应尽快得到部署。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"然而,工程团队却在为此苦苦挣扎。大量有据可查的事实表明,绝大多数的宕机事故都是由部署新更改造成的。道理的确如此,如果什么都不改变,那么发生事故的可能性也就大大降低。因此,部署代码明显是存在风险的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"绝大多数当下流行的工程实践,目的都是在提高软件部署速度的同时,降低因部署加速而引发的故障风险。这些实践大多在小型企业畅通无阻,但是当软件或团队规模随着企业发展壮大而持续增长时,具体场景的重要性就愈发显现。从开发回溯到设计和实现的逆向工程,会暴露出大量的低效之处。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"软件的高质量快速部署是现实的目标,基于这一认可,本文将针对软件交付过程提出流程化的观点,识别并疏通瓶颈,提高流程效率。约束理论(Theory of Constraints,TOC)在其中的应用,意味着可对软件的交付流程做逆向建模,进而识别瓶颈,并逐一做优化。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"部署会导致服务宕机"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章