程序员请注意,无服务器将改变应用程序开发

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介:

无服务器软件架构已经吸引很多人关注,它为什么会让人们这么感兴趣呢?无服务器意味着什么呢?function-as-a-service 与无服务器有什么区别?AWS Lambda、IBM OpenWhisk、Azure Functions和谷歌Cloud Functions等服务的机制是什么?这一切会如何发展?

无服务器与FaaS

在最近举行的Serverless大会中,主题演讲中最引人关注的是无服务器的各种定义。这也表明这项技术仍然处于其生命周期非常早的介入期。一般来说,大多数人都会认同“无服务器”是指软件架构,而FaaS则描述了开发人员在这个架构中部署业务逻辑的关键机制。

例如,如果你在AWS S3服务运行静态HTML网站,这是无服务器(架构)的定义。但如果没有业务逻辑来用自定义数据对用户交互作出响应,这个网站无法完成很多工作。这也是四大云服务提供商(AWS、IBM、微软和谷歌)以及其他开源提供商(例如Iron.io和Fission)发挥作用的地方。

FaaS的最佳定义来自Serverless Framework首席执行官Austen Collins,该公司可能是该领域最热门的初创公司。Collins认为,FaaS的定义如下图所示:

程序员注意,无服务器将改变程序开发

FaaS平台为开发人员提供构建微服务的能力,微服务可对事件作出响应、自动扩展、每次执行支付费用,并利用Amazon DynamoDB或者IBM Watson等大型服务器系统。生态系统和微服务方法是FaaS平台与容器世界分享的好功能。当你了解FaaS平台的工作原理后,你就会明白为什么存在这些相似之处。

FaaS平台内部运作

我们可以在历史背景下考虑FaaS。在20世纪90年代初,我们只有裸机可用来运行我们的代码,而获得新的计算单元需要几个月时间。随着虚拟机管理程序的出现,虚拟化将这个时间缩短到几分钟。通过使用不同的Linux内核资源分离技术,而不需要使用虚拟机管理器,现在容器可在几秒钟内为我们提供计算单元。

FaaS平台如何将这个时间达到毫秒级?想象一下已经分离的容器装配线,内部有Node.js或者Python等语言运行时间,但还没有业务逻辑代码。当事件被触发时,包含响应该事件的业务逻辑的函数会从磁盘读取,并被插入到预热的容器中,其中已经具有相应的语言。你的函数会执行,代码被删除,相同的容器还可用于下次事件。

当然,在这个过程中会有些变化,将你的代码保存在完全热的容器中用于下次处理相同的事件。但这里的关键概念是,FaaS平台以创造性的方式利用容器,让你可映射函数执行到特定事件。当你关联这些事件(例如数据库写入或者IoT设备信号)时,你可从这些更小的组件中创建更大的应用程序。

这一切都将如何发展?

无服务器仍然是一个年轻的市场,现在还可能处于早期部署的开始阶段。但它背后有着大型提供商的支持,还有很多开源替代品,并且很多初创公司也正在为其提供免费工具。

无服务器的一个有趣的方面是,它可能可完全改变供应商锁定的概念。假设你喜欢使用Amazon Polly进行语音文本转换,但文字情感分析又喜欢使用IBM Watson。你的前端应用程序可以录制语音,发送录音到AWS的Polly功能,并将结果发送到Watson。因此,你可为特定的工作选择合适的工具,而不是被锁定在特定供应商或者生态系统。当你通过功能即服务构建时,各个部件都足够小,可随时挑选以及选择供应商。

在Serverless大会中,iRobot、Norstrom和Capital One等公司讨论了他们如何成功地应用这项技术,这证明该技术不仅仅适合初创公司,也适合成熟的企业。尽管很多早期部署者还没有使用无服务器用于面向用户的工作负载,但用户与无服务器应用交互的那一天即将到来。



本文转自d1net(转载)

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3月前
|
固态存储 安全 程序员
搭建程序员个人博客网站的服务器配置怎么选?
搭建个人博客网站时,合理选择服务器配置至关重要。推荐1核CPU、2GiB内存、SSD硬盘及2M-10M带宽,适合大多数个人博客。操作系统方面,Linux更为经济高效。建议选择如阿里云等知名云服务商,同时考虑服务器的可扩展性和安全性,确保网站稳定运行与良好体验。
|
2月前
|
存储 缓存 前端开发
如何优化 SSR 应用以减少服务器压力
优化SSR应用以减少服务器压力,可采用代码分割、缓存策略、数据预加载、服务端性能优化、使用CDN、SSR与SSG结合、限制并发请求、SSR与CSR平滑切换、优化前端资源及利用框架特性等策略。这些方法能有效提升性能和稳定性,同时保证用户体验。
|
3月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
111 2
|
1月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
198 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
2月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2月前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
45 2
|
2月前
|
关系型数据库 API 数据库
后端开发的艺术:从零到一构建高效服务器
在数字化时代,后端开发是支撑现代互联网应用的基石。本文旨在探讨后端开发的核心概念、关键技术以及如何构建一个高效的服务器。我们将从基础的编程语言选择开始,逐步深入到数据库设计、API开发和性能优化等关键领域。通过实际案例分析,我们将揭示后端开发的复杂性和挑战性,同时提供实用的解决方案和最佳实践。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和启发。
|
2月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
103 1

热门文章

最新文章