公司贝莱德 位置纽约,纽约 行业金融服务

挑战

世界上最大的资产管理公司贝莱德经营一个控制静态部署方案,允许可伸缩性。但在他们的数据科学部门,需要更多的动态对资源的访问。“我们希望能够给每一个投资者访问数据科学、意义Python笔记本电脑,甚至一些更先进,像MapReduce引擎基于火花迈克尔•弗朗西斯说:“贝莱德产品集团的董事总经理,负责公司的投资管理平台。“管理复杂的Python安装在用户的桌面是很困难的,因为每个人都结束了稍微不同的环境。我们有现有的环境,做这些事情,但我们需要让它真正的,广阔的和可伸缩的。能够旋转,在需求,撕裂下来,让它更加动态,成为至关重要的对我们的思维过程。它不是那么多,我们必须解决我们的主要核心生产问题,这是我们如何延长?我们怎么发展?”

解决方案

从所学在飞行员去年使用码头工人环境中,弗朗西斯放在一起一个横断面团队20来构建一个投资者研究web应用程序使用Kubernetes得到它的目标在一个季度投入生产。

影响

“我们的目标是:你如何迅速给人们的工具,而无需安装在他们的桌面上吗?”弗朗西斯说。和团队目标在100天内。弗朗西斯的结果感到满意,说道,“我们将使用这个基础设施随着时间的推移很多其他应用程序工作负载。不仅仅是数据科学;这种风格的应用程序,需要活力。但是我认为我们6 - 12个月(大规模)决策。我们需要获得经验在生产运行系统,我们需要了解失效模式和如何最好地管理运营问题。有趣的是,就有这种技术改变了我们的开发人员都开始考虑他们的未来发展。”

贝莱德的管理目标的一个产品组员工在2017年“构建很酷的东西。”Led by Managing Director Michael Francis, a cross-sectional group of 20 did just that: They rolled out a full production Kubernetes environment and released a new investor research web app on it. In 100 days.

对于一个公司是世界上最大的资产管理公司”只是设备采购可以100天有时,更不用说从开始到交付,”卡尔曼说,一名高级系统管理员。“这是一个野心勃勃的计划。但它把拨。”In fact, the project achieved two goals: It solved a business problem (creating the needed web app) as well as provided real-world, in-production experience with Kubernetes, a cloud-native technology that the company was eager to explore. "It's not so much that we had to solve our main core production problem, it's how do we extend that? How do we evolve?" says Francis. The ultimate success of this project, beyond delivering the app, lies in the fact that "we've managed to integrate a radically new thought process into a controlled infrastructure that we didn't want to change."

毕竟,在其30年的存在,贝莱德”一个非常完善的环境管理计算资源,”弗朗西斯说。“我们机器上的管理大型集群的过程,所以我们做大量的编排和管理我们的主要生产流程的方式非常cloudish概念。我们能够管理他们的控制,静态部署方案,给了我们一个巨大的可扩展性。”

虽然适用于核心生产,该公司已经发现一些数据科学工作负载需要更多的动态对资源的访问。说:“这是一个非常热门的过程,弗朗西斯,谁是头的数据对公司的阿拉丁投资管理平台部门。

阿拉丁,连接人、信息和技术所需的实时资金管理,内部使用,也作为一个平台出售其他资产管理公司和保险公司。“我们希望能够给每一个投资者访问数据科学、意义Python笔记本电脑,甚至一些更先进,像MapReduce引擎基于火花,”弗朗西斯说。但“管理复杂的Python安装在用户的桌面是很困难的,因为每个人都结束了稍微不同的环境。码头工人允许我们平环境。”

然而,挑战仍然存在。“如果你有一个共享的集群,这风暴群问题,每个人都想在同一时间做同样的事情,”弗朗西斯说。“你可以限制它,但你必须建立一个基础设施定义限制我们的流程,设计和Python笔记本不是真的。我们有现有的环境,做这些事情,但我们需要让它真正的,广阔的、可伸缩的。能够旋转,在需求,撕裂下来,并使更加动态的,成为了一个关键的思维过程。”

由管理人员从技术、基础设施、生产运营、开发和信息安全,弗朗西斯的团队能够看问题全面,想出了一个解决方案,为贝莱德有意义。“我们最初的稻草人,我们要构建一切使用Ansible并运行它所有使用一些完全不同的分布式环境中,”弗朗西斯说。“这是绝对错误的事情。有我们离开自己的开发团队,开发了这个解决方案,这将是一个非常不同的产品。这将是非常昂贵的。我们就没有了我们现有的编排系统下运行的路线。因为我们不理解它。这些家伙(在操作和基础设施)理解它。拥有多学科团队使我们能够得到正确的解决方案,这实际上意味着我们没有生产我们以为我们要最终建筑。”

寻找一个解决方案,他们可以在逐个用户级别管理使用,弗朗西斯的团队吸引Red HatOpenShiftKubernetes祭。公司已经试过其他原生云环境,但是团队喜欢Kubernetes是开源的,和“我们感到风吹的方向长期Kubernetes,”弗朗西斯说。“通常我们做技术的选择,相信会在5 - 10年的时间,以某种形式。现在,在这个空间,Kubernetes感觉这就是。”Adds Uri Morris, Vice President of Production Operations: "When you see that the non-Google committers to Kubernetes overtook the Google committers, that's an indicator of the momentum."

一旦决定,主要的挑战是如何让Kubernetes贝莱德的现有框架内工作。“大概了解我们如何操作,管理和支持这样的一个平台,除了附加到我们现有的技术平台,“项目经理Michael Maskallis说。“所有的控制,变更管理过程中,在软件开发生命周期,新员工培训流程我们如何度过我们可以做所有这些事情吗?”

第一(预期)减速带是在贝莱德公司防火墙背后的问题。“我们面临的一个挑战是在大多数开源软件没有防火墙,”弗朗西斯说。所以几乎所有的安装脚本失败在一些奇怪的方式,和向下拉包不一定工作。”The team ran into these types of problems usingMinikube做一些小推动开源项目。

也有关于服务发现的问题。“你可以把阿拉丁的云服务与它们之间的api,允许我们快速构建应用程序,”弗朗西斯说。“这是所有专有消息总线,为我们提供了各种各样的优点,但与此同时,如何在第三方(平台)?”

另一个问题,他们不得不导航是在贝莱德现有系统中,消息传递协议不同实例在不同的开发、测试和生产环境。虽然Kubernetes使更DevOps-style模型,它为贝莱德没有意义。“我认为我们很自豪的是,对于我们推进生产能力仍然是令人难以置信的快速在这个新的基础设施,但我们有控制点,和我们不需要破坏一切,”弗朗西斯说。“很多成本的这种发展是思考如何最好地利用我们的内部工具。这是低成本比我们想象的。”

该项目与消息传递总线相关的杠杆工具,例如。“Kubernetes集群的方式将跟我们的内部通讯平台是通过一个网关项目,这个网关程序已经内置检查和油门,”莫里斯说。“我们可以使用它们来控制和潜在的节流阀的请求来自Kubernetes非常弹性的基础设施生产的基础设施。我们会继续朝这个方向走。它使我们扩展我们需要从操作的角度来看。”

解决方案也必须辅以贝莱德集中业务支持团队结构。“Kubernetes的核心基础设施组件连接到我们现有的编制框架,这意味着任何人在我们的支持团队既有控制和可见性集群使用现有的操作工具,”莫里斯说。“这意味着我不需要雇佣更多的人。”

建立了这些点,团队为项目创建了一个程序:“我们首先滚出来一个开发环境,然后转移到一个测试环境,最终两个生产环境中,连续的次序,“Maskallis说。“使我们的很多学习曲线。我们这些移动部件,软件组件在基础设施方面,软件组件与Kubernetes直接互连的环境,我们操作在贝莱德,以及如何连接这些碎片。如果我们遇到问题,我们固定它们,然后转移到不同的环境中复制,直到我们最终在生产环境中这一特定集群应该住在哪里。”

团队与所有成员每周工作小时的会议(位于世界各地)参与,和较小的突破或深潜会议关注具体的技术细节。可能的解决方案将会报告给集团和讨论接下来的一周。“我想做一个成功的实验是人们不得不努力学习,他们与他人分享他们的经历,”副总裁兼软件开发人员Fouad锡说。然后,弗朗西斯说,“我们给我们的工程师的空间做他们擅长的事情。这没有自上而下的。”

他们由一个关键公理:集中精力,避免范围渐变。这意味着他们不会使用特性,不在Kubernetes和码头工人的核心。但是如果有一个真正的需要,他们会建立自己的特性。幸运的是,弗朗西斯说,“因为速度的发展,很多事情我们认为我们必须建立自己一直滚到核心产品。(包管理器就是一个例子)。人也有类似的问题。”

在年底前100天,这个应用程序是内部贝莱德用户启动并运行。30个用户的初始容量是在几个小时内,并迅速增加到150。“人们立即在它,”弗朗西斯说。在这个项目的下一阶段,他们正计划扩大集群有更多的能力。

更重要的是,他们现在有Kubernetes生产中的经验,他们可以继续建立新秩序为推出一个完整的框架应用程序中。“我们将使用这个基础设施随着时间的推移很多其他应用程序工作负载。不仅仅是数据科学;这种风格的应用程序,需要活力,”弗朗西斯说。“这是正确的地方搬到我们的核心生产过程到吗?它可能是。我们不是在一个地方我们可以说是或否,但是我们觉得有实际生产经验和类似Kubernetes在某种形式和规模将使我们能够理解这一点。我认为我们6 - 12个月(大规模)决策。我们需要获得经验在生产运行系统,我们需要了解失效模式和如何最好地管理操作的问题。”

其他大公司考虑这样的一个项目,弗朗西斯的承诺和奉献是关键说:“我们的结果(高级管理人员)从第一天,承诺,我们能够得到正确的人。如果我有这样的隔离是什么复杂的成功,我认为高级实践可以驾驶它的人带来巨大的不同。”With that in place, he adds, "My message to other enterprises like us is you can actually integrate Kubernetes into an existing, well-orchestrated machinery. You don't have to throw out everything you do. And using Kubernetes made a complex problem significantly easier."

Baidu