尽管AWS被公认为是第一个使用无服务器计算平台进入市场的公司,但从那时起,其他主要的IaaS公共云提供商也纷纷效仿。亚马逊,谷歌和微软主导着当今的无服务器市场。阿里巴巴,IBM,Oracle和许多较小的供应商正在将自己的无服务器平台和支持技术推向市场。同时,OpenFaas和Kubeless等开源项目正在尝试将无服务器技术从云引入内部部署。
主要的无服务器计算供应商包括:
11
Google Cloud功能,它于2017年由Google发布,支持Node.js JavaScript,Python和Go,但允许无限的函数执行时间。Google Cloud Functions还可以与许多其他Google服务进行交互,从而使开发人员几乎无需考虑基础服务器即可快速创建和管理复杂的企业级应用程序。
IBM Cloud 功能,它基于Apache OpenWhisk,支持JavaScript(Node.js),Swift和Cloudflare Workers,后者运行用JavaScript编写的功能以及可以编译为WebAssembly的任何语言。
AWS Lambda。它于2014年推出,是Amazon Web Services(AWS)的FaaS产品。AWS Lambda函数可以用Java,Go,PowerShell,Node.js JavaScript,C#,Python和Ruby编写。
Microsoft Azure功能,微软于2016年推出了Azure Functions,以与AWS Lambda竞争。它支持Bash,批处理,C#,F#,Java,JavaScript(Node.js),PHP,PowerShell,Python和TypeScript。
12
现在随着容器技术,IoT,5G,区块链等技术的快速发展,从物理机到云主机,到Serverless架构,去服务器化开始越来越明显。
四、 无服务器计算的优缺点
13
与传统的基于云或以服务器为中心的基础架构相比,无服务器计算具有许多优势。对于许多开发人员而言,无服务器体系结构可提供更高的可伸缩性,更大的灵活性和更快的发布时间。
1优点
无需服务器管理:尽管“无服务器”计算实际上是在服务器上进行的,但开发人员无需预置或维护任何服务器。它们由供应商管理。这可以减少在DevOps中的必要投资,从而降低支出,还可以使开发人员腾出空间来创建和扩展其应用程序,而不受服务器容量的限制。
比传统云便宜:开发人员仅需为使用的内容付费,为一致的吞吐量或执行持续时间(而不是服务器单元)付费。相比之下,在传统的“服务器”架构中,开发人员必须预先计划所需的服务器容量,然后购买该容量,而不管最终是否会使用到。
14
可扩展:试想一下,如果邮局可以以某种方式随意地增加和取消运输车辆,随着邮件数量的增加而扩大运输队的规模,在较少运输的时候缩小规模。从本质上讲,这就是无服务器应用程序能够做到的。使用无服务器基础结构构建的应用程序将随着用户群的增加或使用量的增加而自动扩展。如果某个功能需要在多个实例中运行,则供应商的服务器将根据需要启动,运行并结束它们。
但是,无服务器计算并不是所有开发人员的灵丹妙药,它也有着一定程度上的缺点。
2缺点
15