Bloomberg 的存储支持团队依赖开源和 SDS

Bloomberg 的存储支持团队依赖开源和 SDS

TL博士:彭博存储工程团队创建了供内部使用的云存储,不会干扰基础设施,并且可以承受大流行期间交易波动的重载。

马修·伦纳德 (Mattew Leonard) 在谈到他作为彭博存储工程团队的技术经理的工作时,经常使用“挑战”和“有趣”这两个词。 挑战来自广泛的存储范围,从最新的基于 NVMe 的 SAN 阵列到 DevOps 中的开源软件定义存储。 这就是“乐趣”开始的地方(参见我在 Habré 上的头像, 约译者).

Leonard 和他的 25 名同事团队负责管理超过 100 PB 的容量和一个内部云,供 6000 名工程师开发 Bloomberg Terminal 应用程序,正是这项技术使 Michael Bloomberg 成为了亿万富翁。 该团队为 Bloomberg Engineering 设计、构建和维护存储系统。

与 IT 行业的其他人员一样,2020 年对于存储工程团队的成员来说是不寻常的一年,因为 COVID-19 迫使他们远程工作。 伦纳德表示,由于面对面的互动被取消,疫情对他的“紧密团队”产生了社交影响,但员工很快就适应了在家使用笔记本电脑和视频会议工作。

令人惊讶的是,我想说这并没有让事情变得更糟。 适应期很短——并不是每个人都准备好在家工作。 一两周后,每个人都明白了这一点。 在这段时间里,我们能够找到让自己忙碌的方法,购买和升级设备,并增加成本来支持公司。 我们必须发挥创造力,但我们没有受伤

最大的挑战可能早于 COVID-19 高峰期。 这是由于担心疫情对全球经济的影响而导致市场交易波动。 从全球资本市场流入彭博终端的数据量几乎翻了一番,240月下旬的某些日子达到了XNUMX亿条信息。 这是对存储系统的严峻考验。

当您在一天内立即将存储需求增加一倍时,确实会产生有趣的问题。 我们能够克服这个问题,并确保为应用程序开发团队提供他们所需的空间和性能。 这大部分与我们如何看待存储系统有关。 今天我们没有创造任何东西。 我们不会说:“我们使用 ABC,所以我们将为 ABC 构建基础设施。” 我们与团队一起进行所谓的“数据预算”,以预测使用情况、分析使用情况和性能趋势,并且我们还会关注安全性。 这种计划、思考和有条不紊的尽职调查使我们能够毫不费力地对激增采取严厉行动。 当然,我很紧张,但我在自己的位置上感到很舒服。

Leonard 最近与 SearchStorage 详细讨论了数据驱动型企业的存储管理问题。 他讨论了如何提供私有云存储解决方案,使其能够向用户提供 AWS 功能,同时将任何数据保存在 Bloomberg 数据中心。

如果不再有大流行,彭博工程师在管理存储方面会遇到什么困难?

我们有很多需求,我们只是被拉向不同的方向。 因此,我们需要提供不同SLA级别的许多不同类型的产品,以帮助我们的应用程序开发人员专注于他们的任务,而不是担心存储本身。

您为此采取什么策略?

我们正在尝试做的部分工作是提高存储性能。 想一想 AWS 模型,开发工程师走进来,按下按钮,然后“单击”神奇地获得正确的存储类型来解决他的问题。

您的存储基础设施是什么样的?

由于我们拥有非常多样化的生态系统和许多不同的开发人员,因此我们无法提供单一产品。 我们有对象、文件和块存储。 这些是不同的产品,我们提供不同类型的技术来交付它们。 对于块,我们使用 SAN。 我们还有 SDS,它提供了另一种具有不同性能要求的块存储选项。 对于文件,我们使用 NFS。 SDS 还用于对象存储。 块和对象部分形成了用于计算和存储的内部私有云。

那么您不使用公共云存储吗?

这是正确的。 一些开发团队有权使用公共云。 但由于我们业务的性质,我们更愿意对离开我们墙壁的东西有更多的控制权。 所以,是的,我们有自己的云,并且在我们的控制之下。 这是位于我们管理的数据中心内的设备。

在我们的数据中心,我们更喜欢多供应商策略。 他们是大型供应商,但我们不会透露具体是谁(彭博社的政策是不支持任何供应商, 约译者).

您是否使用超融合基础设施来构建您的私有云?

不。 我们彭博社正在选择一个不走向超融合的方向。 我们正在尝试将计算与存储分离,以便我们可以独立扩展它们。 我们前进的方向,尤其是我们的云,是让我们能够将这两个实体分开。 这都是因为我们国家有些事情需要密集计算,而另一些则需要存储。 如果均匀地扩展它们,您将损失资源,无论是金钱还是数据中心的空间,或者购买不需要的容量。 这就是为什么我们希望在两个实体之间有一个通用的接口,但让它们成为完全不同的系统并由不同的团队管理。

构建私有云需要克服哪些障碍?

规模问题。 与大多数事情一样,细节决定成败。 当您思考这些东西如何工作、如何使它们具有弹性、如何处理操作负载、如何与实物资产团队沟通时,事情就会变得有点有趣。 我们面临的挑战是找到一种方法,使一切成为我们的应用程序开发人员想要使用的可扩展且可支持的产品,能够丰富功能集,同时保持公共云正在做的事情的最前沿。 并且还要将所有这些整合在一起,以便它继续发挥作用。 这是我们的主要问题——我们在业务的各个领域开展工作,努力满足所有需求,但不忽视其他需求。

您认为您需要 AWS 和其他公共云中提供的最新功能吗?

S3 最有趣的事实是生活水平在不断变化,新功能不断添加。 这就像一个新玩具。 如果有人在新版本中看到新功能,他们就会想要它。 并非所有 AWS 功能都适用于我们的环境,因此了解哪些功能可以帮助开发人员以及如何在内部使用这些功能非常重要且有趣。

您使用什么存储设备?

我们使用最新的设备。 我们的内部云完全基于NVMe Flash,这使得这些系统非常强大。 它使我们的生活变得更加轻松,对于我们的开发人员来说这也是一个很好的功能,因为他们不必担心存储性能。

您使用对象存储做什么?

我们有 6000 名开发人员致力于基础设施建设,他们并不因任何一种用例而团结在一起。 您能想到的任何选项,我们都可能在对象存储中提供。 一些团队将其用于冷档案存储,一些团队将其用于数据传输,还有一些团队将其用于事务应用程序。 所有这些用例都需要不同级别的 SLA,因此如您所见,我们有不同类型的流量,以及基础设施的不同用户的各种需求。 这不是在我们的任何存储之上运行的同类用例,这显然使事情变得更加复杂。

Kubernetes 和容器对您来说有多大作用?这对存储有何影响?

我们正在推动存储生产力,以创造一种云的感觉,一种服务即服务的感觉,开发人员可以通过一个按钮来加速他们的技术并在此过程中删除基础设施。

编者注:15年2020月XNUMX日准备就绪 Ceph 视频课程。 您将学习 Ceph 网络存储技术,以在项目中使用它来提高容错能力。

我们有三个团队,第一个是存储API团队。 他们为 Bloomberg 的应用程序开发客户提供编程访问、端点和预定义工作流程。 这是一个全栈Web开发人员团队,他们使用node.js、python、Apache Airflow等开源技术,因此他们研究容器化和虚拟化。

我们还有两个实际移动比特和字节的技术团队。 它们与设备更直接相关。 我们有很多设备,这些团队没有使用虚拟化和容器。

我们正在努力跟上行业中正在发生的事情,研究 Kubernetes CSI 驱动程序,并与 Bloomberg 实施 Kubernetes 的团队密切合作,以评估我们是否可以使 Kubernetes 存储与我们拥有的技术一致地工作,并且我们已经它工作了。 我们使用SDS来支持Kubernetes连接到持久存储。 我们已经成功开发了这项技术,两个团队仍在继续讨论如何将这项技术提供给彭博社的其他人。 我们已经证明这是完全可能的。

您还使用哪些其他开源软件,特别是存储方面的软件?

我们使用 Apache Airflow、HAProxy 来限制应用程序流量。 我们还使用 Ceph,一个 SDS 平台。 有了它,您可以拥有一个命令系统,但为客户端提供多个接口。 其中一个虚拟化平台在 OpenStack 上运行 - 我们与该团队密切合作。 我们有一个开源虚拟化平台,使用开源SDS平台进行存储。 这很有趣。

您在未来两到三年内考虑使用哪些存储技术?

我们一直在研究存储行业中发生的其他很酷的新事物。 这是我们工作的一部分,而不是“这是你的 SAN,在这里管理,这里是你的 NFS,在那里管理”。 我们尝试与客户沟通,即由我们的应用程序开发人员。 我们共同努力了解他们试图解决哪些问题以及它将如何影响我们的外部彭博客户 - 银行和其他使用我们软件的客户。 然后我们回到数据存储世界,寻找机会帮助他们实现目标。 我们如何帮助他们找到适合其 SLA 或他们想要做什么的正确存储技术? 因为我们有这么多工程师在做很酷的事情,所以永远不会变得无聊。

我们目前正在研究提高可能在通用服务器上运行的 SDS 性能的方法。 因此,我们正在研究 NVMe over TCP,这是一项非常有趣且很酷的举措,也是众多举措之一。 我们还在与行业关键人士和一些现有供应商合作,了解他们提供的产品以及实际性能如何,我们是否可以开始在公司的生产中使用它。 这开辟了以前无法进入的新视野。

对PS有一点帮助

PS 如果可以的话,我想提醒您,28月30日至XNUMX日将举行 密集的 Kubernetes 基础,适合那些不了解 Kubernetes,但想要熟悉它并开始使用它的人。

来源: habr.com

添加评论