eBay把平台更新为Kubernetes、Envoy和Kafka:计划开源硬件和软件

作为更新和现代化后台基础设施这项为期三年的工作的一部分,eBay最近宣布,他们正在构建他们自己专门设计的服务器,“由eBay构建,供eBay使用”。该计划还包括在今年第四季度把他们的服务器以开源的方式提供给公众。虽然许多大型的技术组织和云提供商专门定制了自己的硬件,包括GoogleAWSAzure,但他们通常没有以开源的方式发布。eBay表示,他们“在使用自己设计的服务器和硬件,减少对第三方的依赖”。

eBay工程团队正在修改整个技术栈,包括物理层和逻辑层,因为他们相信,所有这些层在某种程度上是交织在一起的:“技术栈就像结缔组织,你无法把一个层独立出来;你必须对它们同步升级。”我们会检查技术栈中每一层的效率和性能,寻找改进现有解决方案的机会。根据SDxCentral最近的报道,这与eBay最近的决策“从当前基于OpenStack的系统迁移到更为现代化的Docker&Kubernetes技术栈”是一致的。不过,需要指出的是,在OpenStack上运行Kubernetes也是可以的,eBay的工程团队在去年的OpenStack峰会上探讨过这个选项。

对于物理基础,eBay使用了单点接入(PoP)策略,而且正在对他们位于美国的数据中心集群去中心化,转而采用一种“边缘计算方法”。这将使他们可以“创建一种速度更快、更一致的用户体验,节省600到800毫秒的加载时间”。和近日在QCon纽约大会上讨论的Chick-Fil-A方法非常像,eBay团队正在他们的网络边缘部署在线服务和数据,更靠近用户,提供了动态和静态缓存能力,降低了延迟,改善了用户体验。

在数据层,eBay创建了更“用户化的模型”。使用开源技术,该团队构建了“NuData”,这是一个具有容错性的、地理分布的对象和数据存储。这个现在还没有开源,感兴趣的读者可以在Web上搜索更多相关信息,此外,不要和Mastercard的产品“NuData Security”混淆了。长期来看,这将使eBay可以将数据分布到不同的地理位置,改善用户体验,提高服务弹性,“为需要的国家提供数据隔离”(很可能是为了响应通用数据保护条例加州消费者隐私权法案倡议)。

eBay每天处理3000亿次数据查询,他们的数据体量超过500PB,相当于“1万亿首歌曲,2500万个小时的电影,足够把华盛顿国会图书馆备份300次以上”。相应地,他们已经借助开源来构建内部的“AI引擎”,该引擎可以在他们的所有团队之间共享,其目标是“提高生产力、合作和培训”。他们的AI引擎已经加速了新特性的开发,如计算机视觉、图像搜索以及分享到社交媒体平台。

eBay的数据科学团队之前介绍了Apache Kafka和Apache Storm在其平台Rheos中的使用。该平台提供生命周期管理、监控、架构良好的标准和用于实时流数据管道的生态系统。柏林工程团队还探讨了使用Kafka Streams和ElasticSearch实现实时用户分析。2017年,eBay团队出席了MongoDB World大会,探讨了“使用MongoDB构建关键任务、多数据中心应用程序”。

eBay希望通过开源和广大的工程社区分享他们的创新和技术经验。他们相信,使用他们的工具的开发人员和社区将改进他们正在构建的东西,最终帮助他们创建更好的总体体验。eBay的GitHub账户上有许多开源项目,其中确实有些不错的。这包括“云原生”软件负载均衡器Neutrino(大概现在已经使用Envoy Proxy替代了),基于AsyncDisplaykit使用Swift编写的轻量级通讯组件NMessenger,Python库bayesian-belief-networks,基于Consul的负载均衡路由Fabio

在宣布转型和开源工作的新博文中,eBay总结到,在耗时3年的时间里,他们成功更新基础设施的关键是人:“建立合适的文化,创造最佳的氛围,这需要深思熟虑而细致的工作。有了合适的文化,技术和创新会随之而来。”

查看英文原文:eBay Replatforming to Kubernetes, Envoy and Kafka: Intending to Open Source Hardware and Software

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址http://www.infoq.com/cn/news/2018/09/ebay-replatform-open-source
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动