写点什么

Outbrain 经验分享之持续部署实践

  • 2012-07-11
  • 本文字数:835 字

    阅读完需:约 3 分钟

Outbrain 已经采用了持续部署系统,该公司前资深工程师 Ran Tavory 在他的博客介绍了实践过程,他们是怎么做的,有哪些收获。

首先, Ran Tavory 提到确立敏捷企业文化的重要性:

“到目前为止我们认为,成功实施持续部署的核心一半是文化因素,一半是技术因素。有人问我什么更重要,文化还是工具,当然,我认为文化更重要,但是工具能正确地确立这种文化。”

Ran Tavory 分享了 Outbrain 采取的 3 项促进企业文化转型的技术措施:

首先,不允许创建分支,要求主干代码随时都可以用来部署生产环境,所有人都要把主干作为开发目录,只允许创建标签 (tag),没有分支,所以也不需要合并,不需要两次提交;要在一个最小的原子变更完成编译、自动化测试等工作之后尽快将代码提交到主干上,不要超过一天才提交,最好每小时提交一次;如果代码还不准备发布,可以使用标识位来隐藏代码,可以通过 URL 参数或服务器配置来打开功能,从概念上说,它与分支类似,一旦代码全部发布就取消标识位。

其次,建立完善的自动化测试和基础设施测试,这是持续部署关键支柱。自动化测试必须快,Outbrain 的测试周期是 5 分钟完成一次测试。

最后,监控、自检测试、服务状态要可视化。Outbrain 有一个版本页面列出了所有服务库的版本,以及一个自检页面,可以通过一系列内部接口(如连接数据库、连接其他服务等)调用就可以检测并能够返回成功状态。

Ran Tavory 介绍了一些工具来实现持续部署:

  • 通过 CHEF 实现基础设施的自动化;
  • 通过 GLU 实现部署;

另外他还提到了服务组件化,让破坏和错误的影响最小,让回滚操作更方便。在博文中,Ran Tavory 还列举了实例说明 Outbrain 的持续部署实现。整体来说,整套系统简化了部署过程,节约了大量的开发时间。

作者简介

李新,新浪产品部高级配置管理工程师,有丰富的软件流程方面的经验。


感谢黄玲艳对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-07-11 00:002364

评论

发布
暂无评论
发现更多内容

SpringCloud Alibaba Seata 分布式事务处理的详细使用以及详细剖析

量贩潮汐·WholesaleTide

分布式 #SpringCloud

互联网大厂1000道Java面试题及答案整理

Geek_Yin

Java 程序员 Java面试题 Java面试八股文

是时候跟虚拟机说再见了?

北京好雨科技有限公司

k8s rainbond 容器平台 企业号 5 月 PK 榜 信创国产化

DeepSeek‑R1-0528 重磅升级:蚂蚁百宝箱免费、无限量调用

猫头虎

人工智能 DeepSeek DeepSeek v3 DeepSeek R1 模型

英特尔代工:先进制造与全球供应网络齐头并进

E科讯

Redis 集群操作配置(超详细配图,配截图详细说明)

量贩潮汐·WholesaleTide

redis

2025年中高级JAVA工程师面试题汇总

Geek_Yin

Java 编程 Java面试题 Java面试八股文

Java学习书籍推荐!

程序员高级码农

Java 程序员 计算机

【万字长文】大模型开源开发全景与趋势解读

蚂蚁开源

人工智能 开源 大模型 开源生态 AI趋势

今年夏天,最不该错过的一场 AI 聚会

声网

WAAP对提升网站访问速度有什么作用?

天翼云开发者社区

WAAP

谷云科技发布业内首份 Oracle OSB 迁移到 iPaaS 技术白皮书

RestCloud

oracle API 白皮书 集成平台 ipaas

CAD文字样式如何修改?快来试试多行文字+自定义样式!

在路上

cad cad看图 CAD看图王

ETL脚本节点使用的方式

RestCloud

数据处理 API 脚本 ETL 数据集成

RocketMQ实战—基于RocketMQ升级订单系统架构

不在线第一只蜗牛

RocketMQ

DevOps效能引擎:模板版本管理,让每一次变更可控可追溯

嘉为蓝鲸

DevOps 持续集成 智能运维

基于华为开发者空间,部署Cherry Studio+高德地图MCP Server构建出行规划助手

华为云开发者联盟

华为云ModelArts AI‘’ 华为开发者空间 MCP

时序数据库 Apache IoTDB V2.0.3 发布|新增元数据导入导出脚本适配表模型功能

Apache IoTDB

HAProxy 可观测性最佳实践

观测云

HAProxy

从试验田到深水区,AI落地的福州答卷

脑极体

AI

Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速

阿里云大数据AI技术

大数据 spark Serverless 运维 数据处理

YashanDB金融特性数据库根原创实验室成果发布,1:1替代Oracle能力获数十家金融权威专家验证

极客天地

开源 TTS 模型 Chatterbox:支持实时合成,0.5B 规模;Odyssey:实时互动视频,30 帧/秒流式传输丨日报

声网

Redis 数据恢复的月光宝盒,闪回到任意指定时间

Baidu AICLOUD

数据库 redis

《算法导论(第4版)》阅读笔记:p173-p174

codists

算法

项目管理协作软件:禅道 VS Leangoo

axe

项目管理工具 办公软件 禅道 leangoo

分布式系统学习:分布式事务

电子尖叫食人鱼

学习 分布式

华为开发者空间 - MindSpore魔法课堂:手把手教你玩转AI框架

华为云开发者联盟

Jupyter Notebook 昇思MindSpore AI‘’ 华为开发者空间

鲲鹏Arm+麒麟V10,国产化信创 K8s 离线部署保姆级教程

北京好雨科技有限公司

k8s rainbond 容器平台 企业号 5 月 PK 榜 信创国产化

浩辰CAD看图王:携手鸿蒙,CAD技术创新驱动企业数字化转型

在路上

cad 浩辰CAD CAD看图王

《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》阅读笔记

AI布道Mr.Jin

Outbrain经验分享之持续部署实践_研发效能_李新_InfoQ精选文章