公司黑石 地点纽约,纽约 行业金融服务

挑战

世界上最大的资产经理,黑石运行一个非常受控制的静态部署方案,允许多年来的可伸缩性。但在他们的数据科学部门,需要更动态地获取资源。“我们希望能够让每个投资者都能接触到数据科学,也就是说Python笔记本电脑,甚至更先进的东西,如Mapreduce引擎火花“Blackrock的产品组的常务董事Michael Francis说,该公司的投资管理平台Michael Francis说。”管理用户桌面上的Complex Python安装真的很难,因为每个人都以略微不同的环境。我们有现有的环境,但我们需要使其变得真实,广泛和可扩展。能够旋转要求,撕下它,使其变得更加活跃,成为我们的关键思想过程。我们不得不解决我们的主要核心产量问题并不是那么多,这就是我们如何延伸这一点?我们如何发展?“

解决方案

从去年使用的飞行员期间他们所学到的内容码头工人环境,弗朗西斯将20个横断面团队放在一起建立投资者研究Web应用程序Kubernetes.在一个季度内将其进入生产的目标。

影响

Francis说:“我们的目标是:如何在不把工具安装在桌面的情况下,快速地为人们提供工具?”团队在100天内达到了目标。Francis对这个结果很满意,他说:“随着时间的推移,我们将把这个基础设施用于许多其他应用程序工作负载。这不仅仅是数据科学;正是这种类型的应用程序需要动态。但我认为,我们离做出(大规模)决定还有6-12个月的时间。我们需要获得在生产中运行系统的经验,我们需要了解故障模式以及如何最好地管理操作问题。有趣的是,有了这项技术,我们的开发者开始思考未来发展的方式也发生了改变。”

2017年Blackrock产品集团员工的管理目标之一是“建造酷炫的东西”。由迈克尔·弗朗西斯董事总经理领导,20的横断面组只是这样做:他们推出了一个完整的Kubernetes环境,并发布了一个新的投资者研究网络应用程序。在100天。

对于这家世界上最大的资产经理的公司来说,“只有设备采购有时可能需要100天,更不用说从成立到交付,”高级系统管理员卡尔威姆曼说。“这是一个侵略性的时间表。但它移动了表盘。”事实上,该项目实现了两个目标:它解决了一个业务问题(创建所需的Web应用程序)以及提供的现实世界,与Kubernetes的生产经验,这是公司渴望探索的云本机技术。“我们必须解决我们的主要核心产量问题并不是那么多,这是我们如何扩展它?我们如何发展?”弗朗西斯说。这个项目的最终成功,除了提供该应用程序,在于“我们设法将一个根本性的新思想流程集成到我们不想改变的受控基础设施中。”

弗朗西斯表示,毕竟,在贝莱德30年的历史中,它拥有“一个非常完善的管理计算资源的环境”。“我们管理机器上的大型集群流程,因此我们为我们的主要生产过程做了很多编排和管理,以一种非常混浊的概念。我们能够以非常受控,静态的部署方案管理它们,而且给了我们巨大的可扩展性。“

尽管这对于核心产品来说很有效,但该公司发现,一些数据科学工作负载需要对资源进行更动态的访问。该公司阿拉丁投资管理平台部门的数据主管弗朗西斯表示:“这是一个非常活跃的过程。”

aladdin在实时地使用金钱管理所需的人员,信息和技术,在内部使用,也被作为其他资产管理人员和保险公司的平台销售。“我们希望能够让每个投资者都能接触到数据科学,也就是说Python笔记本电脑,甚至更先进的东西,如Mapreduce引擎火花,“弗朗西斯说。但是”管理用户桌面上的复杂Python安装非常困难,因为每个人都以略有不同的环境。Docker让我们削弱这种环境。“

仍然存在挑战。“如果你有共享群集,你会得到这个猛烈的牧群问题,每个人都想在同一时间做同样的事情,”弗朗西斯说。“您可以对此进行限制,但您必须建立一个基础架构来定义我们流程的限制,并且Python笔记本没有真正为此设计。我们有现有的环境,但我们需要做这些事情的环境它真实,膨胀和可扩展。能够旋转要求,撕下它,并使这更具活力,成为我们的关键思想过程。“

Francis的团队由来自技术、基础设施、生产运营、开发和信息安全的管理人员组成,能够从整体上看待问题,并提出对贝莱德有意义的解决方案。“我们最初的设想是,我们打算建造所有使用Ansible.并使用一些完全不同的分布式环境来运行它,”Francis说。“那样做绝对是错误的。如果我们作为开发团队独立去开发这个解决方案,它将会是一个非常不同的产品。而且它会非常昂贵。我们就不会走在现有编配系统下运行的道路上。因为我们不理解它。(运营和基础设施部门的)这些人理解这一点。多学科团队让我们能够找到正确的解决方案,这也意味着我们并没有创造出我们想要创造的数量。”

寻找一个解决方案,他们可以在用户级别地管理使用,弗朗西斯团队抓住红帽openshift.Kubernetes提供。该公司已经尝试过其他云原生环境,但该团队喜欢Kubernetes是开放的来源,“我们觉得风在长期的Kubernetes方向上吹来,”弗朗西斯说。“通常,我们使我们认为将在某种形式下在5到10年的时间内进行技术选择。现在,在这个空间,Kubernetes感觉就像那个将在那里的那个。”添加了生产运营副总裁URI Morris:“当您看到非谷歌提交给Kubernetes的超越谷歌提交者时,这是一个势头的指标。”

一旦做出决定,主要挑战是弄清楚如何在BlackRock现有框架内制作Kubernetes工作。“除了了解我们如何运行,管理和支持这样的平台的情况,除了将其转移到我们现有的技术平台之外,我们还可以如何运行,管理和支持这样的平台,”Project Manager Makeallis“我们到位的所有控件,更改管理过程,软件开发生命周期,我们经历的船上流程 - 我们如何完成所有这些东西?”

第一个(预期中的)障碍是解决贝莱德公司防火墙背后的问题。“我们面临的一个挑战是,大多数开源软件都没有防火墙,”Francis说。“因此,几乎所有的安装脚本都会以某种奇怪的方式失败,拉下软件包并不一定有效。”团队在使用时遇到了这类问题minikube.并推回开源项目。

还有关于服务发现的问题。Francis说:“你可以把阿拉丁想象成一个服务云,它们之间有api,让我们能够快速构建应用程序。”“这一切都在一个专有的消息总线上,这给我们带来了各种优势,但与此同时,它在第三方(平台)中如何发挥作用?”

他们必须导航的另一个问题是,在Blackrock的现有系统中,消息传递协议在不同的开发,测试和生产环境中具有不同的实例。虽然Kubernetes允许更多的Devops风格的模型,但它没有意义Blackrock。“我认为我们非常自豪的是,在这种[新]基础设施中,我们推进生产的能力仍然令人难以置信,但我们有控制点到位,我们没有扰乱一切,”弗朗西斯说。“这一发展的很多成本思考如何最好地利用我们的内部工具。所以它比我们实际认为将要成为的成本更低。”

例如,项目利用与消息传递总线相关联的工具。“Kubernetes群集将与我们的内部消息传递平台交谈的方式是通过网关程序,这个网关程序已经内置了检查和节流阀,”Morris说。“我们可以用它们来控制和潜在地限制来自Kubernetes的非常有弹性基础设施的请求。我们将继续朝着那种方向走。它使我们能够从操作角度来缩放。”

该解决方案还必须与贝莱德的集中式运营支持团队结构相辅相成。“Kubernetes的核心基础设施组件与我们现有的编排框架挂钩,这意味着我们支持团队中的任何人都可以使用现有的操作工具对集群进行控制和可见性,”Morris解释说。“这意味着我不需要雇佣更多的人。”

建立了这些点之后,团队为项目创建了一个过程:“我们首先将其推出到一个开发环境,然后转移到一个测试环境,最后再到两个生产环境,按照这个顺序,”Maskallis说。这极大地推动了我们的学习曲线。我们有所有这些移动的部分,在基础设施方面的软件组件,与Kubernetes直接合作的软件组件,与我们在贝莱德运营的其他环境的互联互通,以及我们如何将这些部分连接起来。如果我们遇到了问题,我们会修复它们,然后转移到不同的环境中进行复制,直到我们最终进入这个特定集群应该存在的生产环境。”

该团队每周都有一小时的工作会议,所有成员(位于世界各地)参与,较小的突破或深夜会议,专注于具体的技术细节。将据报告可能的解决方案并在接下来的一周辩论。“我认为是什么让它成功的实验是人们必须努力学习,他们与他人分享了他们的经历,”副总裁和软件开发者Fouad Semaan说。然后,弗朗西斯说:“我们给了我们的工程师那个空间做他们擅长的东西。这并不自上而下。”

它们由一个关键公理领导:保持专注并避免范围蠕变。这意味着它们不会使用不在Kubernetes和Docker的核心中的功能。但如果有真正的需要,他们会自己建立特色。幸运的是,弗朗西斯说:“由于发展的迅速,我们认为我们必须建立自己的很多东西已经卷入了核心产品。[包装经理是一个例子]。人们有类似的问题。“

到100天结束时,该应用程序已启动并为内部Blackrock用户运行。30个用户的初始能力在几小时内被打到,并迅速增加到150人。“人们立即遍布它,”弗朗西斯说。在该项目的下一阶段,他们计划扩展群集以具有更多容量。

更重要的是,他们现在拥有与Kubernetes的生产经验,他们可以继续构建和完整的框架来推出新的应用程序。“随着时间的推移,我们将为许多其他应用程序工作负载使用此基础架构。这不仅仅是数据科学;这是这种需要活力的这种应用风格,”弗朗西斯说。“这是正确的地方,使我们的核心生产流程移动到吗?它可能是。我们不在我们可以说是或否的地方,但我们觉得拥有某种形式和鳞片等血腥物种的实际生产经验会让我们了解这一点。我认为我们距离[大规模]决定了6-12个月。我们需要获得在生产中运行系统的经验,我们需要了解失败模式以及如何最好地管理操作问题。”

对于其他大公司考虑这样的项目,弗朗西斯表示承诺和奉献精神是关键:“我们从一天开始从[高级管理层]的签署,其中我们能够获得合适的人。如果我不得不隔离是什么让一些像这样的复杂成功,我会说高级实际的人,他们实际上可以驾驶它的巨大差异。“与此同时,他补充说:“我的信息给我们这样的其他企业的信息是您实际上可以将Kubernetes集成到现有的策划机器中。您不必抛弃您所做的一切。并使用Kubernetes进行了复杂的问题明显更容易。“