架构师指南:全新私有云

这篇文章最初发表在 The New Stack。
在过去的几年里,“私有云”这个词曾带有负面含义。但正如我们所知,技术更像一个轮子而不是一支箭,因此,私有云正重新受到关注,而且都是积极的。数据很明确,Forrester 2023 年的基础设施云调查显示,在 1300 名受访的企业决策者中,有 79% 的人表示他们正在实施私有云。根据 英国思杰的一份报告,94% 的 IT 领导者参与了数据回迁工作。久负盛名的 IDC 发现,80% 的公司在将数据迁移到云端一年内将部分或全部数据回迁。云产业综合体声称“这里没什么好看的……”,真是言过其实了。
回迁的原因多种多样,我们将在下文中详细介绍。但更重要的是,回迁的正确架构是什么?私有云的工程首要原则是什么?最后,如何设计满足人工智能数据基础设施需求的架构?
私有云回迁背后的原因
公司回迁的首要原因是成本。他们通过回迁可以节省高达 70% 的成本。这已经得到了像 37 Signals、X 和 Ahrefs 等众多公司的公开证明。
与成本相关但并不相同的是可预测性。私有云的弹性较低,但可预测性更高(我们将在下面讨论一些弹性方面的技巧)。对于大多数了解其工作负载的 CIO 来说,这种权衡是值得的。对于 CFO 来说,选择就更加容易了。
安全问题位居第三。这并不是说公有云本身不安全,它并非如此。而是说 CISO 并不完全信任其公有云合作伙伴(事实上,大多数云提供商保留了查看您存储桶的权利)在这方面。在人工智能时代,风险只会越来越高。
相关的是,控制权是每个 CIO 的清单上的内容。除了成本节约、可预测性和安全性之外,您还可以完全控制您的 AI 数据基础设施,并且数据与所有应用程序都近在咫尺,从而使您能够在 AI 数据基础设施上托管您的模型,您和您的团队可以根据您的独特安全需求设置安全标准,甚至包括物理访问。
成熟度也很重要。现代云是一种运营模式,而不是一个位置。这种模式曾经是主要公有云的专属,现在随处可见——从边缘到核心。容器化、编排、微服务、软件定义基础设施、RESTful API 都是标准的操作流程。您在哪里运行它们并不重要——如果无关紧要,为什么要支付两到三倍的成本呢?
法规也发挥着作用,尤其是在法规不断发展的情况下。某些架构、某些地理位置、某些部署场景(军事/情报)最初并不需要私有云,但现在需要了。
同样,原因会有所不同,但效果是一样的。私有云又重新流行起来。问题是:在过去的几年里发生了什么变化?
私有云最喜欢的设计模式是现代数据湖
如上所述,私有云与公有云一样,都运行在云运营模式上。边缘云也运行在云运营模式上。托管式服务也运行在云运营模式上。
该运营模式定义了一种特定的架构,并且一次又一次地,这种架构使现代数据湖成为可能。当然还有其他架构,但使用私有云构建您的现代数据湖可以让组织只为他们需要的资源付费。当他们的业务增长时,扩展就像向集群添加更多资源一样简单。无需重新设计。 AI/ML 受支持。 高级分析 受支持。日志分析/威胁分析受支持。 HDFS 替换/迁移 受支持。
现代数据湖是数据仓库和数据湖的结合,并且使用对象存储来存储所有内容。对象存储层是软件定义的、可扩展的、云原生的和高性能的。可以通过选择 硬件(NVMe)和网络(100 GbE 或更高) 来调整性能,这些硬件和网络都可以方便地从 Supermicro、Dell 和 HPE 等供应商处购买现货。
将对象存储与数据湖一起使用是标准做法,而将其与数据仓库一起使用则是新的,这得益于 Apache Iceberg、Apache Hudi 和 Delta Lake 等开放表格式 (OTF)。关于此架构的详细信息超出了本文的范围。为此,我建议阅读 Keith Pijanowski 关于现代数据湖的完整 文章。以下是架构图
此架构旨在提供以下功能,所有这些功能都是核心云运营原则,并且也是私有云的核心原则:**高性能:**虽然私有云可以设计用于容量,但现代私有云旨在大规模提供性能。此架构优先考虑强调速度和效率的工具。正如杰夫·贝佐斯所说,谁愿意支付更多费用并等待更长时间才能获得它?同样的原则也适用于这里:谁希望它运行速度更慢?
**解耦计算和存储:**分离这些组件可以提高灵活性和可扩展性,使您选择的架构、服务和工具能够在其各自的专业领域中发挥优势。
**开放标准:**开放标准不仅鼓励互操作性,而且可以使您的投资具有未来性。这不仅包括开源解决方案,还包括我们将探讨的开放表格式。出于这些原因(以及它们永远不会成为云原生的事实),不要使用存储设备构建私有云。
**与 RESTful API 兼容:**互连性是必须的。您的工具应该共享一种通用语言,其中 S3 作为云存储的通用语言。出于这个原因,不要使用以 POSIX 为中心的解决方案构建您的私有云,即使它声称支持 S3。使用真正的 S3 解决方案。
**软件驱动/基础设施即代码:**自动化并让 Kubernetes 负责编排您的基础设施,使您能够抽象掉手动管理的复杂性,并实现快速高效的可扩展性。
**增强的安全性和合规性:**由于私有云提供专用基础设施,因此它们可以更好地控制数据并提供增强的安全措施。这对于处理敏感信息(例如金融和医疗保健)的行业尤其有利。
**法规遵从性:**此架构可以通过提供可自定义的安全设置和审计控制来满足特定行业标准,从而支持法规遵从性。
部署您的私有云
我们已经看到许多方法可以用于部署私有云。所有这些方法都有效;这实际上取决于企业和用例。
- 时间限制的混合模式,其中一些数据和应用程序保留在公有云中,而私有云则逐渐填充。
- 从公有云完全回迁到私有云。
- 私有云的绿地构建。这在企业将 AI 实验投入生产时尤其受欢迎。
- 棕地回迁,您将公有云数据和基础设施迁移回现有的私有云部署。虽然经济实惠,但这种方法也有一些缺点。
- “其他”类别(突发和外部表)。
**时间限制的混合方法:**时间限制的混合方法本质上将公有云转变为冷存储,并在一段时间内(数月/季度,而不是数年)构建您的私有云足迹。这包括在私有云上购买和配置您的基础设施和软件栈。然后,您将数据管道指向私有云,而不是公有云。您可能需要一段时间同时使用两者。然而,目标是使用公有云作为分层冷存储,使用私有云作为热存储。随着时间的推移,公有云从冷存储变为冻结存储,而私有云成为主要和主要的存储类型。
这正是领先的网络安全公司所做的事情。它首先与 MinIO 和 Equinix 合作建立了私有云,然后将每天 250 TB 的数据洪流引导到该方向。鉴于日志分析在运营价值方面具有很高的衰减函数,因此新私有云很快成为威胁搜寻数据的主要来源。此私有云已发展到近 1 EB(并且很快就会超过该阈值),并且将这些工作负载(实际上是核心业务)迁移到私有云(使用运营支出而非资本支出)的决定使该业务的毛利率提高了 2% 以上。因此,这家公司的估值倍数令其同行羡慕不已。
完全迁移回私有云: 有时候,在公有云和私有云上同时保留应用程序和数据并非可行。在这种情况下,您需要与您的云服务提供商“分手”。这很艰难,即使消除了退出费用,他们也会让它变得痛苦(细则基本上说要获得任何退出费用减免,所有东西都必须迁移)。但这完全可行,只需要多一点计划和多一点业务摩擦。在这种情况下,配置您的自建数据中心或私有云以及应用程序堆栈。然后,调来卡车备份数据,或租用网络将数据以高速传输到您的私有云数据基础设施。此时,您就自由了,但如果您是那种喜欢“双保险”的人,请做好连续支付两个月双倍费用的准备。一家领先的流媒体公司在离开公有云时采用了这种方法。它将半艾字节的数据迁移到新的私有云中,包括所有电影、电视剧、纪录片等。整个过程大约持续了三个季度。然而,回报是巨大的,并且管理服务的团队的复杂性大大降低。他们还获得了“首字节时间”显著提升的额外好处——这是该领域的一个关键指标。
全新私有云
这是一个相当简单的命题,通常涉及所有新事物。项目是新的,项目上的数据将是新的(或较新的),或者是从某个正在上线的来源生成(例如大型制造工厂或新的云视频点播服务)。在这里,您需要评估工作负载——您甚至可以在公有云上进行测试——但想法是,它从一开始就在私有云上运行。我们在人工智能数据基础设施中经常看到这种情况。早期的实验发生在公有云上。数据量不大。GPU 的可用性相当好。尽管如此,企业都知道工作负载需要在私有云上进行生产——为了扩展,也为了安全、隐私和控制。全球领先的汽车公司之一最近将其完全自动驾驶计划从基于规则的系统转向基于实际驾驶员行为的系统。这种行为是从其车辆产生的数百万个视频和日志文件中“学习”到的。优秀的驾驶员、糟糕的驾驶员、一般的驾驶员。不仅来自视频,还来自汽车遥测的其他元素,例如制动、加速、转向扭矩等。基于规则的机器学习方法规模为 PB 级别;视频的规模为 EB 级别。该公司不会与任何人共享这些数据(事实上,两个公有云都有竞争性的计划)。所有 300 多台服务器的 AI 工作负载始终是一个私有云计划。
存量私有云
我们在这里坦诚地说:我们看到了这种情况,但我们不喜欢它。这包括尝试在硬盘驱动器上运行高性能工作负载,或者在SAN/NAS(存储区域网络/网络附加存储)之上部署 MinIO。
它有效,但很少是最佳解决方案。它经济实惠(您正在重复使用硬件),摩擦力低(无需采购),但很少具有高性能。尽管如此,我们在这里包含它以使其全面。它确实提出了一个重要的观点。在任何场景中设计您的私有云时,都要规划异构性。这是有保证的,坦率地说应该是计划的一部分。在上述场景之一中,一半的硬件来自 Supermicro。另一半来自戴尔。随着世界的变化和新技术的出现,您的软件不应该关心这些。
其他方案
还有另外两种不太常见但应该纳入考虑范围的方案。一个是混合云突发扩展方法,另一个是外部表方法。两者都与混合云选项相关,但可能不受时间限制。在混合云突发扩展方法中,您维护一个私有云,同时将其设计为可以无缝扩展或“突发”到公有云,以获得额外的灵活性。这种策略通常用于利用额外的 GPU 容量或使用特定的云服务。在此模型中,某些任务会暂时转移到公有云进行处理。分析完成后,结果将发送回私有云,然后公有云资源将被退役。我们的一家主要的金融服务客户正在使用这种方法进行信用风险和市场风险计算。它使用公有云进行一些计算操作,并将其与使用 MinIO 和 Dremio 的私有云数据湖相结合。云运营模型的美妙之处在于,架构应该支持在这两个地方进行操作。它实际上是一条双向通道。曾经,它是一条单向通道,但世界已经发生了变化,企业有了选择权。使用外部表选项,组织仍然可以通过将其现有的云数据仓库(例如 Snowflake 和 SQL Server)与构建在私有云上的数据湖集成,从而受益于云运营模型的原则。这种混合设置允许企业从现代数据湖的性能、数据安全和开放标准设计中获益,同时仍然利用对云基础设施的现有投资。现在,每个主要的数据库供应商都提供对外部表的支持。此功能允许用户查询对象存储中的数据(无论它在哪里),就像它是数据库中的常规表一样,而无需迁移的麻烦。您的数据保留在私有云中,但可在需要的地方提供。
最终思考和建议
多年来,我们参与了许多私有云迁移回/新建项目。团队感到意外的一件事是再次管理硬件。在云中,它是透明的。DevOps 和站点可靠性工程师仅在 API 级别与基础设施交互。如果虚拟机出现故障,请终止并启动一个新的虚拟机来代替它。不幸的是,在新的私有云中,我们不必只是报废硬件并购买新硬件,而是必须使现有的硬件工作。
基础设施管理是一项工作。它是职责所在。它不应令人恐惧,但应做好计划。需要从软件工程/DevOps 端和数据中心工程师之间划清责任界限。数据中心方面的专家应该了解所有硬件的来龙去脉。他们将负责与硬件相关的所有事项,包括故障、更换和任何维护。
软件在这里很重要。这就是 MinIO 将可观察性集成到其全局控制台中的原因。在私有云的世界中,您应该运行智能软件和哑硬件。但该软件必须承担这种经济效益的操作负担。硬件人员根本无法构建可观察性层,MinIO 必须这样做。
如果您是一个每周部署一次的组织,这意味着每次部署可能都是一场盛况。这是因为对于不频繁的部署,很难预测和修复错误。当部署未按计划进行时,所有人都需要参与。通常流程如下所示
- 设计以分布式方式部署您的应用程序
- 在本地环境中对其进行测试
- 在开发和预发布环境中进一步验证
- 添加监控、指标、跟踪和更改
- 在本地、混合和云环境中部署
当这些 CI/CD 原则在实践中应用时,一位优秀的强数据中心工程师与另一位优秀的 DevOps/SRE 工程师紧密合作,可以轻松管理私有云或数据中心中的 5000 多个节点。我们的客户正是这样做的。一旦遵循 CI/CD 基线原则,几乎所有事情都应该自动化,而数据中心和 DevOps 工程师将只关注那些无法自动化的任务。最后,如果您错过了,数据中心与我们对私有云的定义是同义词。托管式数据中心在完全本地基础设施和公有云之间提供了一种折衷方案,提供了两全其美的优势。通过访问顶级网络和靠近公有云提供商,托管式数据中心促进了低延迟连接和混合云设置,从而实现了高效的数据传输和处理。这种灵活性以及成功部署混合云的潜力对于旨在优化运营和保持竞争优势的企业至关重要。要了解有关此工作原理的更多信息,请查看我们的MinIO 和 Equinix 页面。