查看原文
其他

头脑风暴超级云

常华Andy Andy730 2024-03-16

Source: David Vellante, Brainstorming supercloud with tech leaders VMware, Snowflake, Databricks and more, AUGUST 12 2022


在我们首届Supercloud22活动中,我们寻求社区的意见,通过迭代超级云的定义,突出的属性和示例来发展超级云的概念。我们邀请了几位技术专家,包括来自VMware,Snowflake,Databricks,HashiCorp,Confluent,Intuit,Cohesity等的专家,以帮助检验超级云的定义、运营模型、服务模型和原则。 


定义超级云


根据社区的意见,我们在下面尝试简化并更清楚地说明超级云的定义。

Supercloud是一种新兴的计算架构,它包含一组从超大规模云的底层原语(primitive)中抽象出来的服务(例如计算、存储、网络、安全和其它原生工具),以创建跨越多个云的全局系统。

Supercloud有五个基本属性,三个部署模型和一些可能的服务模型 —— 寻找社区对服务模型排列的意见。


超级云的五大基本特征


  1. 在多个云上运行一组服务

  2. 利用每个云的云原生工具针对特定目标进行优化,例如性能、成本、延迟、受控数据共享、安全

  3. 抽象出每个云中原生的 PaaS 层的底层,并为开发人员和用户创建跨云的统一体验

  4. 具有元数据智能,可以针对特定的超级云用例进行优化,从而跨联合云基础架构高效运行工作负载

  5. 包括一个专门构建的“超级PaaS”,使生态系统合作伙伴能够定制和增加增量价值,以将超级云平台货币化


首先,超级云必须在多个云上运行其服务,利用每个云提供商提供的云原生工具。超级云平台的构建者负责优化每个云的底层原语,并优化其特定需求 —— 无论是成本还是性能、延迟、治理、数据共享、安全性等。 

必须对这些基元进行抽象,以便为用户和开发人员跨云提供通用体验。 

超级云具有元数据智能,可以最大限度地提高超级云所针对的特定目的的效率,并在联合模型中实现。 


Supercloud包括我们以前称为superPaaS的东西,它是专门构建的,可以为用户和开发人员提供跨云的通用体验。Matt Langguth(@gsxesx)认为,也许更好的标签是“云解释器”。此功能旨在支持跨越多个CSP的应用程序和服务,以便它们显示为单个系统;使用提供程序支持的编程语言、库、服务和工具创建。



在Supercloud22上确定的三种部署模型


在部署模型方面,我们希望获得有关此部分的更多反馈,但在本周的活动中,几位技术人员进行了权衡。我们请VMware的Kit Colbert就超级云的初始架构可能是什么样子提出他的观点。[注意:VMware在其营销中不使用超级云一词,而是谈论多云服务]。Colbert在最近一篇题为《多云服务时代已经到来》的论文中总结了他的想法,并提出了以下两点:

  • 仅靠抽象并不能解决跨多个云构建、管理、治理和优化应用程序和工作负载的挑战。 

  • 多云服务必须提供一致的 API、对象模型、身份管理以及其它功能。 


在文章和对CUBE的扩展评论中,Colbert确定了多云服务的以下特征:

  1. 在单个云上运行,但支持与至少两个不同的云进行交互。他使用的一个例子是成本优化服务。另一个是 Kubernetes 集群管理服务,其控制平面仅在 AWS 上,但可以在其它云或边缘部署和管理集群。

  2. 在多个云上运行,并支持与至少两个不同云的交互 —— 即解决方案在多个云上实例化。

  3. 在任何云或边缘上运行,即使在断开连接模式下也是如此,基本操作是完全自动化的。 


我们进一步探讨了这些特征,以尝试并打磨特定的超级云部署模型。Colbert的工作和与技术专家的讨论,包括Snowflake的Benoit Dageville和Cohesity的Mohit Aron,HashiCorp的David McJannet和Confluent的Will LaForest,使我们总结为以下几点: 


超级云部署模型: 

1. 控制平面在一个云上运行其服务,但支持与多个其它云的数据平面交互

2. 服务在单个云上实例化,并通过统一的界面支持跨多个云的交互

3. 将其服务叠加在云提供商区域之上,并跨多个云提供商对这些服务进行单个全局实例化


我们看到出现了三种超级云部署模式:

  • 控制平面可以在一个云上运行,但支持与多个其它云的数据平面交互。

  • 第二种模型在每个单独的云上和区域内实例化超级云服务,并且可以通过连接这些实例的统一接口支持跨多个云的交互,以创建通用体验。在与Mohit Aron的讨论中,我们相信这就是Cohesity采取的方法。

  • 第三种模型将其服务叠加为云提供商区域之上的一个层,并具有这些服务的单一全局实例化;并且服务跨越多个云提供商。这是我们根据与Benoit Dageville的讨论,对Snowflake如何接近解决方案的理解。

现在,我们将暂时搁置服务模型 —— 我们需要更多的时间来充实它,并将很快提出一些社区人们可以评论的东西。


Supercloud22的另一个结论是,有一些标准的基础设施服务很好理解,可以用来跨云构建功能。例如,像HashiCorp和Confluent这样的公司并没有构建超级云,但他们正在构建跨云功能,可以在这些功能上构建超级云。



以Snowflake为例


Snowflake没有使用“超级云”这个术语,而是使用“数据云”这个短语来描述我们觉得什么是超级云。Snowflake以及AWS,Azure和GCP的其它合作伙伴不想过度宣传他们使用超大规模CAPEX作为构建块的事实,因为从该定位中可以推断出公有云成为商品层。


我们的观点是:1)这种方法消耗了大量的公有云服务;2)公有云服务商不会停滞不前,我们从来没有说过,当涉及到他们的下一步行动时,我们永远不会说。但公有云服务商的商品化是另一天的话题。


我们与Snowflake的联合创始人兼产品总裁Benoit Dageville一起探讨了几个问题。让我们浏览它们来评估Snowflake的数据云的“超级云性”。


Snowflake 如何构建数据云? 


Dageville说:

有几种方法可以做到这一个超级云,正如其名字。我们选择的方式是创建一个单一的系统,这非常重要。有几种方法。您可以在云的每个区域实例化您的解决方案,该区域可能是 AWS,该区域可能是 GCP。因此,您确实是一个多云解决方案。但是Snowflake,我们做了不同的事情。


我们实际上是在创建云区域,这些区域叠加在云提供商区域(基础结构区域)之上。因此,我们正在建设我们的区域。但非常不同的地方在于,Snowflake的每个区域都不是我们服务的一个实例化。我们的服务本质上是全球性的。我们可以将数据从一个区域移动到另一个区域。当您降落在Snowflake中时,您将降落到一个区域。但你可以从那里成长,你可以同时存在于多个云中。这非常重要,对吧?它不是系统的不同实例化,它是一个涵盖许多云区域和许多云提供商的单一实例化。


看起来Snowflake选择了我们上面引用的三个部署模型中的第三个,大概是因为它可以保持最大的控制并确保共同的体验。但是有权衡吗?我们将在稍后的讨论中对此进行研究。 


数据云的技术推动者是什么?


根据Dageville的说法:

正如我所说,首先我们从建立Snowflake区域开始。今天,我们有30个区域,横跨世界,所以它是一个世界性的系统,有很多区域。但所有这些区域都是相互联系的。它们与我们的技术结合在一起,我们将其命名为Snowgrid,这在技术上很难,因为Azure区域可以与AWS区域或GCP区域进行通信,并且作为我们云的用户,您看不到这些区域差异,并且区域位于不同的云中。当你使用Snowflake时,你可以存在,如果你愿意,你作为一个组织的存在可以在几个区域,几个云。地理和云提供商。


我们问Dageville:“无论我处于哪个云中,我都可以共享数据吗?换句话说,我在Snowflake云中。我们称之为超级数据云。这是对的吗?我今天可以这样做吗?


Dageville的回应:

没错,这是非常关键的,对吧?我们想要的是消除数据孤岛。当您在一个区域中实例化一个系统,并且该系统被锁定在该区域中时,您无法与世界其它区域进行通信,而是锁定了一个区域中的数据。我们不想那样做。我们希望以客户希望的方式将数据分布到世界各地。并可能在世界范围内共享数据。


现在他使用术语网格,这可能会与Zhamak Dehghani的数据网格概念混淆,但是在研究数据网格的原理和多次采访Zhamak Dehghani时,我们确实看到Snowflake的数据云非常严格地遵循数据网格原则。除了Deghani的数据网格梦想通过一组开放标准实现的例外。我们将在本文的后面部分回过头来讨论这个问题。 


同样,解决技术挑战的方法也有很多,这意味着如果一个平台确实在多个地方实例化(例如,我们如何理解凝聚力),那么也许有办法共享数据;但这就是Snowflake选择解决问题的方式。 


Snowflake 的数据云如何应对延迟挑战? 


下一个明显的问题是延迟。我们问Dageville:“这是否意味着如果我在一个区域,我想运行一个查询。例如,如果我在一个区域的 AWS 中,并且我想对恰好位于数千英里外的 Azure 云中的数据运行查询,我实际上可以执行该查询?”


以下是他的话: 

所以,是和不是。这样做非常昂贵。因为,一般来说,如果你想连接位于不同区域和不同云中的数据,这将是非常昂贵的,因为你需要在每次加入时移动数据。因此,我们这样做的方法是,从另一个区域复制要从一个区域访问的数据子集。因此,您可以创建此数据网格,但数据被复制以使其非常便宜且性能也非常高。


然后我们问道:“Snowgrid拥有元数据智能来实际管理它?”


Dageville回应道:

是的,Snowgrid 支持交换元数据的功能。因此,Snowflake的每个区域都知道Snowflake的所有其它区域。每次我们创建新区域时,元数据都分布在我们的数据云上,不仅区域知道所有区域,而且知道我们云中存在的每个组织,这个组织在哪里,这个组织可以复制哪些数据。然后,当然,它也被用作交换数据的一种方式,对吧?因此,您可以按数据大小的大小交换数据。我刚刚收到一封来自我们客户的电子邮件,他在几天内跨区域、跨云提供商移动了超过四 PB 的数据。而且数据量很大,所以移动需要一些时间。但是他们能够在线,完全在线地做到这一点,并切换到其它区域,这也非常重要。


因此,在大多数情况下,“是和否”可能意味着不。这听起来像是Snowflake正在选择性地提取少量数据并复制它。但你也听过Benoit谈论元数据层,这是Supercloud的基本方面之一。当我们谈论跨物理距离移动大量数据时,我们总是会感到紧张,因为这不是对资源的理想利用;虽然有时它是必需的。 


关于这个话题,我们喜欢解释爱因斯坦...根据需要移动尽可能多的数据,但仅此而已。


安全也许是最大的超级云挑战


在与Gee Rittenhouse,Tony Kueh和Piyush Sharma一起保护超级云面板时,很明显,安全性是超级云的最大障碍之一。


我们已经讨论了云如何成为CISO的第一道防线,但现在有了多云,您就拥有了多个第一道防线,这意味着来自不同云提供商的多个责任模型和多个工具集...以及扩大的威胁面。以下是Benoit关于Snowflake如何处理其数据云中安全性的解释。 


这是一个很好的问题。从第一天起,安全一直是Snowflake最重要的方面。这是我们每个客户都有的问题。您知道,您如何保证我的数据的安全性?因此,我们在区域内非常严格地保护数据。我们有几层安全性。它首先保护所有静态数据。这非常重要。很多客户没有这样做,对吧?例如,您听说过这些攻击,例如,在云上,有人打开了他们的桶。然后任何人都可以访问数据,因为它没有加密。因此,我们正在加密所有静态内容。我们正在加密传输中的所有内容。因此,一个区域是非常安全的。现在,您知道,从一个区域,您永远不会从 Snowflake 中的另一个区域访问数据。这也是我们复制数据的原因。现在,跨区域复制这些数据或元数据,实际上是最容易受到攻击的。因此,Snowgrid确保所有内容都经过加密, 所有内容。我们有多个加密密钥,它存储在硬件安全模块中,因此,我们构建了Snowgrid,使其安全,并允许非常安全地移动数据。


那么最低公分母问题呢?


当我们听到前面的解释时,我们立即进入了最低公分母问题。例如,如果 AWS 处理动态数据或静态数据的方式可能与其它云提供商不同,该怎么办?那么,Snowflake如何解决各种云功能成熟度的差异呢?性能如何,例如利用一个云提供商的芯片进步,领先于另一个云提供商。它是否像大篷车一样减慢了一切,以便每个人都可以跟上?


这是Dageville说的: 

当然,我们的软件正在抽象所有云提供商的基础设施,因此,当您在一个区域(例如AWS或Azure)中运行时,就应用程序而言,它不会有任何区别。当然,这种抽象需要做很多工作。我的意思是,真的,很多工作。因为它需要是安全的,所以它需要高性能,对于每个云,它必须公开统一的API。


而且,你知道,云提供商,即使他们有潜在的相同概念,比如说块存储,API是完全不同的。这些系统的安全方式完全不同。您可能会遇到一些错误。重试机制从一个云到另一个云非常不同。性能也不同。当我们开始移植软件时,我们发现了这一点。出于性能和其它原因,我们不得不完全重新思考如何利用一个云中的块存储而不是另一个云中的块存储。因此,例如,我们必须对数据进行条带化。所以,所有这些工作都是你不需要作为应用程序的工作,因为我们的愿景是,在我们的数据云中运行的应用程序可以抽象出这种差异。我们提供此应用程序所需的所有服务,所有工作负载。无论是对数据的事务性访问,对数据的分析访问,管理日志,管理指标,所有这些都是抽象的,因此它们不会绑定到一个云的一个特定服务。将此应用程序分布在许多区域,许多云中是非常无缝的。


好吧,这是揭示并证实了我们的一个基本断言,即超级云实际上是一个需要新思维和新颖架构方法的东西。在我们看来,这并不是人们所认为的多云。搜索多云的定义,我们认为你得到的并不能代表Snowflake正在做的事情。Snowflake选择“数据云”一词,使其与多云区分开来。因为正如我们多次说过的那样,多云实际上是多供应商和/或并购的症状。


现在,从Benoit的答案中,我们知道Snowflake负责一切,但我们并不真正了解性能影响。我们确实非常确定,Snowflake关于治理和安全数据共享的承诺将得到遵守,并通过其单一 的全球系统方法得到加强。但是,在多个云提供商中运行的优势是什么?是否有技术优势 - 例如利用更多区域和特定的云提供商功能;还是真的与 TAM 扩展有关? 


在我们的clouderati影响者小组中,Netflix前首席技术官Adrian Cockcroft提出了反驳论点,即如果你只是在一个云上构建,它可以简化事情,你可以更快地行动。他举了Liberty Mutual的例子。但他也表示,开发商将选择最好的,无论它住在哪里。而且运维人员不喜欢锁定,所以异构云可能是未来的常态。


SuperPaaS 和 Cloud Interpreter


我们为超级云提出的另一个标准是superPaaS层,用于创建通用的开发人员体验,并使生态系统合作伙伴能够在超级云之上将其服务货币化。Matt Langguth(@gsxesx)正如我们之前提到的,建议将其称为“云解释器”。


我们问Dageville,你是构建一个定制的PaaS层,还是只使用现成的工具。以下是他如何解释Snowflake的方法:

不,这是一个自定义版本。因为,正如你所说,一个云中存在的东西可能不存在于另一个云提供商中。因此,我们必须构建现代数据应用程序所需的所有组件。正如我所说,这涉及到机器学习,事务分析系统,以及整个事情。因此,它可以在物理上孤立运行。


我们接着说:“我们的目标是开发人员在这些云中的体验是相同的吗?


是的,开发人员无需担心云提供商。


Dageville确实参考了生态系统,但我们今天不打算详细探讨。我们在前几集中已经谈到了Snowflake在这方面的优势。但从我们的角度来看,Snowflake勾选了我们超级云属性列表中的许多(如果不是全部的话)方框。 


Snowflake今天能否提供这些功能?


我们要求Benoit Dageville确认这些都是今天可用的运输 - 他还让我们瞥见了未来。以下是他的话:


是的,我们仍在开发它。你知道,交易,我们称之为Unistore,是上届峰会宣布的。因此,它仍在进行中。但这就是我们的愿景,对吧?这很重要,因为我们谈论的是基础设施。你提到了很多关于存储和计算的问题。但不仅如此。当您考虑应用程序时,它们需要使用 事务数据库。他们需要使用分析系统。他们需要使用机器学习。因此,您需要提供所有这些服务,这些服务在所有云提供商中都是一致的。


您可以听到Dageville谈论扩展,而不仅仅是利用核心基础设施并为数据带来智能。所以当然还有更多。最好是Snowflake的估值,尽管最近在紧缩环境中出现了大幅回调。


Snowflake 和 Databricks 如何采用不同的方法


比较Snowflake和Databricks很流行,我们明白了。与Snowflake相比,Databricks一直对其开源姿态直言不讳,碰巧我们在Supercloud22的节目中有Ali Ghodsi。他没有在工作室,因为他在投资者会议上发表演讲。


John Furrier 进行了采访,我们捕捉到了 Ali Ghodsi 关于开源重要性的评论:

首先我要说的是,我们是开源的忠实粉丝。我们认为开源是软件中的一股力量。这将持续数十年,数百年,它将慢慢地取代所有专有代码。我们看到,它可以用最先进的技术做到这一点。Windows,你知道专有的操作系统,非常复杂,被Linux取代。所以开源几乎可以做任何事情。我们在Delta Lakehouse上看到的是,开源社区正在慢慢地构建专有数据仓库,Delta Lake,机器学习,开源实时堆栈的替代品。我们很高兴能成为其中的一员。对我们来说,Delta Lake是一个非常重要的项目,它真正帮助您标准化在云中布局数据的方式。当它出现一个非常重要的协议时,称为Delta Sharing,它使您能够以开放的方式,实际上是有史以来第一次,在组织之间共享大型数据集,但它使用开放协议。


因此,这样做的好处是,您不需要成为Databricks的客户。您甚至不需要喜欢Databricks,您只需要使用此开源项目,现在就可以安全地在跨云的组织之间共享数据集。实际上,它只用一个数据副本就能非常有效地做到这一点。因此,如果您位于同一云中,则不必复制它。


显然,这句话中有很多内容。Ghodsi的评论的含义是,正如John所暗示的那样,Databricks与Delta Sharing正在玩一场漫长的游戏。他基本上是在说,随着时间的推移,任何可以用专有系统完成的事情都将在开源中完成。关于不必复制数据的评论很有趣,但很微妙 —— 即在同一云中。因此,目前尚不清楚Databricks是否正在构建一个超级云 - 需要更多的讨论和研究来确定它是否具有 我们定义的元素。或者Databricks已经找到了一种实现相同目标的新方法。我们将继续深入研究,并一如既往地保持开放的心态,并邀请社区参与。


但在这个特定的话题上,为了获得更多的视角,我们联系了CUBE的两位分析师朋友Tony Baer和Sanjeev Mohan。 


Tony是这样说的:

我已经在Databricks和Snowflake的根源背景下查看了不同的湖屋策略。在Delta Lake之前,Databricks的主要关注点是计算,而不是存储层,更具体地说,它们是一个计算引擎,而不是一个数据库。Snowflake从池的另一端接近,因为它们最初适合经典数据库公司的模式,而不是特定的计算引擎本身。lakehouse将两家公司都推到了他们原来的舒适区之外—— Databricks到存储区,Snowflake到计算引擎。


因此,对于Databricks来说,在存储层拥抱开源叙事,以及Snowflake继续其围墙花园方法是完全有意义的。但从长远来看,他们的战略已经重叠。Databricks不是一家100%开源的公司。它的从业者经验一直是专有的,现在,它的SQL查询引擎也是如此。同样,Snowflake不得不在Iceberg的支持下“开放”开放数据湖格式。问题真正变成了Snowflake在使Iceberg成为其环境中的一等公民方面将有多认真,它不一定是正式为湖屋贴上品牌,但实际上确实如此。同样,Databricks能否通过一种严重依赖查询引擎的更蛮力的方法提供与围墙花园相关的服务级别。归根结底,这些是对Databricks和Snowflake客户至关重要的关键要求。


Sanjeev Mohan补充如下:

开源趋势正在下降。人们购买基于开源Android的手机,但它并没有完全开放。同样,Databricks的Delta Lake最初也不是完全开源的,即使在今天,它的Photon执行引擎也不是。我们将永远生活在一个混合世界中。


Snowflake和Databricks将支持最适合他们和客户的任何模型。最大的问题是,客户是否像我们技术人员一样非常关心哪个供应商具有更高程度的开放性?我相信客户的评估标准远比仅仅破译每个供应商的开源声明要微妙得多。


为什么Snowflake引入了对Apache Iceberg的支持?


我们不得不向Dageville询问他们所谓的围墙花园方法,以及Snowflake对Apache Iceberg的策略是什么。他的评论总结如下:


Iceberg非常重要。因此,为了提供一些上下文,Iceberg是一种开放式表格格式。它最初由Netflix开发。Netflix将其开源化为Apache社区。因此,我们接受了这种开源标准,因为它被许多公司广泛使用。而且,许多公司确实在构建大数据,Hadoop解决方案或数据湖解决方案方面投入了大量精力,他们希望使用Snowflake。他们不能真正使用Snowflake,因为他们所有的数据都是开放格式的。因此,我们正在拥抱Iceberg,以帮助这些公司迁移到云端。但是,为什么我们一直不愿意直接访问数据,直接访问数据对我们来说是一个问题。原因是当您直接访问数据时,现在您可以直接访问存储。


例如,现在您必须了解一个云与另一个云的特殊性。因此,一旦您开始直接访问数据,您就会失去与云无关的层。您不能使用 API 访问数据。当您能够直接访问数据时,很难同步数据。因为您需要授予访问权限,所以直接访问不受保护的工具。因此,你会看到很多数据被黑客入侵。因此,直接访问数据并不能很好地为我们的客户服务。这就是为什么我们一直不愿意这样做。因为它不是云不可知的。你必须编码,你需要大量的智能,我们想要开放的API。这就是我们拥抱开放的方式,通过开放的API而不是你直接访问数据。


这是我们的看法。Snowflake正在对冲其赌注,因为有足够多的人关心开源,因此Snowflake必须包含一些开放数据格式选项。您听到Benoit Dageville谈论直接访问数据的风险及其带来的复杂性。这也许是针对Databricks或其它方法的一点FUD?也许。但对于Databricks的FUDSSnowflake的专有性也可以这样说。 


正如Tony Baer和Sanjeev Mohan所指出的那样,悬而未决的问题存在于一个频道上。我们记得Unix是开放的日子。


众所周知,Databricks在COVID泡沫期间无法进行IPO。Ali Ghodsi上周在摩根士丹利首席执行官会议上发表了讲话。该公司声称拥有大量现金,但他们开始传达消息,他们的年化收入为10亿美元,我们已经看到了他们的毛利率和NRR快照的一些数字。但是我们将保留判断,直到我们看到S1。


尽管如此,很明显,这两家公司都有动力,他们正在为业务而努力竞争。市场将一如既往地决定。不同的哲学?也许。它像民主党人和共和党人一样吗?可能是。但是他们都在努力解决数据问题......两家公司都在努力帮助客户从数据中获取更多价值。两家公司都受到高度重视,因此他们必须为投资者提供服务。


引用Ralph Nader的话——相似之处可能比差异更大。

继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存