Serverless技术架构——极简运维,无限扩容

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 近年来,一个新的架构风格Serverless成了热门话题。本文基于Serverless概念的提出者Martin Fowler对Serverless概念的解读,全面阐述Serverless架构与传统架构的区别,优势及具体应用场景。

      移动互联网、物联网和大数据应用的快速发展极大地促进了人们对云计算的需求。但是让应用架构拥有良好的可伸缩性和高可用性并非易事,运维和管控庞大的基础架构更是极大的挑战。

      近年来,一个新的架构风格Serverless成了热门话题。本文基于Serverless概念的提出者Martin Fowler对Serverless概念的解读,全面阐述Serverless架构与传统架构的区别,优势及具体应用场景。


1. Serverless的概念

Serverless是一种基于互联网的技术架构理念,应用逻辑并非全部在服务端实现,而是采用FAAS(Function as a Service)架构,通过功能组合来实现应用程序逻辑。同时,Serverless架构能够让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA,按照调用次数进行计费,有效的节省应用成本。

          7135095352dd85427395467fb5bca12ea54ac210

2.Serverless与传统架构的异同

传统的互联网APP主要采用C/S架构,服务器端需长期维持业务进程来处理客户端请求,并调用代码逻辑完成请求响应流程。而在Serverless架构中,应用业务逻辑将基于FAAS架构形成独立为多个相互独立功能组件,并以API服务的形式向外提供服务;同时,不同功能组件间的逻辑组织代码将存储在阿里云Function ComputeAmazon LambdaAzure FunctionGoogle Cloud Functions等产品上,业务代码仅在调用时才激活运行,当响应结束占用资源便会释放。


3.Serverless的优势

1)节约使用成本

在业务突发性极高的场景下,系统为了应对业务高峰,必须构建能够应对峰值需求的系统,这个系统在大部分时间是空闲的,这就导致了严重的资源浪费和成本上升。在Serverless架构下,服务将根据用户的调用次数进行计费,节省了使用成本,同时,用户能够通过共享网络、硬盘、CPU等计算资源,在业务高峰期通过弹性扩容方式有效的应对业务峰值,在业务波谷期将资源分享给其他用户,有效的节约了成本

2)简化设备运维

在原有的IT体系中,开发团队即需要维护应用程序,同时还要维护硬件基础设施;Serverless架构中,开发人员面对的将是第三方开发或自定义的API 和URL,底层硬件对于开发人员透明化了,技术团队无需再关注运维工作,能够更加专注于应用系统开发

3)提升可维护性

Serverless架构中,应用程序将调用多种第三方功能服务,组成最终的应用逻辑。

目前,例如登陆鉴权服务,云数据库服务等第三方服务在安全性、可用性、性能方面都进行了大量优化,开发团队直接集成第三方的服务,能够有效的降低开发成本,同时使得应用的运维过程变得更加清晰,有效的提升了应用的可维护性


4.Serverless架构的行业场景
      移动行业、物联网行业是非常典型的Sreverless架构使用场景
      1)低频请求场景
物联网行业中,由于物联网设备传输数据量小,且往往是固定时间间隔进行数据传输,因此经常涉及低频请求场景。例如:物联网应用程序每分钟仅运行一次,每次运行50ms,这意味着CPU的使用率为0.1%/小时,这也意味着其实有1000个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟100ms的资源来满足计算需求,通过这种方式就能够有效解决效率问题,降低使用成本。
      2)流量突发场景
例如:移动互联网应用经常会面对突发流量场景,例如:移动应用的通常流量情况是QPS 20,但每隔五分钟会有一个持续10s的QPS 200流量(10倍于通常流量),传统架构下企业必须扩展QPS 200的硬件能力来应对业务高峰,即使高峰时间仅占整个运行时间的4%;而在Serverless架构下,用户可以利用弹性扩展特性,快速构建新的计算能力来满足当前需求,当业务高峰后,资源能够自动释放,有效节省成本。

5.基于Serverless概念的业内竞品

Serverless领域 AWS Lambda是先行者,随后其他厂商相继推出了自己的函数服务,包括Azure Function,Google Cloud Functions。阿里云的Serverless产品函数服务(Function Compute)现在正在紧张的研发阶段,预计2016年底之前会正式对外发布。

 

6.阿里云的Serverless规划

阿里云未来会围绕Serverless概念构建完整的生态体系,产品层面将全力打造API Gateway,Docker,Function Compute等为主的Serverless基础产品序列,同时围绕基础框架提升大数据服务能力,推动API经济发展,使阿里云成为中国Serverless的领导者。


7.技术文章推荐

http://martinfowler.com/articles/serverless.html

http://martinfowler.com/bliki/Serverless.html


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
10天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
2天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
2天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
14 1
|
5天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
6天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
16 1
|
6天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
15 1
|
10天前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
136 13
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
运维 Serverless 网络安全
函数计算产品使用问题之通过仓库导入应用时无法配置域名外网访问,该如何排查
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

热门文章

最新文章

相关产品

  • 函数计算