PayPal的150,000个容器之路

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环境并将其用于标准应用交付平台,他分享了这个交付的过程。 可以看下面视频。

class="video_iframe" data-vidtype="2" allowfullscreen="" frameborder="0" data-ratio="1.7647058823529411" data-w="480" data-src="http://v.qq.com/iframe/player.html?vid=b0524fz8l9n&width=651&height=366.1875&auto=0" style="display: block; width: 651px !important; height: 366.1875px !important;" width="651" height="366.1875" data-vh="366.1875" data-vw="651" src="http://v.qq.com/iframe/player.html?vid=b0524fz8l9n&width=651&height=366.1875&auto=0"/>


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


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

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

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


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



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


结果和下一步是什么


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

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


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

相关链接:

  1. https://goto.docker.com/mtakit

  2. https://success.docker.com/article/Docker_Reference_Architecture-_Building_a_Secure_Supply_Chain


原文链接:https://blog.docker.com/2017/12/containers-at-paypal/


Kubernetes 实战培训


本次培训内容包括:Docker容器的原理与基本操作;容器网络与存储解析;Kubernetes的架构与设计理念详解;Kubernetes的资源对象使用说明;Kubernetes 中的开放接口CRI、CNI、CSI解析;Kubernetes监控、网络、日志管理;容器应用的开发流程详解等,点击识别下方二维码加微信好友了解 具体培训内容


3月23日开始上课,点击阅读原文链接即可报名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值