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

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

无服务器计算已经在主流应用中站稳脚跟,并开始出现在企业组织的技术路线图中。研究公司和业界领袖预测,在 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 

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
9月前
|
机器学习/深度学习 数据库 数据安全/隐私保护
服务器核心组件:CPU 与 GPU 的核心区别、应用场景、协同工作
CPU与GPU在服务器中各司其职:CPU擅长处理复杂逻辑,如订单判断、网页请求;GPU专注批量并行计算,如图像处理、深度学习。二者协同工作,能大幅提升服务器效率,满足多样化计算需求。
3906 39
|
8月前
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
8月前
|
存储 机器学习/深度学习 人工智能
硅谷GPU单节点服务器:技术解析与应用全景
“硅谷GPU单节点服务器”代表了在单个物理机箱内集成强大计算能力,特别是GPU加速能力的高性能计算解决方案。它们并非指代某个特定品牌,而是一类为处理密集型工作负载而设计的服务器范式的统称。
|
开发框架 人工智能 Java
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
946 42
|
11月前
|
弹性计算 关系型数据库 数据库
阿里云服务器ECS是什么?ECS应用场景、租用流程及使用教程整理
阿里云ECS(弹性计算服务)是性能稳定、弹性扩展的云计算服务,支持多种处理器架构和实例类型,适用于网站托管、开发测试、数据存储、企业服务、游戏多媒体及微服务架构等场景。提供从注册、配置到部署、运维的完整使用流程,助力用户高效上云。
|
12月前
|
存储 分布式计算 安全
阿里云服务器ECS实例选型参考:场景适配、应用推荐
选择阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。对于很多新手用户来说,在初次购买阿里云服务器的时候,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,性能表现更是千差万别。因此,在购买阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。本文将通过一些常见的选型场景推荐,为大家详细介绍阿里云服务器实例选型的最佳实践,便于大家在选择云服务器实例规格时做个参考。
|
8月前
|
机器学习/深度学习 人工智能 弹性计算
2025年阿里云GPU服务器租用价格与应用场景详解
阿里云GPU服务器基于ECS架构,集成NVIDIA A10/V100等顶级GPU与自研神龙架构,提供高达1000 TFLOPS混合精度算力。2025年推出万卡级异构算力平台及Aegaeon池化技术,支持AI训练、推理、科学计算与图形渲染,实现性能与成本最优平衡。
|
10月前
|
域名解析 运维 监控
阿里云轻量服务器的系统镜像和应用镜像的区别
轻量应用服务器是阿里云推出的易用型云服务器,支持一键部署、域名解析、安全管理和运维监控。本文介绍其系统镜像与应用镜像的区别及选择建议,助您根据业务需求和技术能力快速决策,实现高效部署。
|
10月前
|
存储 弹性计算 运维
阿里云服务器全解析:ECS是什么、应用场景、租用流程及优缺点分析
阿里云ECS(Elastic Compute Service)是阿里云提供的高性能、高可用的云计算服务,支持弹性扩展、多样化实例类型和多种计费模式。适用于网站搭建、数据处理、运维测试等多种场景,具备分钟级交付、安全可靠、成本低、易运维等优势,是企业及开发者上云的理想选择。
1178 5