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环境并将其用于标准应用交付平台,他分享了这个交付的过程。 可以看下面视频。https://v.qq.com/x/page/b0524fz8l9n.html
PayPal最初对Docker的使用只是为了创建一种单一的、一致的应用程序打包格式,这种格式可以用于尽可能多的现有应用程序。他们将重点放在业务的运营方面,创建统一的应用程序交付和运营模型,以解决围绕应用程序孤岛的问题。 PayPal在Docker官方现代化传统应用程序[1]推出之前就已经进行了这个阶段,但是他们分享了许多相同的策略和好处:从现有的应用程序开始,在现有的应用程序中,您已经拥有日常运营的内部专业知识, 将应用程序迁移到容器而不更改代码。 在这个阶段,PayPal承认了几个重要的好处,尽管这些应用程序本身仍然是一样的:
从框架堆栈解耦部署:PayPal现在有一个平台,可以使用相同的过程来部署几乎所有的应用程序,而不用管是何种程序设计语言,库和堆栈。
现代化的操作系统和内核:由于Docker将所有应用程序依赖关系打包到容器中,因此可以将它们与底层操作系统分离,从而实现基础架构的现代化,而无需更改应用程序。 一些应用程序的效率提高了10-20%,只需在现代操作系统和内核上运行容器即可。
结果和下一步是什么
在最后阶段,PayPal已经开始在他们所有的云中推出一个完整的CaaS平台。这个阶段,他们专注于提高效率。到目前为止,迁移到新Docker Caas平台的应用程序已经减少了资源消耗,提高了安全性和可用性,并使PayPal能够为所有环境中的工具,监控和操作提供单一平台。
PayPal实现Docker的过程是其他组织遵循的伟大蓝图。专注于采用可管理的步骤,创建一个可以咨询和支持其他团队的内部专家团队,制定明确的目标和衡量结果是实现大幅度改善运营和发展转型的关键。
相关链接:
https://goto.docker.com/mtakit
https://success.docker.com/article/Docker_Reference_Architecture-_Building_a_Secure_Supply_Chain
原文链接:https://blog.docker.com/2017/12/containers-at-paypal/