百科
-
研发管理平台怎么选?2026年10款主流工具对比
本文将深入对比10款研发管理平台:PingCode、Worktile、Jira Software + Confluence、Azure DevOps、GitLab、GitHub Enterprise、Linear、ClickUp、monday dev、YouTrack 企业研发团队在选工具时,经常会…
-
单体架构拆解实践:从单体到模块化单体,提升开发者效率
本文以某海外电商平台的架构演进实践为例,介绍大型 Ruby on Rails 代码库如何从传统单体架构逐步演进为模块化单体架构,并通过代码组织、依赖隔离和边界治理,降低系统复杂度,提升开发者效率。 某海外电商平台拥有当前规模最大的 Ruby on Rails 代码库之一。这个代码库由上千名开发者在十…
-
大规模快速发布:从主干发布到持续交付的工程实践
本文以某海外大型互联网公司的发布工程实践为例,介绍其如何通过主干发布、准连续发布、持续交付和移动端 CI/CD 体系,在大规模工程团队中提升代码交付效率、降低发布风险,并持续改善用户体验。 随着时间推移,软件行业已经形成了多种更快、更安全、更高质量地交付代码的方法。这些实践大多围绕持续集成、持续交付…
-
快速部署实践:用分布式系统方法提升开发者生产力
在微服务架构下,开发者本地环境往往需要启动大量服务,导致环境准备时间变长、调试成本上升,并直接影响开发者生产力。本文以某海外大型互联网公司的快速部署实践为例,介绍其如何通过代理、Cookie、共享集成环境和请求路由机制,让开发者只在本地部署自己修改的服务,从而提升迭代效率,并更好地支持持续集成和主干…
-
SRE 可靠性测试:从传统测试到生产环境测试
站点可靠性工程师(SRE)的一项核心职责,是量化所维护系统的可靠性。可靠性测试是 SRE 提升系统稳定性、降低故障风险、优化 MTTR 与 MTBF 的重要手段。SRE 通常会把传统软件测试技术应用到大规模系统中,以完成这项工作。可靠性既可以从历史角度衡量,也可以从未来角度衡量:前者通过分析监控系统…
-
Gradle 迁移实践:某海外大型互联网公司如何将构建效率提升 4 倍
引言 在大型研发团队中,构建效率、IDE 刷新速度和本地开发体验,都会直接影响研发生产力。本文以某海外大型互联网公司的 Gradle 迁移实践为例,介绍其如何从 SBT 迁移到 Gradle,并通过构建系统优化,将大型 Play 应用的构建时间从 60 分钟降至 15 分钟,实现构建效率提升 4 倍…
-
高速代码库如何做代码合并:主干开发与 CI 验证实践
在大型研发团队中,高速代码库的代码合并既要保证效率,也要保证主干分支稳定。本文以海外某大型互联网公司的工程实践为例,介绍其如何通过主干开发、持续集成(CI)、合入前验证、合入后验证和自动回滚机制,处理高频提交场景下的代码合并问题。 海外某大型互联网公司的产品生态系统十分庞大,管理其基础设施并非易事。…
-
事后复盘文化:SRE 如何通过无责复盘从失败中学习
作为 SRE(站点可靠性工程师),我们维护的是大规模、复杂的分布式系统。我们不断为服务添加新功能,引入新系统。鉴于系统规模庞大、变化速度极快,故障和中断不可避免。当故障发生时,我们会修复根本问题,使服务恢复正常运行。然而,如果没有一套正式的事后复盘流程来从故障中吸取经验教训,同样的问题就可能反复出现…
-
事故管理:流程、角色与最佳实践
有效的事故管理,是尽可能降低事故影响、缩短服务中断时间、尽快恢复正常业务运行的关键。如果没有事先演练过潜在事故的应对方案,那么真正遇到事故时,原本清晰的原则和流程很可能会在混乱中失效。 本文将先描述一起因临时、无序处置而逐步失控的事故;随后概述一套妥善的事故管理流程;最后回到同一场景,看看如果采用成…
-
软件发布文化:CI/CD、合并队列与金丝雀发布实践
在现代软件研发中,发布速度、发布质量和开发者体验,直接影响团队的工程效率。本文以一家海外电商平台公司的软件发布文化为例,介绍其如何通过 CI/CD、合并队列、金丝雀发布和自动化部署,帮助开发者更安全、更高效地将代码发布到生产环境。 我们一直在探索,如何帮助开发者更顺畅地达成目标。我们希望通过工具打造…