无服务器应用程序开发的最新趋势

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 无服务器计算是一项关键技术,正在重新定义企业构建、消费以及整合云原生应用的方式。“无服务器架构使开发人员能够专注于他们应该做的事情——编写代码,优化应用设计——为业务敏捷性让路。”

无服务器计算已经在主流应用中站稳脚跟,并开始出现在企业组织的技术路线图中。研究公司和业界领袖预测,在 2022 年无服务器的采用将会有更大的发展势头。虽然在存储、计算和网络等基础设施要素方面,无服务器有不同的方面,但是本文主要讨论无服务器应用开发的最新趋势。

随着人们越来越关注将运营方面的工作交给云服务提供商或以平台为中心的解决方案,无服务器架构将作为一种功能即服务(Function-as-a-Service,FaaS)的编程风格(见下图)继续在微服务应用开发中发挥关键作用。无服务器应用开发的最新趋势将继续随着新出现的模式、技术产品和云原生社区的创新而发展。

image.png

无服务器计算是一项关键技术,正在重新定义企业构建、消费以及整合云原生应用的方式。“无服务器架构使开发人员能够专注于他们应该做的事情——编写代码,优化应用设计——为业务敏捷性让路。”

——Gartner:《CIO 无服务器计算指南》(CIO’s Guide for Serverless Computing)

趋势一:抽象是无服务器应用开发的新口号

无服务器架构在开发者中普及了 FaaS 的编程风格;它通过独立构建和部署的功能来帮助开发者专注解决核心业务问题,这些功能对某一事件作出响应,运行业务流程,在此过程中生成其他事件,并将规模缩小到零。

——ThoughtWorks Technology Radar

从历史上看,无服务器产品已经被亚马逊云科技 Lambda、Microsoft Azure Functions、Google Cloud Functions、Alibaba Cloud Function Compute 和其他云提供商等无服务器平台普及推广。这些平台提供了对核心基础设施的抽象,并与云托管服务本地集成。

随着多云部署的兴起,下一个趋势是在公共云服务提供商的产品之上建立一个抽象层(见下图)的演变。这将有助于将业务服务与云提供商的专有技术脱钩,并且可以根据服务的具体要求灵活选择无服务器平台的提供商。

提供一个无服务器应用开发层作为另一个抽象层,在构建基于功能即服务的应用时提供一个供应商中立的接口,从而有助于应用开发生命周期。

企业可以组建一个平台工程团队构建无服务器应用开发层,也可以使用开箱即用的解决方案。

image.png

无服务器抽象层在无服务器平台之上提供开发者平台

趋势二——容器和无服务器作为基础平台

容器和无服务器将成为应用平台的基础设施。

——Gartner:《2022 年云计算和边缘计算规划指南》(2022 Planning Guide for Cloud & Edge Computing)

与无服务器功能相比,容器被认为是更粗粒度的,并被当作一种替代选择。

最近的趋势是两个世界力量的结合,因为无服务器平台已经开始支持容器来打包和部署应用程序代码(主要的无服务器提供商及其对容器的支持见下表)。

趋势三:开源在构建无服务器平台中的崛起

开源云原生开发以服务网格和无服务器为目标。

——Forrester Research

虽然亚马逊云科技 Lambda 使用其专有技术来实现无服务器,但新兴的参与者正在使用开源技术来构建无服务器平台。

这有助于区分他们作为提供商中立的能力,以及他们对更加开放和透明的倾向。此外,在混合云部署模式中,它有助于为使用相同开源技术的企业内部无服务器平台建立一个一致的方法。

image.png

云服务提供商的无服务器平台

与可观察性相关的功能(OpenTracing、OpenTelemetry、Grafana 和 Jaeger)也被无服务器平台广泛集成。

开源为无服务器的企业级混合云平台提供了许多选择。主要框架有:Apache OpenWhisk、OpenFaaS、Knative、Fn Project、Kubeless(由 VMWare 归档)和 Fission。

image.png

无服务器的开源框架

趋势四:无服务器作为端到端应用开发平台的推动者

我们预测 2022 年是无服务器最终达到临界质量的一年,接近主流接受度,成为目前软件开发的最佳实践模式。

—2021 年 InfoQ 《趋势报告》(Trends Report 2021)

不仅主要的云服务提供商(亚马逊云科技、Azure 和 Google Cloud)在推动无服务器的采用,而且新的参与者也在简化无服务器的采用。有趣的是,这些参与者中的大多数可能在幕后使用公共云服务提供商,或者通过在供应商之上添加抽象层,让最终用户选择云供应商。

与 2021 年类似,今年将继续看到新的功能或产品发布,如:亚马逊云科技扩展 SAM 平台(SAM 加速等新功能),Azure 扩展其无服务器平台,以及 Cloudflare 扩展 JAMStack 的 Workers 和 Pages 等无服务器功能。

这些关键研究表明,表明提供数据库、应用框架、GraphQL 等能力的技术服务提供商正专注于推出具有无服务器产品的端到端应用开发平台的趋势。

Akka Serverless(2021 年 6 月推出):使用托管 Serverless 平台构建实时应用程序。

MongoDB Realm(2021 年 6 月推出):利用 MongoDB 数据库作为一个集成平台来构建应用程序。

Nimbella Service Platform 被 DigitalOcean 收购,他们宣布将在 2022 年推出测试版产品。

Cloudflare 通过 Cloudflare Workers 提供无服务器计算服务,并不断建立新的功能,如 Workers Durable Objects,这些新功能在 2021 年普遍用于构建有状态的无服务器应用程序。

趋势五:边缘的无服务器将使计算更贴近终端用户

无服务器边缘计算平台利用 5G/6G 的毫秒延迟和人工智能优化,将促进远程应用的云连续。

——IBM 无服务器预测

新的应用程序将开始被设计为利用边缘的计算、存储和网络能力。这将涵盖云/边缘连续体中应用程序的整个生命周期。

随着使用边缘计算的延迟降低(<1-5 毫秒),无服务器应用的性能、可扩展性和可用性预期将更高。突发性工作负载(遵循工作负载模式来处理突然和意外的负载高峰)将继续成为无服务器应用程序的执行趋势。

其他有趣的观察和发现

根据 Datadog 的《无服务器状态》(State of Serverless)、IBM 和 IEEE Research 的结论,亚马逊云科技 Lambda 仍然是使用最广泛的功能即服务(FaaS)产品。

根据 IEEE 对 89 个以上应用程序的数据研究,典型的无服务器应用程序使用托管云服务,具体趋势表明在以下领域的使用情况:云存储(61%)、云数据库(约 47%)和云消息传递(约 38%)。

image.png

托管云服务的无服务器应用程序使用情况

Python 和 JavaScript 是无服务器应用开发中最流行的语言(约 30%~40%),其次是 Java(约 10%~15%)、C/C++(约 10%~15%)、Golang(约 4%~5%)和 Ruby(约 1%~2%)。

无服务器应用主要用于 API、流/异步处理、批处理作业、工作流处理和操作任务。

无服务器框架是使用亚马逊云科技 CloudFormation 部署亚马逊云科技 Lambda 应用的主要方式,其次是亚马逊云科技 CloudFormation、亚马逊云科技 CDK、亚马逊云科技 SAM。

总而言之,无服务器将继续成为云供应商的重点领域,这些趋势表明,新的创新产品将继续在以下领域出现:功能即服务、后台即服务、数据库等领域即服务、存储即服务、Kubernetes 和容器编排即服务、机器学习即服务等等。

image.png

无服务器应用程序开发的最新趋势摘要

参考:

A year with serverless — BBC Online

Top serverless frameworks to watch in 2021 (The Chief I/O)

The State of Serverless (by Datadog)

OWASP Serverless Top 10 Security Risks

The Forrester Wave: Function-As-A-Service Platforms, Q1 2021

A CIO’s Guide to Serverless Computing (Gartner)

原文链接:

THE LATEST TRENDS IN SERVERLESS APPLICATION DEVELOPMENT 

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
29天前
|
JavaScript 前端开发 应用服务中间件
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
这篇文章分析了Vue项目在服务器部署后出现404错误的原因,主要是由于history路由模式下服务器缺少对单页应用的支持,并提供了通过修改nginx配置使用`try_files`指令重定向所有请求到`index.html`的解决方案。
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
|
21天前
|
运维 应用服务中间件 网络安全
自动化运维的利器:Ansible在服务器管理中的应用
【8月更文挑战第28天】本文深入探讨了Ansible在简化和自动化服务器管理工作中的强大功能及其实际应用。通过浅显易懂的语言和具体示例,展示了如何利用Ansible进行批量配置、部署应用以及执行系统管理任务,旨在为读者提供一套完整的解决方案,以便更好地理解和应用Ansible,从而提高工作效率和减轻运维负担。
|
1月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
36 8
|
16天前
|
弹性计算 安全 测试技术
阿里云的ECS云服务器应用例
在未来的远程办公时代,“未来空间”打造了一个高效、灵活且安全的在线协作平台,采用阿里云ECS云服务器作为核心基础设施。ECS提供按需付费的弹性计算能力,确保平台响应迅速并能应对流量高峰。其集成的安全特性如安全组和云盾,构建了多层次防护体系,保障数据安全。此外,ECS与阿里云其他服务无缝集成,如RDS、CDN和OSS,实现了高效的数据管理和全球低延迟访问。结合阿里云的机器学习服务,“未来空间”开发了智能会议摘要和情绪分析功能,提升了用户体验。凭借ECS的强大支持,该平台不仅实现了全球团队的高效协作,还赢得了市场的广泛认可,成为远程办公领域的标杆。
|
16天前
|
开发框架 JavaScript 前端开发
|
21天前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
45 2
|
1天前
|
安全 关系型数据库 API
深入理解后端技术:构建高效、可靠的服务器端应用
本文将深入探讨后端技术的核心概念和最佳实践,包括服务器端编程、数据库管理、API设计与开发等方面。我们将从基础开始,逐步深入,帮助读者建立起对后端开发的全面理解,从而能够独立构建高效、可靠的服务器端应用。
8 0
|
1月前
|
缓存 数据安全/隐私保护 UED
代理服务器在HTTP请求中的应用:Ruby实例
代理服务器在HTTP请求中的应用:Ruby实例
|
17天前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
28 0
|
17天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
31 0

热门文章

最新文章