大数据、NoSQL 以及 Google 与 AWS
Lynn Langit 主演的无服务器超级英雄系列
欢迎来到“无服务器超级英雄”!
在这里,我与正在探索“无服务器”云应用程序新世界的工具制造者、创新者和开发人员进行了交谈。
在今天的版本中,我与大数据和云架构师 Lynn Langit 进行了交谈。Lynn 是 Google Cloud 开发专家、 AWS 社区英雄和前微软员工。以下采访经过编辑和压缩,以便清晰易懂。
了解大数据基础知识以及它的必要性及其工作原理!
Forrest Brazeal:我认识的大多数人只关注一种云,但你似乎什么都擅长!你在世界各地演讲,与 AWS、Azure 和 Google Cloud Platform 的客户合作。“无服务器”这个词对您和您的客户意味着什么?
Lynn Langit:常见的定义是“最终客户不对服务器负责”。我实际上进一步提升了这个定义。我一直与一位名叫 Anton Delsink的朋友密切合作 ,他从事 Azure Stack 的工作。
我们最近一起驾车游览了挪威,并提出了无服务器的定义:“一种抽象出容器管理的服务。”所以我们的新流行语是“无容器”。
你真是让我大吃一惊!那么容器的未来是什么?你不认为客户会想将自己的容器带入 FaaS 平台吗?
我有一个简短的回答:我不在乎。对我来说,容器就是新的虚拟机。所有这些关于容器的狂热,更具体地说是容器管理系统——看,总得有人来管理这些东西。我想付钱给云提供商来做这件事,这样我就不用自己做了。
实际上,我还没有为客户构建很多纯无服务器解决方案。有些人仍然更喜欢容器而不是无服务器,他们的理由通常是可移植性和控制性。如果你对这些选项没有迫切的需求,而且你可以从无服务器服务中获得价值,那就一定要这么做。
您是云端数据方面的专家,我一直认为“无服务器”的概念在数据层非常模糊。对我来说,“无服务器”架构的部分意义在于您只需为您使用的容量付费,但许多数据服务按小时 (RDS) 或预置容量 (DynamoDB) 向您收费,因此即使您的服务没有流量,您也需要付费。您认为像 AWS Athena 这样的按查询付费服务是未来趋势吗?
我认为谷歌在这方面处于领先地位。多年来,他们一直提供开箱即用的无服务器或近乎无服务器的数据解决方案。我的意思是,BigQuery 自 2011 年就已问世。它是一种 NoOps SQL-on-files 类型的解决方案。甚至 Cloud Spanner — — 您设置了一个实例,但唯一需要转动的旋钮就是利用率。
一旦达到一定数量,他们就会提倡获得更多节点,但仅此而已。非常有趣的是,当 Google 试图向 BigQuery 添加企业数据仓库功能(如细粒度安全和流媒体)时,AWS 却如此迅速地构建了 Athena 并增加了与 Glue 等服务的集成。
因此,我的预测是,随着 Google 扩展其数据组合(就像他们在添加 BigTable 时所做的那样),它将推动其他云提供商(如 AWS)提供自动调整功能,减少 RDS、RedShift 和 EMR 的旋钮。我认为你很快就会看到这一点,因为 Google 确实在推动它们,而且我们已经看到 AWS 对任何威胁其云主导地位的竞争威胁都做出了非常迅速的反应。
是的,这可能就是为什么他们在 Aurora 作为专有 RDBMS 上投入如此多的原因。您提到了 Athena,我试用过一段时间。如果您没有以最佳方式使用该服务,以特定的列式方式构建数据,那么该服务的成本会很快变得非常高。这会限制该服务的实用性吗?还是会改变人们访问无服务器数据的方式?
嗯,Athena 最适合处理特定类型的数据。实际上,是日志文件的临时查询。如果您需要大量数据,则必须进行某种压缩。
但就像应用程序开发人员很难理解 Docker 和 Lambda 一样(这也是我们举办 ServerlessConf等活动的原因 ),我认为数据专业人员更难理解“无服务器”或轻量级服务器实现。因为 DBA 管理集群等已有很长的历史。因此,新的模式令人恐惧,我认为 DBA 往往会固执己见并抵制。
我实际上认为这损害了 BigQuery 的采用,这就是为什么它自 2011 年就存在了,直到 2016 年亚马逊才觉得有必要推出 Athena。你我都知道他们本可以更早地创建它,但当时市场还没有成熟。
我认为很多人(包括一些深思熟虑的 DBA)倾向于将“无服务器”与“NoSQL”联系起来。事实上,我知道有人认为关系数据库正在被淘汰,或多或少有些事情,比如需要事务一致性的金融应用程序。你认为这是一个合理的假设吗?为什么?
过去几年的 NoSQL 趋势对我来说真的很有趣。毕竟,我在微软工作时写过关于 SQL Server 的书。我使用 OLTP 和 OLAP 等进行了大量传统数据仓库工作。当我在 2011 年离开微软并独立时,Hadoop 和 NoSQL 被大肆炒作。而我经常发现的是,它未能实现预期目标。
我的大部分咨询工作都围绕着云数据。人们会问“你能帮助我们从 NoSQL 数据库 X 中获取商业价值吗?”对于许多中小型企业,我做不到。他们没有员工,没有意愿,也没有改变的需要。
如今,如果客户说他们想要实现自己的 NoSQL 堆栈,我就会向他们发起挑战。我的意思是,有时他们确实拥有一些非常强大的 Cassandra 人才,但这是相当罕见的例外。我认为 NoSQL 被过度炒作,而且几乎没有商业价值。这对我来说是一个很大的警告,我已经恢复了许多失败的 NoSQL 实现,并将它们转换为 RDS。
所以需要澄清的是,当您谈到 NoSQL 引发危险信号时,您是指人们管理自己的部署而不是依赖云提供商的托管服务?
部分是的。老实说,我认为许多独立的 NoSQL 产品将会消失。它们要么被亚马逊、微软或谷歌收购,要么无法竞争。这个市场将会非常小。我认为 Redis 将会生存下来,因为它们的实现有一些非常独特的方面。至于 Cassandra,我不确定。
我的意思是,我曾经有一段时间痴迷于 NoSQL。我做过演讲——“面向 SQL 开发人员的 NoSQL”——我真的认为它是未来。但我得出的结论是,就像容器一样,NoSQL 实现也是一种干扰。跳过容器——转到函数。跳过 Cassandra——转到 DynamoDB 或托管关系服务。
所以听起来你并没有放弃无服务器系统的关系数据库。
完全不是。如果客户确实有 NoSQL 的使用案例,我会推荐云提供商的 NoSQL。但我记得有一次我是 AWS IoT 解决方案的架构师,其中甚至参考架构都使用了 DynamoDB。
但他们遇到了各种各样的问题,有一天我决定换用 Aurora。结果大家都吓坏了——他们说:“你在干什么?”我说:“我们在干什么?我们在发货。”然后我们就发货了。
假设我想构建一个应用程序,它需要管理实时用户状态和事务数据,并在后端提供数据仓库和大数据处理。而且我不想自己管理任何数据库服务器。如果你能像变魔术一样挥动魔杖,将来自各个云提供商的最佳服务整合在一起来做到这一点,你会如何设计数据层?
让我们从对象存储开始。尽管 AWS 对 S3 生命周期管理流程进行了重大改进,但我喜欢 Google 的一点是他们为 Google Cloud Storage 提供了统一的 API。其中包括 AWS Glacier 的概念,因此您可以将近线、冷线、多区域和单区域存储整合在一起,并且呈现得非常简单。我不喜欢的是它缺少 S3 的一些功能 - 日志记录、版本控制、指标。因此,在 Google Cloud Storage 或 S3 上的数据湖之间进行选择有点难以抉择。
下一步:流式采集。这是我目前正在做大量工作的领域。现有的系统似乎都在 Kafka 上运行。我个人喜欢 Kinesis — 快速、轻松、简单 — Google Cloud Pub/Sub 也不错。但 Kafka 和云管道之间存在功能差异。我希望云供应商能提供更多 Kafka 的功能 — 我在今年的 re:Invent 大会上期待这些功能!
对于 ETL,一些有趣的事情正在发生。我还没有深入研究过 AWS Glue。我实际上很喜欢 Matillion生产的一款 ETL 产品。您可以在 AWS Marketplace 上获取他们的 AMI。它有点像浏览器中的 SQL Server SSIS,因此您可以直观地看到转换,而您的老派 DBA 会说“哦,这看起来像我的 ETL 工具!”
简而言之,如果你正在做 ETL 或 ELT,我更喜欢工具而不是 API。亚马逊在这方面确实很出色。我不太喜欢他们的原生数据管道,但他们因为 Matillion 等供应商而出名。另一方面,谷歌要求你根据他们的 API 编写所有内容,通常是用 Java。
而这一直是一个 很大的 缺点:谷歌是一个以开发人员为中心的云。你先编写一切代码,然后再使用工具,如果有的话。尽管他们的云非常强大且可扩展,但这不是范式。而 AWS 是一个 DevOps 云,我认为这是他们成功的驱动因素之一,特别是在数据方面,因为网络管理员和 DBA 有更多的参考。
在关系层,我真的很喜欢 Aurora 和其余的 RDS 实现。我对 Spanner 很感兴趣,但这又是 Google 推出自己的产品并发布它们的一个例子,他们没有意识到世界上的其他人无法以 Google 的规模运作。
比如 Spanner 不支持外键,也没有模式导入和转换工具。谁会拿现有的企业应用程序来改变关系模式?这根本不可能发生。谷歌甚至没有解决这个问题,这让我很难过,因为 Spanner 是一项令人惊叹的绝妙技术。
尽管谷歌在数据领域提供了更多产品,但缺乏完整的产品,这让我倾向于关注亚马逊。虽然我确实关注谷歌在做什么,因为谷歌真正在做的是迫使亚马逊生产更好的产品。这对客户有利,对谷歌不利。
最后,在大数据处理领域,EMR 和 Cloud Dataproc 之间确实难分伯仲。Google 的虚拟机经过预热,速度非常快,几秒钟内即可启动。我做了很多原型设计,所以这对我来说很棒。如果您正在处理突发工作负载,则可以使用 Preemptible,这是 Google 的 Spot 版本。我希望 AWS 能够更新 EMR,使其更现代化一些 — — 我也希望在 re:Invent 上看到这一点。说实话,现在我倾向于只使用 DataBricks。
您认为无服务器还能通过哪些方式转变大数据,反之亦然?
ETL 仍然是数据世界中最大的问题。我希望看到更多包含机器学习和统计的 ETL 工具。“看起来这些数据需要 X。”“这个模式是 A,这个模式是 B。看起来你需要 ABC 的转换。”将常规计算(尤其是机器学习)应用于 ETL 问题将非常神奇。看看 Glue 的出现会带来什么结果,这将会很有趣。
另一件事是机器学习的民主化。当事情变得困难时,我总是坦白——这是我的品牌的一部分。六个月多来,我一直在努力理解如何构建能够提供实际商业价值的 TensorFlow 和 MXNet 模型。到目前为止,我还没能做到。而且,如果我和大多数人交谈过,如果他们诚实的话,他们也做不到。大多数人可以完成 Hello World 级别的示例,但在示例和实际构建商业模型之间缺少一个转换层。
我对这个领域非常着迷,因为机器学习领域有出色的无服务器服务,Rekognition API、Polly 和 Lex,而且这样的服务还会不断增多。但是,我们如何才能让 API 和工具足够成熟,让懂统计的商务人士能够创建模型呢?我认为这里还有很多 API、工具和可视化工作要做。
您认为我们在云端空间中可以如何帮助新学习者更容易地使用无服务器?
学习无服务器的一种方法是构建物联网用例。我真的很喜欢用 Alexa 构建——我曾与孩子、学校老师,甚至是脾气暴躁的开发人员一起做过各种各样的事情。我也喜欢 Simple Beer Service 。把人们放在一个有趣的环境中,进入成本低,他们会说“哦,我真的可以做到这一点!”我引入了 Echo Dots,因为它们能让人们放下戒备。
这是我们不能忽视的无服务器的一个方面:这项技术带来了巨大的变化。它很可怕;它具有颠覆性。不承认这一点只会阻碍机会。
Check back soon for another edition of Serverless Superheroes.
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~