千家信息网

Etsy是怎么做到每天50次以上部署的

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,Etsy是怎么做到每天50次以上部署的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Daniel Schauenberg在伦敦QCo
千家信息网最后更新 2025年01月24日Etsy是怎么做到每天50次以上部署的

Etsy是怎么做到每天50次以上部署的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Daniel Schauenberg在伦敦QCon大会上描述了Etsy是如何做到每天50次部署的。Etsy以其DevOps和持续交付的实践而闻名。一个完全自动化的部署管道、全面的应用监控和基于IRC(互联网中继聊天)的协作是能达到这个变更频率的同时又保持最小风险的重要因素。

Etsy的开发策略是反复围绕着做许多小的、连续的变更。这样做的一个直接后果就是需要每天做很多次部署。用Daniel Schauenberg的话来说,在任何时刻每个Etsy的开发人员都需要知道下面这个问题的答案:"我现在有足够的信心来部署这个变更吗?"。为了能够每次都可以轻松部署,Etsy采取了一系列的工具和做法:强制基于IRC的沟通、开发者虚拟机、持续集成、一键式部署、全面的应用和系统监控、对于开发和运营团队都采取免责怪的事后检查(post-mortem)和随叫随到的政策。

每个开发人员都拥有自己的通过Chef配置的KVM(基于内核的虚拟机)。在线上运营中使用的cookbooks也同样地用在了开发人员的虚拟机中,这意味着每个开发者都有自己完整的Etsy栈。任何人都可以通过Virtual Madness(一个可以实现整个过程自动化的Web应用)来提供一个虚拟机。

在持续集成方面,Daniel解释了Try是如何成为所有过程的核心。Try是一个工具,它允许开发人员在Jenkins(在Etsy中使用的持续集成工具)中测试他的代码变更,而不需要先提交到trunk中。Try有助于保持trunk干净从而实现可部署,而同时让开发人员能够快速、可靠地测试他们的变更。CI(持续集成)集群必须强大到足以支持150名工程师,以及每天超过14000个测试集的运行。LXC(Linux容器)会平衡工作的负载,它们还提供了隔离机制,确保不同测试的执行之间不会冲突。

部署管道会经过Princess,或者工作台,这是一种上线前的环境。Princess的所有意图和目的就是上线环境,但只有Etsy的员工可以访问它。Deployinator是由Etsy构建并使用的部署工具,提供一键式部署。

配置标志,也被称为功能标志,是部署过程中的一个主要组成部分。通过其功能API,Etsy能够做A/B测试,即完全启用或者禁用某一功能或一个给定功能的变体。

监控是Etsy团队建立信心做持续交付的关键。开发人员做自己的功能监控,而且每个人都可以通过仪表盘看到所有的监控图表。Etsy具有这样一个策略,在默认情况下所有可以被绘制的信息都会被制成图表。随着时间的推移,指标的数量一直稳步增加,所以Etsy建立了Kale来帮助检测异常模式。所有的日志都可以通过Supergrep展现出来,Supergrep是一个基于Web的日志展示工具,这增加了日志的信噪比。

IRC是贯穿Etsy的主要沟通工具,也是Etsy协作文化的关键。里面有很多不同的聊天室,每一个都具有特定目的。例如,在聊天室#warroom中仅允许中断事故有关的会谈。聊天室是用来协调调查,讨论应对措施和解决方案监控的。与其他的聊天室一样,#warroom是个鼓励新工程师们潜水的地方,因为这些聊天室被认为是学习的好地方。

每次中断发生,或接近中断的时候,所有人被邀请来做事后检查。事后检查是一个重要的文化活动,如果财务和支持人员需要,他们也可以参与。事后检查是为了成为一个学习的机会,所以它们不应该包含责备。所有事后检查相关的信息被记录在Morgue里面:日期、严重性、IRC日志、图表和补救措施。Morgue是Etsy为了保存事后检查记录而特别构建的另一种工具。

对于运营、开发、支付和支持部门的员工都采取随叫随到的政策。开发人员通常轮流地在每四个星期里的某一周提供随叫随到的支持。该政策的目的是让每个人都意识到上线产品每天所面临的问题,使他们能够在开发新功能或改进现有流程时考虑到这些问题。

Etsy拥有约60万的月访问量和每月15亿页面浏览量。

关于Etsy是怎么做到每天50次以上部署的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

开发 人员 工具 问题 检查 监控 功能 聊天室 测试 日志 支持 随叫随到 可以通过 图表 政策 目的 过程 帮助 应用 运营 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浪潮服务器如何选传统模式 ip网络技术规范 迈锐宝语音识别服务器异常 金税三期 软件开发 山东直播软件开发哪家好 服务器安全狗黑名单导入 北京网络软件开发口碑推荐 徐汇区市场软件开发品质保障 plc的数据库名称 发生网络安全事故会受到哪些处罚 dnf服务器一直黑屏 计算机网络技术必备术语 老年人如何维护网络安全 中学生法制展馆软件开发 网络安全教育培训班领导讲话 清远定制化精益软件开发 大专计算机网络技术好找工作吗 apv数据库 互联网安全和通信网络安全 桃源软件开发职高 创建数据库字符集为8 数据库建库成本 数据库中姓名可采用默认值吗 pc清软件用户数据库 工商银行软件开发笔试难吗 旅舍系统数据库技术存在的问题 保定租房软件开发 一个数据库只能一个人使用吗 网络安全专业难度系数 计算机网络技术专业能干什么
0