“我们希望让用户做得更少而收获更多,通过Serverless化,用云就像用电一样简单。”
11 月 3 日,2022 杭州 · 云栖大会上,阿里云总裁张建锋表示,以云为核心的新型计算体系正在形成,软件研发范式正在发生新的变革,Serverless 是其中最重要的趋势之一,阿里云将坚定推进核心产品全面 Serverless 化,帮助客户更好地实现敏捷创新。
11 月 5 日,激活应用构建新范式:云原生峰会再次聚焦 Serverless,进一步解读阿里云核心产品全面 Serverless 化的意义,重磅发布 Serverless 运行时升级,让云上应用构建更简单。
阿里云智能可观测&Serverless 负责人 司徒放主题演讲
Serverless引领下一代应用架构
要谈应用 Serverless 架构,首先要从云产品托管形态的演进过程去理解 Serverless。
“基础设施托管”是最基础的形态,产品交付的是计算、存储、网络等云资源,用户不仅需要自己在云上部署和运维应用软件和业务逻辑,还要解决软件运行可能遇到的种种问题。
“应用软件托管”是“基础设施托管”的向上延伸,客户依旧需要按“几核几G服务器”的模式来购买云资源,但由产品去提供常见应用软件(如 MySQL 等)的部分运维。
Serverless 全托管是进一步进化,客户不再需要关心服务器,服务器由云产品全权管理,并且具备两个重要特征:一是按实际使用量付费,更加接近“电网”模式:例如按请求调用次数,或者按实际数据存储量,用多少付多少;二是自适应弹性、免运维:根据使用情况,云产品对底层资源进行自动伸缩,客户不需要提前预购资源,用完即回收。
Serverless 全托管的出现正在深度影响和改变着应用技术架构。从企业级应用架构,到互联网分布式架构,服务化、可伸缩、松耦合等理念已经深入人心,但分布式技术的实施复杂度却不断攀升。而 Serverless 的自适应、免运维能够大幅降低复杂度,其高弹性又充分发挥了云的优势。依托 Serverless 全托管产品,业务能力和云服务能力可以被抽象成灵活、通用的模块形态。用户可以根据需要从中挑选模块,按需调整并把他们编排在一起,组装成自己的应用,从而大幅提升研发效率。
从资源到服务,阿里云核心产品全面 Serverless 化
Serverless 并不是不用服务器,它是将服务器全权托管给了云厂商,根据业务流量大小自动弹性伸缩,开箱即用免去维护成本,按使用量计费。用户无需关心和管理底层 IT 资源,只要聚焦业务代码,根据实际请求处理业务。
要想让用户用好 Serverless,单纯在应用运行时层面进行 Serverless 化是远远不够的,应用依赖的下游数据库等系统,如果它们没有良好的弹性,就会成为系统整体的“短板”。只有链路上所有的系统都具备高弹性、高可靠才能发挥出 Serverless 最大价值。
目前,阿里云上已经有超过 20 款核心产品提供了 Serverless 形态,在弹性速度、计费模型上帮助客户业务更好的驾驭底层算力,节约成本;同时,围绕 Serverless 架构产品间紧密合作,共同解决产品集成、联动伸缩等问题,为业务提供更丝滑的全链路 Serverless 体验。
随着 Serverless 不断普及,阿里云推出了 Serverless 工具链、Serverless 应用中心,来帮助开发者提高 Serverless 应用的开发上线端到端生产效率。同时阿里云也沉淀了大量 Serverless 解决方案案例,可供各行各业参考。
2020年,阿里云开源的 Serverless Devs 成为业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台。今年,Serverless Devs 全程深度参与了信通院《基于无服务器架构的工具链能力要求》的标准制定,并在 9 月正式进入 CNCF Sandbox,成为业内首个入选的 Serverless 工具项目。
阿里云的 Serverless 计算产品
阿里云是国内最早提供 Serverless 计算服务的云厂商,产品矩阵也非常丰富。按照抽象级别不同,有弹性容器实例 ECI、Serverless K8s ASK、Serverless 应用引擎 SAE、函数计算 FC,分别对应容器、集群、应用、函数级别的抽象。
- 弹性容器实例 ECI,这个产品提供容器实例,开发者无需管理底层服务器,只需要提供打包好的镜像,即可运行容器。严格说不是 Serverless,多大负载需要多少容器,何时扩容何时缩容,流量如何调度都需要上层解决。
- Serverless 容器服务 ASK,这个产品属于容器编排层,可以进行 ECI 节点编排和容量规划。ASK 可以帮助搭建集群,降低了Kubernetes 使用门槛,只需要管理网段、负载均衡、应用软件等,而不是底层节点基础设施。
- Serverless 应用引擎 SAE,这是业内首款面向应用的 Serverless PaaS 平台,屏蔽底层 IaaS 和 Kubernetes 的复杂度,提供了零代码改造迁移、成本更优、效率更高的应用托管方案,帮用户实现单体 Web 应用、微服务应用以及定时任务的 Serverless 化。
- 函数计算 FC,这是一款 FaaS 产品,以事件驱动为核心的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。
Serverless运行时升级:云上应用构建更简单
Serverless 应用中心:让 Serverless 更易开发
Serverless 发展至今已经成为云计算的核心技术,主流场景都在通过 Serverless 解决问题,并且阿里云提供了完整的工具链,让企业通过Serverless 架构可以更简单地在云上构建应用,充分享受 Serverless 化带来的红利。
随着 Serverless 架构的普及与使用,Serverless 工具链体系的不完善、更新/部署流程复杂、资源零散以及治理难度大等问题也随之露出。阿里云重磅发布 Serverless 应用中心:海量场景化模板,让 Serverless 应用全生命周期管理更简单。通过使用 Serverless 应用中心,用户在部署应用之前无需进行额外的克隆、构建、打包和发布操作,即可快速部署和管理应用,帮助用户快速联动云上的上下游服务,轻松沉淀最佳实践。
Serverless 应用中心进一步覆盖 Serverless应用从创建、开发、运维的全生命周期,包括白屏化使用体验、云端开发、多环境下的应用管理、应用维度的自动资源准备、标准化 DevOps 流程等企业级特性。
后续应用中心会持续沉淀各行各业的典型Serverless 应用案例模版,让用户可以更简单地了解和掌握。目前应用中心已经加入了事件驱动、Web API、音视频处理等 9 大场景共 100 多款应用模版。
函数计算 FC:灵活高能,拓宽三大场景
函数计算 FC 自发布至今已经帮助上万家国内外企业在 Web、移动后端、音视频、AI 推理、批任务处理等广泛场景落地现代化应用,今年,函数计算 FC 深入打透音视频处理、实时数据处理、GPU 三大场景,帮助开发者专注业务、降本提效。
在音视频处理方面,FC 新增了全景录制模版可以直接开箱使用,通过全景录制这种所见即所得的模式,轻松还原直播互动效果,既能得到 SaaS 化音视频快速接入体验,又能拥有代码级的定制灵活性。依托强大的弹性,FC 可以瞬间创建多个实例进行视频多路并行转码,极大缩短了出片时间。同时,FC 资源利用率高,算力消耗低,相比传统方案成本降低 70% 以上。
让消息流动起来,FC 实时数据处理能力的再增强。FC 和全系消息产品 Kafka、RocketMQ、EventBridge 进行了官方集成,内置了上百个触发源,在控制台就可以一键对消息进行数据清洗、富化和转储,让消息流动起来发挥更大的价值。FC 的自适应弹性可以有效应对海量消息的波峰波谷,达到亿级每分钟的事件吞吐。
以 GPU 为代表的硬件算力已经在逐渐取代传统 CPU,成为 AI 推理、多媒体处理的算力提供者。经过我们测试,这些场景使用 GPU 可以达到传统 CPU 的数十倍甚至百倍以上的性能提升。然而,GPU 价格不菲,而且使用率普遍低于 30%,很多企业对 GPU 要么“用不起”,要么“用不来”。针对这个痛点,FC 推出 Serverless GPU,支持最小 1/16 卡的多规格 GPU 算力分割,同时提供准实时冷启动,秒级弹性+秒级计费,让 GPU 算力更平价,普惠中小企业。
Serverless 应用引擎:新负载、新场景、新工具
作为业内首款面向应用的Serverless PaaS 产品,Serverless 应用引擎 SAE 以低门槛微服务+容器化转型、高弹性免运维等特征成为企业上云和用云的首选。让流行的开源架构工作负载可以直接 Serverless 化,这是 SAE 一直以来的产品理念。目前 SAE 上已经有数万家企业的 Spring Cloud、Dubbo 微服务应用,没动一行代码即可完成 Serverless 化。
延续同样的理念,今年 SAE 又新增了 Job 类型工作负载,开源 K8s Cronjob、XXL-JOB、Apache ElasticJob 都可以无缝托管。SAE 可以在任务完成后能快速释放计算资源,成本更低,并且具备失败重试、并行、分片以及内置可观测等额外能力增强。
此外,SAE 也拓新了对多语言微服务的支持,无论是 PHP、Python 还是 Go,都可以基于 SAE 进行服务注册发现,最常见的多语言 gRPC 协议也得到了支持。依托业界领先的 eBPF 技术,SAE 可以提供无侵入的多语言应用可观测性,为容器实例、应用、服务等提供通用指标洞察和调用拓扑视图。
工具链事关企业的研发运维流程,以及开发者习惯的延续。今年SAE 进一步丰富了对企业常用工具链的支持:通过 Serverless Devs 融入命令行工具和脚本体系,通过 Terraform 融入“配置即代码”(IaC)体系,通过 Jenkins 插件融入持续集成(CI)的体系。
全面降价:让Serverless成为普惠大众的云上水电煤
函数计算迎来全面降价,vCPU 单价降幅 11%,其他的各个独立计费项最高降幅达 37.5%。
函数计算FC 计费粒度精细,按执行环境的内存和执行时间计费,计费粒度可达毫秒级,用户可以只为请求产生的资源消耗买单,计费规则最低可达到 1 毫秒粒度的计费时长,0.05 核vCPU、1/16 GPU 卡。函数规格 vCPU、内存、磁盘等各个计费项的绑定彻底解绑,让用户可以按需自由选配,贴合自己的应用运行时开销选取规格,进一步降低资源闲置比例。预留模式作为函数计算 FC 消除冷启动的终极大招,新增了闲置计费仅 1/10 价格更加让业务能免除高成本的后顾之忧。
据团队测算,一个集群的资源如果日均利用率在 30% 以下,或者有明显的闲置浪费,就适合使用函数计算 FC。采用函数计算 FC 之后资源利用率能够提高到 60% 甚至 90% 以上,综合成本降低 15% 到 70%。
下面以一些企业使用场景为例:
视频直播是恋爱社交 APP 伊对 最为重要的业务,峰谷特征明显。为了保障业务平稳,伊对需要准备大量机器去处理任务,在流量低峰期机器资源会大量空闲浪费,而某些节假日带来的高峰却会超过集群的最大承受能力,任务排队不得不对部分业务做降级处理。在使用函数计算 FC 之后,峰谷期资源问题得到彻底解决,资源成本开支减少了 20%。
互联网营销推广服务商 鱼传科技,业务主要基于支付宝小程序进行承载,具有访问量波动大、流量突发预测难等特点,尤其是活动期间访问突增对小程序后端服务的稳定和弹性也是一个很大的考验。为了应对无法预测的突发流量,鱼传科技进行全系统 Serverless 化,一天只用 200 元即可支撑日活超过 50 万人的小程序,能承受突发上万 QPS。
全面降价让 Serverless 成为普及大众的水电煤,随用随取,按量计费,将会成为创新企业上云的首选。
千行百业背后的Serverless力量
也许对很多人来说,Serverless 仍然是一个新概念,但当你发出一条微博,当你点开一首歌,当你进入一个直播间,当你在超市买单的时候,也许就有 Serverless 的力量在默默支持。
Serverless 覆盖的技术场景正在不断变广。目前 Serverless 在微服务、在线应用、事件驱动、任务处理等众多场景已经被验证并且广泛应用 。如果你业务的流量不可预测,或者有潮汐波动,或者有明显资源闲置,资源利用率低于 30% 以下,Serverless 一定会成为适合你降本增效的利器。