一文读懂 Serverless 的起源、发展和落地实践

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: Serverless 适合哪些业务场景?它可以对业务产生何种价值呢?

讲师 | 洛浩(阿里云云原生高级架构师)


搜索关注 Serverless 公众号,后台回复“上云”即可获得讲师 PPT!


Serverless 的发展轨迹


2012 年,Serverless 这个单词第一次出现,由 Iron 公司提出,字面意思就是不需要服务器。但是真正被大家所熟知,是在 2014 年 AWS 推出 Lambda 的时候。Lambda 产品的推出开启了云计算的新时代,之后所有的大厂都在跟进,比如微软、谷歌、IBM 都先后推出自己的 Serverless 产品。

国内是在 2017 年的时候,阿里云和腾讯云先后推出了自己的 Serverless 平台。但这个时候,都是指 FaaS(Function as a Service)。接着到 2018 年,大家开始渐渐接触到 Serverless,更多还是支付宝小程序和微信小程序的云开发平台。随后到 2019 年,国内其他厂商如百度、华为、字节也都开始做 Serverless,现在 Serverless 已经成了各大云厂商的标配。



Serverless 是云计算的 2.0


为什么大家都要做 Serverless 呢?因为大家都认为 Serverless 是云计算 2.0。随着云计算的发展,Serverless 已经成为一个技术趋势、一个理念、一个云的发展方向。


云计算领域有两篇非常著名的论文,是伯克利大学分别在 2009 年和 2019 年发表的。伯克利大学在 2009 年发表的一篇关于云计算的论文,预测了云计算的发展,比如计算资源可以按需索取、支持弹性、简化运维等,这些预测目前都已经实现。


而伯克利在 2019 年 2 月发表的第二篇论文中,预测 Serverless 是云计算下一个十年的发展方向。论文里也给出了关于 Serverless 的定义,简单讲就是Serverless Computing,由 FaaS + BaaS(Backend as a Service)构成一个 Serverless 软件架构。特点就是能够按需弹性、按需付费,这与 CNCF 的定义是相似的,应用以微服务或者函数的形式,拆解并部署到云上,能够按需去做弹性伸缩,按需付费,不用关心底层资源。




Serverless 是云原生发展的高级阶段


Serverless 跟云原生有什么关系呢?Serverless 的出现,就像人类的演进过程,代表着生产力的解放,极大提升了客户用云的效率。Serverless 在其之上封装了容器技术,是云原生的高级阶段。


Serverless 是对用户强调 No Server,本质并不是不需要服务器,而是将服务器全权托管给了云厂商,用户不用去关心,不用去管理,只用把业务部署到平台上来,只需聚焦业务逻辑代码,能够根据实际请求进行弹性伸缩,不用再去关心资源够不够。



Serverless 的核心价值


从物理机到 Serverless,就像我们买车一样,如果要买一辆私家车,这个车的车况保险全部要自己关心,然后你要自己开;到了虚拟机之后,我们把业务 host 到云上,就像汽车租赁;然后再到网约车,我不用买车,不用关心车况,我们要从 A 点到 B 点,只需要打个车,完全按需付费,按需弹性。

抽象出来其实就是有 3 个核心价值:


  • 第一个是弹性伸缩,它比较省事。比如说我们刚才有电商场景,需要弹性、扛大流量,Serverless 能够及时把资源弹出来。
  • 第二个特点,按需付费,我们用多少资源就花多少钱,不用为闲置资源来买单。
  • 第三个就是简化运维,能够帮用户省去资源管理的烦恼。




我们可以更直观来看 Serverless 的价值:首先最上层是业务逻辑,其次是对接的数据库、存储、微服务框架等,往下要建立监控系统、日志系统,以及容灾和高可用等,再到底层还要维护各种各样的 IaaS 资源,如虚拟机集群。而 Serverless 帮用户省掉的是资源层和可观测层,平台负责底层弹性资源,包括所有的日志监控等,用户就只需要关心业务逻辑。


Serverless 的软件架构


作为开发者,我们可以直接把镜像或者代码包部署到 Serverless 计算平台上来,省去了整个资源的购买和环境部署这个过程。部署上来之后呢,后端可以跟存储、数据库进行交互,构成完整的 Serverless 架构。之后通过像 LB 或者 HTT 的方式,直接去访问到业务代码,平台会根据用户的请求去做调度和弹性伸缩。Serverless 平台支持负载均衡,应对各种突发流量,用户不用去关心后台资源。




组件架构有点复杂,本次不展开来讲。对于开发者,需要关注的是绿色部分,即业务代码和服务框架等,以及用什么样的工具和后端 BaaS。Serverless 平台会纳管所有基础设施,会做好消息缓存、流量调度、容灾、高可用等。




另一个非常重要的组件架构是 Serverless 应用引擎,它的本质是把 K8S 做了封装。如果企业有微服务业务,并且需要部署到 K8S 集群,而维护挑战比较大的话,就可以用这种形态。把开发好的微服务,或者单体应用直接托管到这个平台上来,就能够享受 Serverless 所带来的弹性伸缩和按需付费的价值。



Serverless 的落地实践


Serverless 已有多个落地场景,在各个行业,无论是后台服务,还是 REST API 都可以部署到 Serverless 平台上。尤其是 Serverless 音视频处理、轻量 ETL(低门槛数据分析/处理)、事件驱动、任务跑批、应用托管、微服务容器化等场景。


在 Serverless 平台上有非常多的应用 case,比如,如果想要做微服务或者容器化转型,期望降低运维复杂度的同时,也能具备弹性伸缩、便捷发布的能力,就可以直接把服务部署到 Serverless 应用引擎。




再分享一个案例,想必很多人都有看过欧洲杯,国内是爱奇艺体育在做这个赛事直播,其背后的业务就是部署在 Serverless 应用引擎平台上。


对于爱奇艺体育团队来讲,最大的痛点之一是资源的弹性。因为体育赛事的直播流量有非常大的不确定性,面对流量激增,需要及时能够对后台服务进行扩容,如果按照峰值对资源进行保有,又会造成流量预估不准确的风险,以及一定程度上的资源浪费。


所以,Serverless 应用引擎非常好地匹配了客户痛点问题,不仅解决了弹性扩缩的问题,也提升了资源利用率,同时配套的应用监控,也极大程度上提升了定位问题的效率。



Serverless 的未来畅想


  • 大面积取代 Serverful,变为默认的计算范式:虽然 Serverful 不会完全消失,但随着 Serverless 存在的不足被逐个攻克,Serverlsss 在云计算中所占的比重将会逐渐提升,变成云时代默认的计算范式。


  • 拥抱整个容器生态:未来,Serverless 会更多的去拥抱整个容器生态,当下容器是整个业界的一个主流的趋势,Serverless 会和容器做更多的集成,比如镜像部署、镜像加速、以及集成 K8S 很多的能力。


  • 加速运维关系的变化:Serverless 将会加速运维关系的转变,运维同学会从资源运维,逐步走向业务运维。


  • 复杂任务编排、工具链及可观测等能力提升:Serverless 会加强复杂任务编排、工具链和可观测等方面的能力。因为 Serverless 平台对底层资源做了高度封装,所以一定要把很多的监控指标去透露给用户,通过这些指标来做业务级的管理和管控。




我们希望 Serverless 能够真正给大家减负,让业务开发和维护变的更加简单,给业务带来更大的价值。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
6月前
|
人工智能 NoSQL Serverless
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
本文主要分享了自己基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
586 6
基于函数计算3.0 Stable Diffusion Serverless API 的AI艺术字头像生成应用搭建与实践的报告
|
2月前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
3月前
|
弹性计算 关系型数据库 Serverless
函数计算驱动多媒体文件处理:高效、稳定与成本优化实践
本次测评的解决方案《告别资源瓶颈,函数计算驱动多媒体文件处理》展示了如何利用阿里云函数计算高效处理多媒体文件。文档结构清晰、内容详实,适合新客户参考。方案提供了一键部署与手动部署两种方式,前者简便快捷,后者灵活性高但步骤较多。通过部署,用户可体验到基于函数计算的文件处理服务,显著提升处理效率和系统稳定性。此外,测评还对比了应用内处理文件与函数计算处理文件的不同,突出了函数计算在资源管理和成本控制方面的优势。
22712 19
|
3月前
|
运维 Kubernetes Serverless
Serverless Argo Workflows荣获信通院标杆实践案例,引领大规模离线任务处理新方法
阿里云容器服务Serverless Argo Workflows大规模离线计算工作流平台荣获2024信通院Serveless实践标杆案例。本文介绍其应用场景、平台特性以及领域实践。
|
4月前
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
386 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
3月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
61 0
|
3月前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
188 0
|
4月前
|
分布式计算 Hadoop Serverless
数据处理的艺术:EMR Serverless Spark实践及应用体验
阿里云EMR Serverless Spark是基于Spark的全托管大数据处理平台,融合云原生弹性与自动化,提供任务全生命周期管理,让数据工程师专注数据分析。它内置高性能Fusion Engine,性能比开源Spark提升200%,并有成本优化的Celeborn服务。支持计算存储分离、OSS-HDFS兼容、DLF元数据管理,实现一站式的开发体验和Serverless资源管理。适用于数据报表、科学项目等场景,简化开发与运维流程。用户可通过阿里云控制台快速配置和体验EMR Serverless Spark服务。
|
5月前
|
分布式计算 运维 Serverless
通过Serverless Spark提交PySpark流任务的实践体验
EMR Serverless Spark服务是阿里云推出的一种全托管、一站式的数据计算平台,旨在简化大数据计算的工作流程,让用户更加专注于数据分析和价值提炼,而非基础设施的管理和运维。下面就跟我一起通过Serverless Spark提交PySpark流任务吧。
199 1
|
5月前
|
Cloud Native 安全 开发者
云原生架构的演进与实践:从微服务到无服务器计算
本文深入探讨了云原生技术的最新进展,特别关注微服务和无服务器计算模型。通过分析相关研究数据和行业案例,文章揭示了云原生架构如何推动现代应用开发,提升运维效率,并实现资源的最优化配置。文中详细讨论了云原生生态系统中的关键组成部分,包括容器化、自动化管理工具和服务网格,以及它们如何共同促进敏捷性和可扩展性。此外,文章还分析了云原生安全策略的重要性,以及如何在保障安全的同时,保持系统的灵活性和高效性。

热门文章

最新文章

相关产品

  • 函数计算