PayPal的150,000个容器之路


【编者的话】PayPal,是美国eBay公司的全资子公司,是全球众多用户使用的国际贸易支付工具,能够轻松完成境外收付款!随着公司业务的不短增长,提供连接用户与商户系统非常复杂,开发和运营的难度也是飞速增长。PayPal花了两年的时间,通过Docker企业版提高了开发运维的效率,且看下文关于PayPal的容器之路。

2017年12月06日更新:为了澄清50%的效率提升来自于对开发人员构建/测试工作流的增强,并且补充了他们的CI集成环境。作为工作流的一部分,PayPal的开发人员在本地机器上使用Docker for Mac和Docker for Windows。

PayPal致力于金融服务的大众化,并赋予大众和企业在经济全球化中的参与和发展。他们新的开放数字化平台让2.18亿活跃账户持有者有信心以新的方式去做连接和交易。为了完成这些目标,PayPal建立了全球化网络,要求所有的用户必须高可用:如果PayPal出现宕机,这种影响将会波及到很多依靠PayPal作为唯一支付解决方案的小型商业客户。

PayPal开始求助于Docker企业版本,希望可以帮他们提高操作效率,当开发人员在本地开发和测试时,他们的构建-测试-部署周期速度提高了50%。 与此同时,他们通过Docker的动态布局功能和基础架构独立性提高了应用程序的可用性; 通过使用Docker的自动化和明细化资源访问控制来提高安全性。 除了运营收益之外,Docker在PayPal的使用也促进了开发人员的创新、新工具和架构的一些尝试。由于Paypal应用程序和运营的复杂性,这在以前是非常难引入的。

PayPal云平台的开发总监Meghdoot Bhattacharya和他的团队在过去两年中帮助PayPal将Docker引入PayPal环境并将其用于标准应用交付平台,他分享了这个交付的过程。 您可以在这里查看DockerCon EU 2017 :PayPal的两年150,000个容器之路

Docker在PayPal的过去,现在和未来

虽然PayPal可能不是一家“老牌”公司,但在他们17年多的时间里,已经建立了一个全球支付处理平台,其中包括成百上千的个人应用程序和服务。 正如通常的这种快速发展和增长水平一样:构建、测试、部署和运行这些应用程序的过程也有很多不同的工具和流程。 对于开发团队和运营,缺乏标准化往往会造成一些问题。 开发人员被锁定在一套有限的工具和框架中。因为测试和运营团队部署和运行每一个新的技术栈的负担很重,因此很难再增加任何新的东西上去。对于操作来说,将应用部署到多个架构和多个云上的压力,每一个都有不同的检测和过程,这样就导致部署和维护的周转时间变慢。

PayPal最初对Docker的使用只是为了创建一种单一的、一致的应用程序打包格式,这种格式可以用于尽可能多的现有应用程序。他们将重点放在业务的运营方面,创建统一的应用程序交付和运营模型,以解决围绕应用程序孤岛的问题。 PayPal在Docker官方现代化传统应用程序推出之前就已经进行了这个阶段,但是他们分享了许多相同的策略和好处:从现有的应用程序开始,在现有的应用程序中,您已经拥有日常运营的内部专业知识, 将应用程序迁移到容器而不更改代码。 在这个阶段,PayPal承认了几个重要的好处,尽管这些应用程序本身仍然是一样的:

  • 从框架堆栈解耦部署:PayPal现在有一个平台,可以使用相同的过程来部署几乎所有的应用程序,而不用管是何种程序设计语言,库和堆栈。

  • 现代化的操作系统和内核:由于Docker将所有应用程序依赖关系打包到容器中,因此可以将它们与底层操作系统分离,从而实现基础架构的现代化,而无需更改应用程序。 一些应用程序的效率提高了10-20%,只需在现代操作系统和内核上运行容器即可。


1.png

随着Docker容器格式和操作变得很好理解,PayPal打开了开发者学习和使用容器的大门。由于Docker提供了一种运行应用程序的标准方法,开发人员可以自由的尝试新的编程方法和框架,而运营和支持团队不必要担心这些复杂性。随着开发人员加入Docker供应链,PayPal认识到通过使用桌面Docker进行本地化开发,构建和测试使开发人员生产力提高了50%以上。开发人员的本地开发环境也补充了他们的云SDLC环境。使用Docker,每个开发人员,运营人员,测试人员和自动化工具都能使用相同的配置运行相同的应用程序。对于系统管理员来说,还有额外的好处。过去花费一整年时间才能推出的操作系统升级,现在只需要新一个容器镜像的Dockerfile即可完成。随着这些好处在PayPal内部传播开来,原本不属于试点的其他组织开始采用Docker作为自己的使用案例,PayPal的Docker试点团队也帮助他们顺利开展工作。

结果和下一步是什么

在第一个阶段开始不到两年的时间里,PayPal已经把超过700个应用迁移到Docker,运行在15万个容器中。这期间,PayPal在开发和测试Docker化应用程序方面的开发人员生产力提高了50%。像操作系统升级这类的项目,过去需要花费一年的时间,现在可以在开发,测试和生产过程中一次性更改。开发人员可以自由探索新兴技术,无论应用程序如何操作人员和管理员可以同时使用同一套操作程序。

在最后阶段,PayPal已经开始在他们所有的云中推出一个完整的CaaS平台。这个阶段,他们专注于提高效率。到目前为止,迁移到新Docker Caas平台的应用程序已经减少了资源消耗,提高了安全性和可用性,并使PayPal能够为所有环境中的工具,监控和操作提供单一平台。
2.png

PayPal实现Docker的过程是其他组织遵循的伟大蓝图。专注于采用可管理的步骤,创建一个可以咨询和支持其他团队的内部专家团队,制定明确的目标和衡量结果是实现大幅度改善运营和发展转型的关键。

原文链接:containers-at-paypal(翻译:ylzhang)

0 个评论

要回复文章请先登录注册