写点什么

Tim Wagner: Serverless 是云计算的第三次浪潮

  • 2021-03-22
  • 本文字数:3913 字

    阅读完需:约 13 分钟

Tim Wagner: Serverless 是云计算的第三次浪潮

大家好,我是 Tim Wagner,Vendia CEO 和联合创始人,我的整个职业生涯都在努力让软件和应用程序更容易开发。


早在 2013 年,我就找到 AWS 的高管团队探讨一个想法,是否能够通过将确保程序运行的大部分复杂性工作从开发者转移到云提供商,从而使得在云上创建应用程序变得更加简单。云提供商已经拥有大量的专业知识、出色的运维工具和大量专业人员,致力于保持服务器和存储服务全天候不间断平稳运行。让开发者不必担心扩缩容、容错或基础设施维护,这会使软件构建变得容易得多。


基于这个想法,AWS Lambda 诞生了。尽管我们没有使用 Serverless 这个词,但它是云计算领域出现 Serverless 的开端 —— 一种无需考虑服务器和容器便可大规模运行代码的方式。今天我想分享一些洞察,关于云,尤其是 Serverless 的发展方向。



在此之前,我们需要先回顾一下云计算的历史发展。我将云计算分为三次浪潮。


第一次大约从 2006 年到 2014 年,主要是特征是在企业数据中心之外托管服务器。


对于那些较早的云使用者,我们称他们为探索者,当时颠覆性的变化是虚拟机能够在 10 分钟之内运行起来。在这次浪潮中几乎不涉及 Serverless,这些探索者寻求的是迁移的兼容性,而不是云所带来的新功能,而这意味着云服务与传统服务器托管服务的差异尽可能小。此外,这些探索者通常都是分布式系统专家,在许多情况下,他们都会带着自己的原有的流程和运维团队来处理扩展、容错和操作维护等问题。


第二波浪潮,建立在第一波基础之上。比方说,AWS  Lambda 是完全基于现有服务(例如 EC2 和 S3)构建的第一个服务,而不是直接使用裸金属硬件构建的。第二波浪潮直到我们创造出那些新的云计算技术和云计算能力,才算真正开始。


第二波开发者实际上和以往已经有所不同。他们不再专注于纯粹的系统迁移,他们愿意学习和采用新技术、新的做事方式,实现更快的上线速度、更高的开发效率、更高的安全性或更好的客户体验。包括 Serverless 计算、Serverless 队列、Serverless 数据库、Serverless BLOB 存储,云服务上将这一套技术提供给开发人员。这些开发者我们称他们为“定居者”吧,他们有更简单、更方便的工具,而不是一切都从绘制草图开始。


这还永远改变了云服务商和开发者之间的关系。云服务商不再只是原始的基础设施租赁公司,他们现在会关注每个开发者应用程序的业务细节。这是一个巨大的观念转变和新的职责。因为现在云服务的性能和功能,不仅直接影响到人们可以在云上构建什么,还包括这些应用程序的运行情况,以及它们满足客户期望的程度。



第二波浪潮里的开发者与云服务商达成了一项至关重要的默契 —— 开发者愿意学习这些新的技术,并修改代码去适配这些新的服务,以获得更好的收益。比如,更低的成本、更简单的模式(如事件处理、自动扩缩容),不再需要考虑配置容量或关注服务器健康程度,所有这些都是对开发者改变软件编写方式的驱动力和优势。这些优势推动了 Serverless 的成功。如今,财富 500 强企业几乎都表示在使用 Serverless 服务,而且越来越多的开发者自接触云便从 Serverless 开始。



那么下一步是什么?今天我们正处于这一激动人心的新阶段的开端:我称之为第三次云技术浪潮。


这些新浪潮下的开发者再一次看起来跟之前的开发人员完全不同。第三次浪潮里的开发者,好比成长于云时代的 “城市规划师” 。如今,进入这一行业的开发者,可能永远不会真正看到服务器。他们中的许多人永远不会看到数据中心或用到运维方法论。对他们来说,云原生这个术语甚至没有任何意义 —— 因为他们一开始就处在云原生的时代。总的来说,这些开发者都是实用主义者,有大量的专业软件工程师,用云提供的工具就可以完成他们的工作。



是什么在驱动云计算的第三波浪潮呢?


这一切,都是为了可以更加容易和方便的使用云服务去编程。熟悉的工具和框架消除了无差别的繁重工作。标准的部署流程,能够使开发者在跳槽时,都能将从一家公司学习的技术应用于其他公司。这些技术标准,也使在不同环境中的技术复用成为可能。进一步,云为开发者创造了解决方案,而不仅仅是给他们提供新技术。



这些对于 Serverless 意味着什么?


首先,意味着需要非常广泛的用例。Serverless 最开始只有几个用例,比如事件处理。最初,像冷启动这样的问题,限制 Serverless 在低延迟场景中的应用。所以,要在第三次浪潮中取得成功,Serverless 技术必须消除冷启动等问题,并可以更快速的进行扩容。目前已经看到云厂商解决了这些问题,最新一代的 Serverless 计算方案,现在几乎可以满足任何应用需求。


其次,第三波浪潮中的 Serverless 需要与现有工具和框架无缝衔接搭配使用。比如,支持容器镜像等标准。这并不意味着让开发人员再次面临运维服务器和容器的挑战,这只意味着应用程序构建和部署工具需要标准化和可移植性。


最后,第三波浪潮需要满足开发人员的实际需求:支持现有的语言和框架,并为代码和配置提供跨云的标准(好比 docker 映像),以帮助开发人员在不同的环境中保留和复用他们的技术和代码。我们已经看到该领域的每个云提供商都提供了惊人的、变革性的产品,这使得 Serverless 的应用更加简便,并能够逐年产生更多的 Serverless 应用案例。



Serverless 的未来是什么?基于我已经谈到的两个令人兴奋的趋势,我可以给你们两个预测。



首先,我们都听说一个坏消息 —— 摩尔定律已经失效!计算机芯片并没有真正变得更快,内存密度也没有大幅提高 —— 至少没有以过去的速度增长。计算机性能每隔几年翻一番的想法已经结束了,不是吗?


云计算取决于三大要素,不仅仅是 CPU、内存,还有网络。云数据中心的联网速度仍在逐年以惊人的速度变得更快,这对 Serverless 来说真的是个极好的消息。在联网速度很慢的年代,云上的高性能计算的本质上取决于服务器,其工作方式基本上与 10 到 15 年前相同。比如,你在云上拥有几台多核 CPU 和大内存的大型实例,如果你现在正在计算密集型业务:例如机器学习或者蒙特卡洛模拟计算,那么您可能会以完全相同的方式进行,即分配这些强健的服务器实例,然后在上面运行计算密集型任务。



但随着网络相对于 CPU 和内存变得更快,情况突然发生了变化。突然之间,分布式存储和分布式计算与传统大型计算实例开始竞争。开发者开始考虑,在哪里可以轻松获得大量的计算资源—— 答案就是 Serverless 云函数。



为什么是 Serverless 函数?在过去的 50 年里,分布式计算研究人员专注于基于服务器的模型,拥有无限的时间和有限的资源。Serverless 计算彻底颠覆了这一切,开发人员现在拥有无限的资源,但时间有限,这就需要大量新的算法和新的研究。



在过去的几年里,Serverless 领域的研究呈爆炸式增长。关于 Serverless 存储、Serverless 计算、以及图像处理和线性规划等 Serverless 应用的论文有很多,大学已经开展了越来越多的研究来探索这一新的范式,这从根本上是由摩尔定律在网络空间中依然有效所驱使的。而 Serverless 云产品也因此越来越好,这是一个令人异常兴奋的时期,这将导致 Serverless 技术在第三次云计算浪潮中得到更多的采用,基于 Serverless 现在每个开发人员在云中部署代码时,都可以获得一台易于使用、易于编程的“超级计算机”。



再谈谈我的第二个预测,我将从一个棘手的问题开始——如果 Serverless 这么棒,为什么我们仍然在使用服务器?比较中肯的答案是,状态管理和共享仍然很困难。半个世纪以来,程序员一直在努力解决,如何构建一些跨公司、跨地区、跨账户、跨云、跨技术栈应用程序的问题。Serverless 计算使其中一些模式成为可能,例如同步事件处理、更简单有效的编程方法,但是它还没有解决所有这些挑战和问题。



为什么会这样呢?尽管 Serverless 有很多优点。Serverless 计算仍然存在挑战:这些服务通常只在一个云上运行,一般的 Serverless 函数都没有内置的数据模型和持久化存储,这让你的应用程序跨不同地区、或跨云工作仍然非常棘手。目前当这些问题出现时,开发人员会使用一些不同的工具和方法来去解决。



现在证明区块链的基础技术——分布式账本,实际上可以解决其中的一些难题。分布式账本天生就是去中心化的,它们通过使用复制和同步的数据存储跨越云、区域和帐户,并提供易于编程的数据模型和 ACID 事务,就像传统的 SQL 数据库一样。


第一代区块链作为一个软件平台并不是很有效。每个节点都在单个服务器上运行,从而将其计算、内存和网络资源限制为极少的数量,并很难与其他云服务集成,也不能处理大型文件或多媒体等重要的实时数据。



我创办 Vendia 公司的原因之一,就是利用这两类技术之间令人兴奋的交集。


通过使用 Serverless 服务重建分布式账本,我们可以在每个节点中放置一台超级计算机,从而解决困扰第一代区块链技术的性能、集成和部署挑战。


通过将易于编程、一致数据模型的分布式账本附加到 Serverless 函数中,我们可以使客户访问 Serverless 编程模型,该模型能够跨越公司,云,地理位置甚至技术栈。


这种技术标准之下,开发人员能够以前所未有的灵活性、可扩展性和简单性创建可移植的跨云应用程序。这样的创新正在推动新一代 Serverless 应用程序的发展,这些应用程序将最好的服务与最好的传统应用程序结合在一起。



Serverless 自出现以来经历了令人惊讶的增长速度,Serverless 技术的未来看起来从未像现在这样光明。Serverless 将为每个开发者提供了超级计算机般的性能,提供有状态、更轻便的应用程序支持、以及链接万物的能力。这将推动云计算的新浪潮即将到来,帮助我们比以往任何时候都更快、更好地为客户提供更多价值。



头图:Unsplash

作者:Tim Wagner

原文:https://mp.weixin.qq.com/s/9ca1qFIEm_-lAA0oDUSrjg

原文:Tim Wagner: Serverless 是云计算的第三次浪潮

来源:TencentServerless - 微信公众号 [ID:ServerlessGo]

转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2021-03-22 23:261816

评论

发布
暂无评论
发现更多内容

如何正确的评测视频画质

百度Geek说

视屏质量

Apache Kyuubi 高可用的云原生实现

移动云大数据

高可用 云原生 Kyuubi

【Spring 学习笔记(六)】Spring Bean 后置处理器

倔强的牛角

Java spring 6月月更

GraphX 图计算实践之模式匹配抽取特定子图

NebulaGraph

图数据库 知识图谱 Nebula Graph

大数据培训Linux常用命令总结分享

@零度

大数据 Linux

技术分享| 浅谈调度平台设计

anyRTC开发者

Web 音视频 指挥调度 调度 快对讲

5G发牌三周年 云网融合加速 如何解决企业网络之忧?

郑州埃文科技

IP地址 网络空间安全 5G 企业上云 云网融合

彰显个性│github和gitlab之自定义首页样式

自定义 主题 6月月更

WEB3:什么是去中心化数据库

devpoint

分布式 去中心化 Web3.0 6月月更 InfoQ极客传媒15周年庆

多云管理平台和运维管理平台有什么区别?两者一样吗?

行云管家

云计算 多云管理 云管理

看板管理系统使用测评:一个好的看板工具应该具备哪些能力

爱吃小舅的鱼

阿里超大规模 Flink 集群运维实践

阿里云大数据AI技术

大数据 flink 运维

5G、AI、云计算,什么是云渲染?

Finovy Cloud

人工智能 云服务器 GPU服务器

Seata 企业版正式开放公测

阿里巴巴中间件

阿里云 云原生 seata

百问百答第41期:应用性能探针监测原理-Java探针

博睿数据

智能运维 博睿数据 性能检测

web前端培训 SCSS 使用技巧总结分享

@零度

前端开发 scss

代码注释的艺术,优秀代码真的不需要注释吗?

阿里巴巴中间件

阿里云 代码 技术分享

软件定义汽车时代下的云原生转型实战方法论

York

容器 云原生 车联网 软件架构 6月月更

分布式数据库下子查询和 Join 等复杂 SQL 如何实现?

TDengine

数据库 tdengine 时序数据库

Websocket 10分钟快速入门

领创集团Advance Intelligence Group

websocket

淘金家园NFT链游系统开发模式详解

开发微hkkf5566

Hoo研究院|5月下半月区块链行业投资机构动向

区块链前沿News

Hoo

直播回顾:隐私计算的关键技术以及行业应用技巧 | 龙蜥技术

OpenAnolis小助手

开源 直播 隐私计算 龙蜥社区 密码技术

趣步运动挖矿系统开发模式详情

开发微hkkf5566

淘金家园NFT链游系统开发逻辑分析

开发微hkkf5566

云计算运维需要经常上夜班吗?需要倒班吗?

行云管家

云计算 运维 IT运维

用 Golang 重写 rsync(2):方案的选择

百家饭隐私计算平台创业者

c golang

spring-cloud-k8s 跨 NS 的坑

Damon

微服务架构 云原生 6月月更

IET技能调研首次落地亚洲国家 为阿联酋工程技术发展提供洞察

E科讯

函数计算异步任务能力介绍 - 任务触发去重

阿里巴巴中间件

阿里云 云原生 函数计算 FC

工赋开发者社区 | 风口上的低代码,技术人需要考虑哪些?

工赋开发者社区

低代码 低代码开发 低代码开发平台

Tim Wagner: Serverless 是云计算的第三次浪潮_编程语言_TencentServerless_InfoQ精选文章