PayPal 向 150000 个容器迁移之旅

2017 年 12 月 8 日 云头条

全球最大的在线支付平台PayPal(贝宝)致力于普及金融服务,帮助人们和企业参与全球经济,并取得蓬勃发展。它的开放式数字支付平台让2.18亿个活跃账户持有者可以放心地安全联系和交易。为此,PayPal建立了一个确保所有用户都随时可用的全球性平台:如果PayPal宕机,这种影响会波及到许多依赖PayPal作为唯一支付处理解决方案的小企业客户。


PayPal将目光投向了Docker企业版,帮助自己将运营效率提高到新的水平,包括构建/测试/部署周期的速度加快50%。与此同时,它借助Docker的动态布置功能和基础设施独立性,提高了应用程序的可用性,另外还使用Docker对资源访问实现自动化和细化地控制,从而加强安全性。除了运维方面的好处外,PayPal还使用Docker让开发人员得以大胆创新、尝试新的工具和框架。由于PayPal的应用程序和运维很复杂,之前很难引入这些新的工具和框架。


PayPal的云工程师梅格杜特•巴塔查亚(Meghdoot Bhattacharya)分享了其团队在过去的两年帮助PayPal顺利走过的历程,将Docker引入到PayPal环境,并扩大Docker的使用范围,让它成为一个标准的应用程序交付平台。


虽然PayPal可能不是一家“老”公司,但在17年多的时间里,它已建立起了一个包括至少数百个应用程序和服务的全球性支付处理平台。有大量的不同工具和流程用于构建、测试、部署和运行这每一个应用程序,快速开发和迅猛增长的这种环境通常都是这样。对于开发团队和运维团队来说,缺乏标准化都带来了问题。开发人员被一套有限的工具和框架束缚住了手脚,由于测试团队和运维团队面临这个负担:搞清楚如何部署和运行每个新的堆栈,很难往混合环境中添加任何新应用程序。对于运维团队来说,将应用程序部署到多个架构和多个云(每个又有一套不同的测试工具和程序)面临很大压力,这导致部署和维护周转时间很长。


PayPal最初使用Docker只是一种手段,旨在打造单一、一致的应用程序包装格式,可与尽可能多的现有应用程序结合使用。它专注于公司的运维方面,开发了统一的应用程序交付和运维模式,旨在解决应用程序孤岛方面的问题。PayPal在Docker发布Modernize Traditional Applications(传统应用程序现代化)官方计划之前开展了这个阶段,但有着许多同样的策略和好处:从日常运维方面已经有内部专长的现有应用程序入手,专注于在不更改代码的情况下将应用程序迁移到容器。在这个阶段,PayPal获得了几个重要好处,尽管应用程序本身还是老样子:


  • 部署与框架堆栈相分离:PayPal现在有一个平台可使用一套同样的程序来部署几乎任何应用程序,不管是什么样的编程语言、代码库和堆栈。

  • 现代化的操作系统和内核:由于Docker将应用程序的所有依赖项统统打包到容器中,可以将它们与底层操作系统分离开来,因而在不改变应用程序的情况下使基础设施现代化。一些应用程序的效率免费提高了10%至20%,只需要在现代操作系统和内核上运行容器即可。


PayPal Docker


由于Docker容器格式和运维变得广为人知,PayPal为开发人员学习和使用容器打开了大门。由于Docker提供了交付和运行应用程序的一套标准方法,开发人员可以随意尝试新的编程方法和框架,而运维团队和支持团队不必担心这些复杂性。随着开发人员加入Docker供应链,PayPal发现,应用程序的构建/测试/部署周期缩短了50%以上。使用Docker,每个开发人员、运维人员、测试人员和自动化工具都能够运行同样的应用程序,拥有同样的配置。对于系统管理员来说,还有一些额外的好处。现在,只要为容器镜像更新Dockerfile,马上可以完成操作系统的升级,而过去需要整整一年才能升级到位。由于关于这些好处的风声在PayPal内部传开来,原本未参与试点项目的其他部门也开始将Docker用于各自的使用场合,于是PayPal的Docker试点团队帮助它们做好这项工作。


成果和下一步


从启动到第一阶段不到两年时间里,PayPal已把700多个应用程序移植到Docker上,在15万个容器中运行。在此过程中,PayPal发现构建、测试和部署Docker化应用程序方面的效率提高了50%。像操作系统升级这些过去要花整整一年的项目现在可以跨开发环境、测试环境和生产环境来进行,只需要改变一次。开发人员可以随意为应用程序尝试新兴技术,而运维人员和管理员只需使用一套运维程序,不管是什么样的应用程序。


在最后阶段,PayPal已开始在其所有云上推出一个完整的容器即服务(CaaS)平台。在这个阶段,它专注于提高效率。到目前为止,迁移到这个Docker CaaS新平台的应用程序减少了资源消耗量,提高了安全性和可用性,并让PayPal能够为所有环境中的工具、监控和运维提供单一平台。


PayPal Docker合作伙伴的好处


PayPal实施Docker的历程堪称典范,值得其他企业组织效仿。专注于采取易于管理的步骤,打造一支内部专家组成的团队(可以建议和协助其他团队),制定明确的目标,并且衡量成果,这些是实施有望显著改善运维和开发的转型的关键。


相关阅读:

谷歌或击败亚马逊和微软 取得PayPal云端服务合约

PayPal如何使用区区8个虚拟机,支持每天处理数十亿个事务?

云公司Seafile拒绝监视客户文件后,被PayPal无情抛弃

Paypal以6000万美元收购以色列网络安全公司CyActive


登录查看更多
0

相关内容

PayPal 是全球使用广泛、深受信赖的支付平台。在 200 多个国家拥有 1.92 亿用户,支持 100 多种货币付款。Tesla 的创始人 Elon Musk, 以及投资家 Peter Thiel 都曾是 PayPal 的联合创始人。

自 1998 年成立至今,PayPal 一直引领数字支付革新。在中国,PayPal 协助跨境电商商户开展海外业务,提供安全、便捷的收款。PayPal 还是海淘达人的必备付款神器,买家保障让海淘达人放心购物全球。

德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
专知会员服务
123+阅读 · 2020年3月26日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
前端微服务在字节跳动的落地之路
前端之巅
41+阅读 · 2019年9月19日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
联邦学习或将助力IoT走出“数据孤岛”?
中国计算机学会
20+阅读 · 2019年3月16日
Gartner「首份」云管理平台(CMP)魔力象限
云头条
7+阅读 · 2019年1月14日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
Deformable Style Transfer
Arxiv
14+阅读 · 2020年3月24日
Arxiv
4+阅读 · 2018年10月5日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
3+阅读 · 2018年4月10日
VIP会员
相关VIP内容
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
专知会员服务
123+阅读 · 2020年3月26日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
前端微服务在字节跳动的落地之路
前端之巅
41+阅读 · 2019年9月19日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
联邦学习或将助力IoT走出“数据孤岛”?
中国计算机学会
20+阅读 · 2019年3月16日
Gartner「首份」云管理平台(CMP)魔力象限
云头条
7+阅读 · 2019年1月14日
Java开发者必看!机器学习开发库精选
云栖社区
5+阅读 · 2018年8月22日
Top
微信扫码咨询专知VIP会员