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

受腾讯云 Serverless 团队之邀,Tim Wagner 在 Techo 开发者大会上为中国开发者发表了Keynote演讲,演讲中 Tim 发表了对 Serverless 技术的最新洞见和趋势解读。Tim Wagner 是 AWS Lambda的创始人,做为业界最先的 Serverless 实践者,他无愧于 Serverless 教父之位。程序员

本文内容整理自 Tim Wagner的演讲实录,由腾讯云 Serverless 团队进行翻译、校对和整理。下面就让咱们一块儿再次回顾一下,Serverless教父的此次精彩的主体演讲。本文约3700字,阅读时间约 9 分钟。算法

原做者:Tim Wagner,翻译&校对:王俊杰、刘传docker

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

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

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

在此以前,咱们须要先回顾一下云计算的历史发展。我将云计算分为三次浪潮。服务器

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

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

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

第二波开发者实际上和以往已经有所不一样。他们再也不专一于纯粹的系统迁移,他们愿意学习和采用新技术、新的作事方式,实现更快的上线速度、更高的开发效率、更高的安全性或更好的客户体验。包括 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 将为每一个开发者提供了超级计算机般的性能,提供有状态、更轻便的应用程序支持、以及连接万物的能力。这将推进云计算的新浪潮即将到来,帮助咱们比以往任什么时候候都更快、更好地为客户提供更多价值。

One More Thing

当即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 serverless/start

欢迎访问:Serverless 中文网

相关文章
相关标签/搜索