项目管理
-
如何持续建设高效工程团队?从团队状态到资源投入的管理方法
一位朋友在过去六个月里一直负责支持一个约 60 人的工程组织。毫不意外,组织里的大多数团队都觉得自己严重缺人。于是问题来了:招聘名额应该平均分配给所有缺人的团队,还是集中投入到一两个团队,直到它们的人员需求得到充分满足? 这是一个很好的问题,因为它抓住了工程团队管理中最具挑战性的部分之一:如何在有限…
-
用定性指标衡量开发者生产力:为什么企业应重视来自开发者的数据
衡量开发者生产力,一直是一项复杂而艰巨的工作。传统指标通常聚焦于开发周期、交付速度和吞吐量,但这些指标存在明显局限,也很难单独回答“开发者生产力究竟如何”这一问题。 相比之下,定性指标提供了一种更有价值的路径:通过来自开发者自身的数据,理解他们的工作状态、协作体验、交付阻碍和真实感受。对企业而言,在…
-
负载卸除策略:如何避免系统过载并提升服务可用性
SEO 摘要: 本文介绍如何通过负载卸除避免系统过载,重点讨论过载反馈循环、有效吞吐量、客户端超时、负载测试、可见性、自动扩展、请求优先级、队列监控和分层过载保护等实践,帮助团队在高并发场景下保持服务稳定性和可用性。 简介 我曾在海外某些大型科技公司的“服务框架”团队工作多年。这个团队负责开发多种工…
-
队列积压治理:如何避免异步系统出现难以恢复的消息积压
SEO 摘要: 本文介绍如何避免异步系统中的队列积压问题,重点讨论消息队列、延迟、可用性、多租户公平性、死信队列、延迟队列、背压、限流和工作负载隔离等设计方法,帮助团队降低系统恢复时间并提升异步架构的可靠性。 简介 从现实生活中理解队列和算法 自从大学上第一门计算机科学课程以来,我就一直对算法在现实…
-
可用区静态稳定性架构:如何提升云服务高可用性
SEO 摘要: 本文介绍如何使用可用区实现静态稳定性,并通过控制平面与数据平面分离、主动—主动架构、主动—备用架构、分区服务设计和故障前容量预置,提升云服务的高可用性与故障隔离能力。 简介 在海外某些大型科技公司,基础设施服务通常需要满足极高的可用性目标。这意味着,团队必须仔细分析系统中的各种依赖关…
-
持续交付实践:如何通过自动化流水线加快软件交付速度
SEO 摘要: 本文介绍持续交付如何通过自动化流水线提升软件交付速度,并在加快发布节奏的同时降低部署风险。文章重点讨论持续改进、软件交付自动化、流水线工具、部署安全机制、生产前测试、生产中验证和发布时机控制,帮助团队在保证质量和可用性的前提下提升交付效率。 简介 持续改进与软件自动化:持续交付的起点…
-
CI/CD 流水线如何成为自动化发布负责人
SEO 摘要: 本文介绍 CI/CD 流水线如何取代传统发布负责人,自动完成代码变更构建、测试、生产发布、部署工件管理和自动回滚。文章重点讨论基于主干的开发、自动化生产发布、多个在途版本并行发布、不可变部署工件和 CI/CD 回滚机制,帮助团队提升持续交付效率与发布可靠性。 简介 在某些海外大型科技…
-
部署安全回滚实践:如何确保软件部署期间能够安全回滚
简介 海外某些公司在构建解决方案时,会遵循一项重要原则:避免做出“单向门”式决策。所谓“单向门”,是指那些一旦做出就难以撤销、难以扩展或难以修正的选择。无论是设计产品、功能、API 和后端系统,还是实施软件部署,这一原则都会贯穿软件开发的全过程。本文将重点说明,如何将这一原则应用于软件部署,并确保部…
-
如何实现安全的无人值守部署:自动化流水线、回滚与持续交付实践
摘要: 无人值守部署依赖自动化持续交付流水线,通过代码审查、自动化测试、预生产验证、one-box 测试、分波次部署、指标监控、自动回滚和流水线即代码等机制,在提升软件交付效率的同时降低生产发布风险。本文将介绍一套安全自动化部署体系如何帮助开发团队减少人工干预,并更稳定地将代码变更发布到生产环境。 …
-
如何利用内部开发者平台(IDP)实现开发者自助服务?
摘要: 内部开发者平台,即 IDP,是一种面向开发团队的自助服务平台,能够帮助企业统一环境管理、CI/CD、应用配置、基础设施编排、部署管理和访问控制。通过建设内部开发者平台,组织可以降低开发团队认知负荷,减少开发与运维之间的事务性协作成本,并提升软件交付效率和整体研发效能。 简要概述 即使是最先进…