应用 Serverless 化,让业务开发心无旁骛
我们希望让用户做得更少而收获更多,通过Serverless化,用云就像用电一样简单。”张建锋表示,Serverless 让云计算从一种资源真正变成一种能力,未来云将全面 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 计算服务的云厂商。
2017年推出的函数计算 FC 是一款 FaaS 产品,这是一种以事件驱动为核心的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。
2018年创新推出的 Serverless 应用引擎 SAE 是业内首款面向应用的 Serverless PaaS 平台,屏蔽底层 IaaS 和 Kubernetes 的复杂度,提供了零代码改造迁移、成本更优、效率更高的应用托管方案,帮用户实现单体 Web 应用、微服务应用以及定时任务的 Serverless 化。
2018年领先业界推出 Serverless 容器服务 ASK,基于弹性容器实例 ECI(Elastic Container Instance),可以实现 1min 扩容 2000 个 Pod,降低了 Kubernetes 使用门槛,让用户更专注于应用程序,而不是管理底层基础设施。
2020年,阿里云开源的 Serverless Devs 成为业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台。今年,Serverless Devs 全程深度参与了信通院《基于无服务器架构的工具链能力要求》的标准制定,并在 9 月正式进入 CNCF Sandbox,成为业内首个入选的 Serverless 工具项目。
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 与阿里云全系消息产品如 RocketMQ、Kafka、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 类型工作负载(点击了解:Serverless Job | 传统任务新变革),开源 K8s Cronjob、XXL-JOB、Apache ElasticJob 都可以无缝托管。SAE 可以在任务完成后能快速释放计算资源,成本更低,并且具备失败重试、并行、分片以及内置可观测等额外能力增强。
此外,SAE 也拓新了对多语言微服务的支持(点击了解:Serverless 时代下微服务应用全托管解决方案),无论是 PHP、Python 还是 Go,都可以基于 SAE 进行服务注册发现,最常见的多语言 gRPC 协议也得到了支持。依托业界领先的 eBPF 技术,SAE 可以提供无侵入的多语言应用可观测性,为容器实例、应用、服务等提供通用指标洞察和调用拓扑视图。
工具链事关企业的研发运维流程,以及开发者习惯的延续。今年SAE 进一步丰富了对企业常用工具链的支持(点击了解:App Deploy as Code! 像处理代码一样管理自己的应用):通过 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。
函数计算 FC 全面降价让 Serverless 成为普及大众的水电煤,随用随取,按量计费,将会成为创新企业上云的首选。
千行百业背后的Serverless力量
也许对很多人来说,Serverless 仍然是一个新概念,但当你发出一条微博,当你点开一首歌,当你进入一个直播间,当你在超市买单的时候,也许就有 Serverless 的力量在默默支持。
Serverless 覆盖的技术场景正在不断变广。目前 Serverless 在微服务、在线应用、事件驱动、任务处理等众多场景已经被验证并且广泛应用 。如果你业务的流量不可预测,或者有潮汐波动,或者有明显资源闲置,资源利用率低于 30% 以下,Serverless 一定会成为适合你降本增效的利器。
<关注 Serverless 公众号,后台回复 手册 免费获取阿里云云原生 Serverless 产品解决方案手册>
更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。
应用 Serverless 化,让业务开发心无旁骛的更多相关文章
- 4 个场景揭秘,如何低成本让容器化应用 Serverless 化?
作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 ( ...
- 六位一体Serverless化应用,帮你摆脱服务器的烦恼
随着互联网技术的飞速发展,越来越多的应用横空出世,是以不可避免带来了大量的服务器需求.大部分的开发者都选择购买或者租用服务器,然而这样也带来了诸多的烦恼. 1.硬件成本高昂 购买服务器费用昂贵,除 ...
- 云计算+SaaS+业务开发平台=JSAAS云平台
我关注Google的代码托管.Open API,我也关注Oracle会把MYSQL怎么样云数据库化,我也虚拟化技术多实例化独立的数据库,我也关注facebook的平台插件应用架构,我也关注salesf ...
- Java避坑宝典《Java业务开发常见错误100例》上线了
写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所 ...
- python 全栈开发,Day117(popup,Model类的继承,crm业务开发)
昨日内容回顾 第一部分:权限相关 1. 权限基本流程 用户登录成功后获取权限信息,将[权限和菜单]信息写入到session. 以后用户在来访问,在中间件中进行权限校验. 为了提升用户体验友好度,在后台 ...
- 百度王一男: DevOps 的前提是拆掉业务-开发-测试-运维中间的三面墙
这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变. 由数人云.优维科技.中生代社区联合发起的 系列 Meetup < DevOps&SRE 超越传统运维之道&g ...
- 一个让业务开发效率提高10倍的golang库
一个让业务开发效率提高10倍的golang库 此文除了是标题党,没有什么其他问题. 这篇文章推荐一个库,https://github.com/jianfengye/collection. 这个库是我在 ...
- 使用golang对海康sdk进行业务开发
目录 准备工作 开发环境信息 改写HCNetSDK.h头文件 开发过程 基本数据类型转换 业务开发 参考 项目最近需要改造升级:操作海康摄像头(包括登录,拍照,录像)等基本功能.经过一段时间研究后,发 ...
- 设计模式之美学习(九):业务开发常用的基于贫血模型的MVC架构违背OOP吗?
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了 ...
- 使用async进行结构化并发程序开发
异步风格的函数: 继续来学习async相关的东东,对于它其实可以用到函数上,也就是用它可以定义一个异步风格的函数,然后在该函数中再来调用普通的函数,下面来瞅一下: 其实“GlobalScope.asy ...
随机推荐
- MVC控制器传DataTable
MVC中,控制器return Json(DataTable)会出现错误: 序列化类型为"System.Reflection.RuntimeModule"的对象时检测到循环引用. 解 ...
- SQL动态化多个分组查询
现有以下三张表,分别为:diqu(地区表),zhiye(职业表),info(信息表) 最基本的分组查询 1 select dqID,jbID,COUNT(1) from info group by d ...
- [ABC262B] Triangle (Easier)
Problem Statement You are given a simple undirected graph with $N$ vertices and $M$ edges. The verti ...
- C++ Qt开发:标准Dialog对话框组件
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍标准对话框QI ...
- lca(数链剖分)板子
#include<bits/stdc++.h> #define endl '\n' #define int long long using namespace std; const int ...
- adb shell getprop 获取系统属性
adb shell getprop 以华为p30为例: [gsm.default.apn]: [gsm.defaultpdpcontext.active]: true [gsm.dualcards.s ...
- ASR项目实战-交付团队的分工
对于通常的软件项目,参与角色,比如可以有用户,消费者,产品团队,研发团队(研发团队包括开发和测试),运营团队,运维团队,管理团队. 通常认为,用户,负责购买服务的群体,而消费者,负责使用业务的群体.这 ...
- 设计模式之设计模式概述-shejimoshigaishu
title: 设计模式之设计模式概述 date: 2022-12-04 00:21:18.469 updated: 2022-12-11 23:03:45.617 url: https://www.y ...
- IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等
IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等 前面介绍到了用packr打包javafx17为exe多平台分发,比较复杂,这篇则介绍用idea直接打包exe,比较简单,但 ...
- Android 事件分发介绍
目录 一.目的 二.环境 三.相关概念 3.1 事件分发 四.详细设计 4.1应用布局 4.1.1 应用布局结构 4.1.2 LayoutInspector 4.2 关键View&方法 4.2 ...