产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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:002131

评论

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

推进AI融合 2020 LF AI & DATA DAY(AI开源日)即将召开

深度解读智能推荐系统搭建之路 | 会展云技术揭秘

京东科技开发者

人工智能 推荐系统

架构师训练营 W03 作业

Geek_f06ede

架构师训练

阿里对Java候选人的面试考察重点,面P7必问(收藏备用)

小Q

Java 学习 架构 面试 高并发

「排序算法」图解双轴快排

bigsai

排序算法 快速排序 双轴快排

英特尔独显终于来了!锐炬®Xe MAX为非凡S3x带来设计师级创作体验

E科讯

接口测试用例编写和测试关注点

测试人生路

接口测试 测试用例

Linux-技术专题-Linux命令如何进行查看进程

洛神灬殇

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

Learun

敏捷开发 快速开发 企业开发 企业应用

JDK8中的新时间API:Duration Period和ChronoUnit介绍

程序那些事

java8 jdk8 新特性 程序那些事 时间API

Linux高级编程常用的系统调用函数汇总

哒宰的自我修养

Linux 线程 网络编程 进程 MySQL数据库

央视呼吁电商双十一少一些套路:应该严打网店套路营销

石头IT视角

架构师训练营 W03 总结

Geek_f06ede

架构师训练

网易云音乐基于 Flink + Kafka 的实时数仓建设实践

Apache Flink

flink

如何在面试中解释关键机器学习算法

计算机与AI

学习 数据科学

环球易购数据平台如何做到既提速又省钱?

苏锐

大数据 hdfs S3 CDH 成本优化

5G时代的到来对直播的影响

anyRTC开发者

5G 音视频 WebRTC 直播 RTC

CloudQuery V1.2.0 版本发布

BinTools图尔兹

数据库 sql 编辑器 工具软件

一场关于FLV是否要支持HEVC的争论

wangwei1237

技术文化

小熊派开发板实践:智慧路灯沙箱实验之真实设备接入

华为云开发者联盟

物联网 IoT 路灯

Worktile旗下智能化研发管理工具PingCode 宣布25人以下免费

爱吃小舅的鱼

团队管理 程序人生 敏捷开发 研发管理 研发管理工具

第一届“多模态自然语言处理研讨会”精彩回顾(免费获取PPT)

京东科技开发者

人工智能 自然语言处理

甲方日常 44

句子

工作 随笔杂谈 日常

开源技术够用了么?我的 NAS 选型与搭建过程

LeanCloud

开源 NAS

给萌新HTML5 入门指南(二)

葡萄城技术团队

TensorFlow 篇 | TensorFlow 数据输入格式之 TFRecord

Alex

tensorflow keras dataset tfrecord

腾讯内容首发:分布式核心原理解析笔记+分布式消息中间件实践笔记PDF版

Java架构追梦

Java 架构 面试 分布式 消息中间件

【涂鸦物联网足迹】物联网基础介绍篇

IoT云工坊

人工智能 云计算 物联网 云平台 AIOT

23张图!万字详解「链表」,从小白到大佬!

王磊

Java 数据结构与算法

颠覆!阿里5位P8大佬分享进阶王者500修炼手册,修三门课程

996小迁

Java 程序员 架构 面试

测试攻城狮必备技能点!一文带你解读DevOps下的测试技术

华为云开发者联盟

敏捷开发 测试 瀑布流

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