写点什么

Airbnb 改进部署管道安全性,规范部署顺序

  • 2019-03-04
  • 本文字数:1033 字

    阅读完需:约 3 分钟

Airbnb改进部署管道安全性,规范部署顺序

Airbnb 软件工程实习生 Alexander Katz 最近撰写了一篇文章,介绍了他们的团队在Airbnb部署系统中所做的改进。Airbnb 的内部部署服务 Deployboard 每天为成千上万个服务进行数千个部署。但是,这个工具没有强制部署顺序,导致工程师在某些情况下可以将代码直接推送到生产环境中。


Katz 表示,Deployboard 负责部署构成 Airbnb 基础设施和产品的服务。这些服务中的每一个都有自己的一系列环境,允许分阶段将变更推到生产环境。Katz 还指出,“在 Airbnb,我们为工程师提供了极大的自由和灵活性,我们为此感到自豪。也就是说,任何一个工程师都可以轻松地进行任意环境的部署”。这种策略越来越多地被大型组织所采用,例如,Netflix 工程团队提供了“混合容器”平台和部署系统,鼓励采用最佳实践,但不阻止必要的改变。


Katz 解释说,他们的部署工具缺少一种保证机制,无法阻止工程师以错误的顺序部署变更。此外,服务部署流程相关的文档大都过时了。在最近的 QCon 演讲中,如何持续更新文档被认为是一项艰巨的挑战,比如来自 LinkedIn 的 Michael Kehoe 做了“构建生产就绪的应用程序”的演讲。由于 Airbnb 的工程师可以自由地部署服务,而且不保证它们一定会正常运行,所以 Katz 表示,解决这个问题将成为高度优先事项。


建议的解决方案是将服务的部署阶段分为强制目标和可选目标,并按顺序显示。还添加了评论,帮助用户了解每个阶段的目的。Katz 指出,专注于直观的设计是至关重要的,因为“几乎所有 Airbnb 工程师都会定期与 Deployboard 发生交互,这些交互通常都很短,更多的是一种达到目的的手段”。



Deployboard 最新的管道视图(感谢Airbnb提供图片)


Airbnb 将配置视为代码,这意味着 Katz 和他的团队要迈出的第一步是为定义部署管道的配置文件定义规范。Katz 指出,部署本身是由管道处理的,这意味着可以使用管道来更新自己的配置。Katz 说,“如果一个管道以某种方式获得了损坏的配置,就无法通过直接的方法来修复”。因此,如果发生这种情况,他们必须开发工具来拯救管道。


通过这些变更,可以由服务团队来定义和管理管道。由于管道定义本身就是代码,所以可以将管道变更的验证作为管道自身生命周期的一部分。Katz 指出,团队评估了针对这个问题的外部解决方案,并可能在不久的将来采用其中的一个。对于感兴趣的读者,InfoQ 之前已经介绍了很多潜在的解决方案,如Jenkins XSpring Cloud Pipelines和Spinnaker以及Azure Pipelines


查看英文原文https://www.infoq.com/news/2019/02/airbnb-deployment-pipelines


2019-03-04 17:224396
用户头像

发布了 731 篇内容, 共 434.0 次阅读, 收获喜欢 1997 次。

关注

评论

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

狂刷《Java权威面试指南(阿里版)》,冲击“金九银十”有望了

Java 编程 架构 面试 程序人生

浪潮云洲×明风机械:让工业“哑设备”发声

浪潮云

云计算

Android | 音视频方向进阶路线及资源合集

轻口味

android 音视频 9月日更

实时移动通信中基于时空域联合约束的低照度视频增强技术

OpenIM

模块7

脉动

浅谈对象体系 | StartDT Tech Lab 07

奇点云

CSS架构之tool层

Augus

9月日更

弱网下的极限实时视频通信

声网

音视频 编码 极限视频通信

如何从业务中抽取出通用性模板或框架-通用权限管理框架

张音乐

Java 设计模式 9月日更

开源贡献分享:从网关内服务健康检查说起 | StartDT Tech Lab 09

奇点云

模型工厂,让AI算法触手可达 | StartDT Tech Lab 05

奇点云

详解微信异步队列 MQ 2.0 的功能优化及拓展思路

OpenIM

为什么行业老大经常和老二合并?

石云升

市场垄断 9月日更

openLooKeng+Ranger+LDAP 认证鉴权能力演示

openLooKeng

大数据 openLooKeng Ranger

如何拥有自己的openLooKeng?超详细的安装配置指导看这里

openLooKeng

灰度再度增持!!!Filecoin可投资吗?Filecoin值得投资吗?

区块链 分布式存储 IPFS 投资filecoin filecoin值得投资吗

【数据库】数据库访问控制策略包含哪些?都一样吗?

行云管家

数据库 阿里云

运维工程师主要是做什么的?和网络工程师有啥区别?

行云管家

云计算 运维 网络 IT运维

玩转TypeScript 工具类型(上)

有道技术团队

typescript 大前端 客户端

基于OLT(实体、关系、标签)建模方法论的最佳实践 | StartDT Tech Lab 08

奇点云

TCP传输控制协议(二)

姬翔

9月日更

市值管理机器人特点简析,交易所刷交易量机器人搭建

量化系统19942438797

市值机器人 市值管理

ipfs矿机挖矿原理是什么?ipfs矿机怎么搭建?

ipfs矿机挖矿原理是什么 ipfs矿机怎么搭建

浅谈单点登录SSO实现方案 | StartDT Tech Lab 06

奇点云

模块七作业

Clarke

SEO行业的困境:转型还是夹缝中求生存

石头IT视角

【VueRouter 源码学习】第六篇 - 路由匹配的实现

Brave

源码 vue-router 9月日更

华为云GaussDB(for Redis)发布全新版本,两大核心特性正式亮相

华为云数据库小助手

性能调优 GaussDB GaussDB ( for Redis ) 华为云数据库

博睿数据亮相 2021 服贸会,以智能运维赋能数字化体验

博睿数据

Go- 文件读写-2

HelloBug

文件读写 Go 语言

Go- 数据格式解析

HelloBug

json xml Go 语言 gob

Airbnb改进部署管道安全性,规范部署顺序_文化 & 方法_Matt Campbell_InfoQ精选文章