译者|徐磊审稿人|孙淑娟云计算自问世以来,经历了数次演进,其中成本因素是云计算历次演进的重要推动力。随着近几年云计算的快速发展,终于出现了一个新的驱动力,那就是Serverless,它将推动云计算的再次演进。在这篇文章中,我们将阐述一个观点,即Serverless是云计算的未来,同时围绕以下前提展开论证,然后描述一个新的愿景。云计算处于现代互联世界的中心,大多数应用程序使用云计算来收集和处理数据并构建边缘设备所需的信息对云计算的需求预计将以每年15%的速度增长云上的支出计算预计将达到临界质量市场领域IT成本的50%云计算能源消耗已占全球能源消耗的1-1.5%,其增长已对环境构成重大威胁综上所述,鉴于对云计算的需求不断增长,我们提出更节能、更具成本效益的Serverless计算模型是当前主流云计算的下一个演进方向。1.引言当前云计算的影响已经渗透到世界的每一个角落。无论您身在何处,都可以看到那些依靠便携式计算机上网和处理信息的人。大部分信息是从边缘设备收集的,然后由运行在云端的应用程序和服务收集和处理。作为在该领域拥有多年经验并推动支撑现代IT的关键开源技术发展的个人,是时候退一步思考云计算未来方向的大问题了——什么是云计算?当前云计算模式的下一个发展方向?相反,目前主导由Kubernetes提供支持的混合云的计算模型的未来是什么。谈到无服务器计算,就像当年的Kubernetes一样,经常提到自然进化,但它的方向正确吗?它是否有助于缓解云计算不断增长的成本?还是它的持续增长再次对我们的环境构成威胁?二。动机在本文中,我们认为这些极具挑战性的问题的答案是确定的。我们相信云计算的未来是无服务器的。这一论点不仅来自用户实现的成本效益,还来自云提供商获得的更高计算密度,以及环境影响因素。所有的计算模型都必须是“绿色的”、环境可持续的,并且对我们赖以生存的气候更加友好。三、历史视角云计算作为21世纪初期的主导模式,被视为IT史上的一场革命。随着云计算的兴起,任何人都可以以每小时几美分的价格拥有一台云计算机(通常以VM或容器的形式)。任何人在任何地方都可以毫不费力地启动“云规模”计算资源的绝对轻松是我们当前技术革命的最大推动力之一。当然,这种变化也是有后果的。一旦向用户提供高可用且廉价的计算单元,计算资源将始终被分配,而不管它们是否被充分利用。一旦分配了这些资源,云提供商就需要确保它们在用户需要时可用。同时,用户运行的工作负载也很难7*24持续使用这些分配的计算资源。大多数工作负载都是事件驱动的。除了设定好的事件调度,大部分时间都在等待事件。当事件到来时,工作负载将响应并响应。另一种常见的工作负载是在批处理模式下工作。当然,批处理任务可能由外部事件触发,也可能周期性触发。在当前主流的云计算模型中,用户必须提前获取其工作负载所需的计算资源量,这通常会造成巨大的浪费。这些浪费的计算资源增加了成本和能源消耗。4、Serverless是云计算的未来Serverless是为解决云计算资源分配问题而产生的。通过提高资源分配的自动化程度,Serverless无需用户预先确认和分配其工作负载所需的计算资源。作为开源的一个例子,Knative在Kubernetes云平台之上增加了自动扩展功能,可以根据实际业务需求自由扩展计算资源。一方面,随着请求的不断涌入,Knative会相应增加分配的计算资源,并支持无限扩展Pod节点。另一方面,当请求数量逐渐减少时,Knative会相应地减少计算资源的规模(0个Pod)。因此,Knative通过确定何时何地需要这些计算资源来解决为用户预分配资源的问题。唯一要做的就是在Knative增强的Kubernetes集群上部署一个服务。当然,服务本身并不占用额外的计算资源,以后可以随时随地响应对计算资源的请求。正如Knative所示,Serverless模型将每一个服务定义为一个事件,Knative自身也做了一些功能上的增强,以更好地控制事件的产生和消费。这也确保每个服务始终具有独立的扩展控制,只要只有必要数量的服务实例在云上运行。Knative通过不断调整每个服务预留的云资源来适应实际使用情况,从而提高云的效率。Knative成为改进Kubernetes的一种方式——涵盖大部分相同的功能,同时为用户增加简化和自动化,从而提高云效率。因此,你应该尽可能使用Knative,而不是直接使用底层的Kubernetes。5.成本管理无服务器的主要承诺之一是通过有效分配和使用云资源和服务来节省成本。目前,大多数在云上运行的工作负载都需要预先分配云资源。但由于准确的资源消耗难以预测和了解,用户往往会过度分配并因此支付过多费用。此外,大多数云计算服务的资源需求并不是一成不变的。恰恰相反,对典型服务的需求会随着一天中的时间、星期几、一年中的季节、假期以及当地或全球的紧急情况而波动。在大多数情况下,试图预测实际需求是不可能完成的任务,因此用户会在预期的峰值之上配置和预留冗余的云资源,以确保峰值能够顺利处理。所有这些都意味着大多数时候为服务配置的云资源比实际需要的要多得多。即使用户在充分分析峰值后选择了较低的冗余数,实际需求也可能较低,造成成本浪费。或者,可能选择的数量不足,这可能会导致收入损失。Serverless通过实时自动配置资源以适应需求,有效避免了浪费和损失。Serverless解决了云用户在部署服务时需要预留计算资源的问题。通过Serverless部署的服务只有在需要处理事件(服务请求)时才会被激活,这为云用户节省了成本。随着更多事件的发生,相应的云服务将扩展以满足需求,而当需求减少时,服务可以缩减为零。最好的情况是一个服务只需要消费处理接收到的需求所需要的东西。资源,不多也不少。云服务提供商在提供无服务器服务时也可以节省成本。在没有Serverless的情况下,用户购买预配置的计算资源,所有这些资源都部署在本地某个地方的虚拟机上。云服务商必须保证在服务高峰时,为服务提供资源的虚拟机有足够的本地资源提供扩展空间。有了Serverless,随着服务需求的增长,云服务提供商只需要确保云上有足够的资源来服务事件。以Knative为例,如果一个事件到达了特定的Kubernetes集群,Knative可以在集群的任何地方找到该事件的资源,而不局限于特定的工作节点。如果整个Kubernetes集群的资源被充分利用,云服务提供商可以将事件路由到其他集群。这些通过Istio对网络进行抽象,使用Kubernetes联邦模型非常容易实现。随时随地使用计算资源,解决了事件服务在本地预分配资源的问题,大大提高了云端效率。总的来说,Serverless为云服务提供商和用户带来了显着的成本降低。6.环境正如我们之前讨论的,Serverless提高了云服务的效率。通过解决资源只能在节点级别本地供应的问题,Serverless可以在任何地方使用云资源来服务请求。总体而言,整个云需要更少的计算资源来提供相同的云服务。更重要的是,每个工作负载消耗的资源将相应减少。例如,缩减为零的工作负载消耗的资源比它连续运行时消耗的资源少,并且必要的能源消耗量也会相应减少。因此,Serverless可以带来额外的节能效果。随着越来越多的服务转向Serverless计算模型,云提供商可以在数据中心的任务中提供服务。未来甚至数据中心在容量满足需求时也可以暂停。一些工作节点和物理机。由于能源消耗是云服务提供商的主要成本之一,因此可以通过这种方式节省大量成本。这种节省不仅使云更高效,还使云更环保。随着越来越多的工作负载迁移到云端,节省的费用可能会非常可观。此外,气候变化问题不能单靠改变行为来解决,而是通过更有效地利用我们拥有的能源来进一步减少能源消耗。通过Serverless,这些都可以在不影响当前应用的情况下实现,同样如此。当然,并不是所有的工作负载都能采用serverless模式,切换到serverless也有挑战,这个我们会在后面讨论。因此,云负载的无服务器未来意味着更环保的环境。7.其他用例最初,无服务器是一种使用范围狭窄的利基技术,主要用于功能或服务工作负载。最近,它的使用范围得到了显着扩展,几乎可以满足任何类型的工作负载需求。例如,批处理或事务处理自然适合Serverless架构,因为它们都是为实现结果而执行的所有类型的工作负载。当然,为了保证批处理和事务处理的完整性,事件调度和失败重试协议也是非常有用的。必要的。1、数据与人工智能数据与人工智能也是一个成熟的Serverless应用领域。典型用例是在大型数据集上运行机器学习(ML)算法,以及改进算法和功能并重新运行它们的能力。一些像Kubeflow这样的项目围绕Knative封装了必要的库和功能,以促进这些用例的执行。我们还可以使用不同的交互模式扩展当前的无服务器解决方案,以使数据和人工智能用例更加自然,例如允许即发即弃类型的调用。此外,添加对提供的端点进行回调以获得结果的能力可能非常有帮助。2.量子计算最后,serverless架构在未来一个很重要的应用就是帮助量子计算机成为主流。量子计算机的性能超越经典计算机,具有经典计算机不具备的优势。但其使用需要专门的硬件和机柜,量子计算机的编程限制也是一个重要因素。量子计算机高昂的财务成本及其冷却系统的相关能源成本使得无服务器成为自然的候选者,它提供了成本和能源优化。通过《超导量子计算的未来》中描述的量子无服务器模型,我们可以通过访问事件驱动和经典无服务器相关工作负载来降低直接使用量子计算机的复杂性。IBM量子团队正在将量子无服务器作为他们未来2-5年战略的基石。8.总结在这篇博文中,我们解释了为什么无服务器是所有云计算工作负载的未来方向。我们相信,这种无服务器优先的模式在未来将为云用户和服务提供商带来各种潜在的好处。这种好处不仅体现在各个方面的成本节约上,更重要的是,它还包括能效,从而产生更绿色的云和更环保的计算。最后,我们还提供了无服务器优先云的一些用例,例如数据和人工智能以及量子计算。原文链接:https://developer.ibm.com/blogs/the-future-is-serverless/译者介绍徐磊,社区编辑,某龙头电商技术副总监,专注于Java后端开发、技术管理、架构优化、分布式开发等领域。
