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