近日,在线手工艺品电商 Etsy 在美国纳斯达克上市,开盘价每股16美元,最高价达每股35.5美元,收盘价为每股30美元,上涨87.5%,目前市值约33亿美元。
Etsy 在 IPO 过程中,借鉴了阿里巴巴,邀请平台上活跃的供应商、卖家和设计师作为敲钟人。据了解,截止2014年年底, Etsy 的用户数已经达到了5400万,其中包括了140万活跃卖家和1980万活跃买家。即使在2014年这家文艺电商亏损了1520万美元,也完全没有影响到投资人对它的信心,他们似乎更看中 Etsy 的个性与情怀。虽然这家电商网站做着文艺青年的生意,但是骨子里却流淌着技术范公司的血液。
在技术圈里,Etsy 以其 DevOps 和持续交付的实践而闻名,就在前不久,Etsy 工程师 Daniel Schauenberg 还在伦敦 QCon 大会上介绍了他们如何做到每天50次的部署,对绝大多数公司来讲,这简直是无法想象。要知道 Etsy 可是拥有约60万的月访问量,然后每月的页面浏览量高达15亿次,在如此之高的流量下进行如此频繁的部署,对整个系统稳定性的挑战可见一斑。
Etsy是如何做到的?
首先,Etsy 拥有完全自动化的部署管道,有全面的应用性能监控和基于 IRC 的协作,这些都是 Etsy 能达到这个变更频率的同时又保持最小风险的重要因素。因为 Etsy 的软件开发策略是反复围绕着做许多小的、连续的变更,而这样做的一个直接后果就是需要每天做很多次部署。为了能够让每次部署都可以轻松完成,Etsy 采取了一系列的工具和做法:强制基于 IRC 的沟通、开发者虚拟机、持续集成、一键式部署、全面的应用和系统监控、对于开发和运营团队都采取免责怪的事后检查和随叫随到的政策。
据了解,Etsy 的每个开发人员都拥有自己的通过 Chef 配置的 KVM「基于内核的虚拟机」。在线上运营中使用的 cookbooks 也同样地用在了开发人员的虚拟机中,这意味着每个开发人员都有自己完整的 Etsy 栈。任何人都可以通过 Virtual Madness「一个可以实现整个过程自动化的 Web 应用」来提供一个虚拟机。
在持续集成方面,Etsy 使用了一个名为 Try 的工具,它允许开发人员在 Jenkins「在 Etsy 中使用的持续集成工具」中测试他的代码变更,而不需要先提交到 trunk 中。Try 有助于保持 trunk 干净从而实现可部署,而同时让开发人员能够快速、可靠地测试他们的变更。CI「持续集成」集群必须强大到足以支持150名 工程师,以及每天超过14000个测试集的运行。LXC「Linux容器」会平衡工作的负载,它们还提供了隔离机制,确保不同测试的执行之间不会冲突。
此外,监控是 Etsy 有信心做持续交付的关键。开发人员做自己的功能监控,而且每个人都可以通过仪表盘看到所有的监控图表。 Etsy 具有这样一个策略,在默认情况下所有可以被绘制的信息都会被制成图表。随着时间的推移,指标的数量一直稳步增加,所以 Etsy 建立了 Kale 来帮助检测异常模式。所有的日志都可以通过 Supergrep 展现出来,Supergrep 是一个基于 Web 的日志展示工具,这增加了日志的信噪比。
IRC 是贯穿 Etsy 的主要沟通工具,也是 Etsy 协作文化的关键。里面有很多不同的聊天室,每一个都具有特定目的。例如,在聊天室 #warroom 中仅允许中断事故有关的会谈。聊天室是用来协调调查,讨论应对措施和解决方案监控的。与其他的聊天室一样,#warroom 是个鼓励新工程师们潜水的地方,因为这些聊天室被认为是学习的好地方。
Etsy 还拥有一个重要的文化活动,就是在每次中断发生,或接近中断的时候,所有人被邀请来做事后检查,甚至财务和支持人员需要,他们也可以参与。Etsy 认为事后检查是一个学习的机会,所以不应该包含责备。而且所有事后检查相关的信息被记录在 Morgue 里面:日期、严重性、IRC 日志、图表和补救措施。Morgue 是 Etsy 为了保存事后检查记录而特别构建的一款工具。
最后,Etsy 对于运营、开发、支付和支持部门的员工都是采取随叫随到的政策,目的是让每个人都意识到上线产品每天所面临的问题,使他们能够在开发新功能或改进现有流程时考虑到这些问题。
Etsy拥抱开源
Etsy 对开源项目的参与也是非常积极,他们在 Github上的主页,其中1000星以上的项目就有5个,而星数最高的项目是 StatsD「7408星」,这是一款运行在 Node.js 平台之上的网络应用,可以用来监听 UDP 端口的信息,并将监听到的数据生成实时图表。StatsD 0.1.0 版本发布于2012年2月16日。
文艺青年,还是技术宅男?
看到上面这些,你觉得 Etsy 是不是更像一个技术宅男呢?不少人认为 Etsy 跟阿里的风格是非常类似,包括他们在纳斯达克敲钟也是在模仿阿里巴巴。当然在国内技术圈,阿里技术的影响力毋庸质疑。
其实,对大多数人而言,他们只是关心在「双11」 那天,有没有抢到心仪已久的商品,完全感受不到凌晨那一秒,每秒数千万的流量打到阿里的服务器端,开发及运维同学所要承担的压力,常听阿里巴巴的同学开玩笑,他们的技术都是被用户的点击量逼出来的。
但是对一般的互联网公司而言,技术积累远远比不上阿里巴巴和 Etsy,他们经常会遇到网站的性能问题,比如由于网站访问量暴增出现的宕机问题,用户访问延迟,交易系统出现闪退等等。作为中国基础软件领域的领军企业,OneAPM 专注于提供新一代的应用性能管理软件和服务,并提供先进的端到端应用性能解决方案,包括对应用系统进行实时监控、告警、性能分析、故障诊断、性能报表展现等多种功能。这也意味着,即使没有 Etsy 那么深厚的技术积累,也不用再担心网站的性能问题了。