当前位置: 首页 > 科技观察

无服务器计算到底意味着什么?

时间:2023-03-21 23:10:45 科技观察

对于开发者来说,基础设施相关的工作是一件令人头疼却又无法逃避的负担。然而,无服务器计算机制可以减轻这种负担。首先,必须承认serverless这个词并不准确——当然,服务器会一直存在。所谓无服务器计算只是基于在云基础设施之上建立一个新的抽象层,从而保证开发者不再需要为服务器和云端各种虚拟资源分心。为了厘清相关定义,微服务负载管理厂商Iron.io的CEOChadArimura为我们做了解释。Arimura表示,无服务器计算可以被视为现代开发人员不断发展的参考框架:如今,大规模的原子单元已经从虚拟机转移到容器。如果进一步考虑,您甚至可以将单个功能或单一用途代码块视为最小单元。说白了,相当于处理了一张图片,转换了一段数据,编码了一段视频。对我来说,这就是微服务架构的全部意义所在。您可以将单个应用程序拆分为多个具有单一功能的服务,而不是构建单体应用程序。那么,微服务和函数有什么区别呢?每个服务都提供了一个人们可以访问的通用API。我们不确切知道它在内部是如何工作的。服务可能以功能为基础。因此,功能成为更基本的代码块,而服务更像是开发人员可以与之交互的接口。当开发人员使用微服务来组装应用程序并对功能进行服务调用时,他们还可以从库中选择功能来自己构建服务——在创建应用程序时无需考虑服务器基础设施。AWSLambda可以说是最著名的无服务器计算实例。正如亚马逊在教学视频中所说,“一旦代码上传到Lambda,该服务就会处理基础设施的全部容量、扩展、修补和管理,为代码运行提供必要的环境。”AWSLambda和Iron.io都提供旨在进一步加快开发速度的函数库。需要注意的是,这都是基于服务编排层——这部分任务由Mesos、Kubernetes或DockerSwarm提供。尽管Iron.io也提供了自己的编排层,但“我们在开发人员/API领域还处于初级阶段,”Arimura指出。事实上,Iron.io的核心功能与AWSLambda基本相同,但可以部署在所有主流的公有云和私有云平台上。Arimura认为Iron.io最大的优势在于可以本地部署。毕竟大多数企业还是倾向于使用混合云机制来实现云计算。这意味着相同的无服务器计算环境可以跨公有云和私有云保持一致性和应用程序可移植性。Arimura甚至提到了前Netflix云架构师AdrainCockcroft最先提出的备受争议的“no-op”机制。当然,由于服务器一直都在,运行在上面的操作不可能真的消失。只是从开发人员的角度来看,他们在创建软件时不再需要考虑操作需求。无服务器计算的主要目的是提高开发人员的效率。它不仅减少了基础架构管理的工作量,还压缩了开发人员在使用服务和函数库构建应用程序时需要编写的代码总量。企业开发团队逐渐接受敏捷、持续集成/交付和DevOps等新概念。但是借助无服务器计算带来的抽象层,现代开发方法具有更好的实际效率和更具吸引力的实施收益。原文标题:WhatServerlessComputingReallyMeans原文链接:http://www.infoworld.com/article/3093508/cloud-computing/what-serverless-computing-really-means.html原文译者及出处为.com]