看华为云Serverless 4大特性如何让软件架构更丝滑
摘要:Serverless可以看作是一种云计算服务模型,它允许开发者在不需要管理服务器的情况下通过事件驱动的方式运行应用代码。
软件架构的发展从原先的单体架构到近十几年的微服务架构,再到现在新兴的Serverless架构。单体架构通常把应用的逻辑和功能耦合在一起,部署在BMS裸金属机或VM上,耦合模式使得一些通用功能或通用逻辑无法灵活复用,经常出现重复造轮子的现象,架构整体上是相对封闭的。
微服务时代对应用做了拆分,组件服务化,诞生了一系列优秀的设计原则,如接口标准化、CS/CD自动化,使得应用初步具备了弹性和自动容错的能力。
在Serverless的框架下,应用的粒度更细,例如以函数为粒度进行管理和开发迭代,应用通过事件驱动的方式触发运行。
Serverless可以看作是一种云计算服务模型,它允许开发者在不需要管理服务器的情况下通过事件驱动的方式运行应用代码,主要解决资源托管、调度、运维管理等一系列平台型问题,可以看作是DevOps的进一步延伸。

从传统微服务向Serverless演进的过程中,资源管理的边界逐步上移。在微服务时代,虚机/容器时代,开发者发布应用,需要管理虚拟化层或更向上的运行时细节;而从IaaS到Serverless,抽象度越来越高,底层细节的屏蔽度也越来越高,对于开发者而言,云的易用性性也在增强,门槛在降低。
Serverless将是下一代的云计算范式,得益于它在按因付费、自动弹性、免运维等方面的显著优势。通用全场景的Serverless能够帮助企业解决更广泛的计算和运行交付的问题。实际上,Serverless也在过去几年的发展中,逐步增长成为下一代云上交付、运行与交付标准的框架。

Serverless平台的应用托管流程
Serverless的特点是按用计费、按需计费,如果终端没有流量,平台会自动回收应用资源,不需要为空闲时间付费,需要再次使用时,通过重新启动的方式再次加载。
冷启动或进一步延伸到高并发下的弹性问题,用户侧应用托管到Serverless平台上,如果频繁经历冷启动,应用的QoS下降,最直观体现在终端用户页面的Web 应用响应很慢,有超时的风险,导致用户侧体验下降。对云平台侧,冷启动和弹性关系着资源利用率,例如多租户进行混合部署时,预热效率的提升问题,以及平台多用户多应用流量并发上涨时的弹性问题。因此,冷启动和弹性问题是Serverless领域广泛关注的技术重点。
为了解决上述问题,华为云Serverless做了一系列的探索。

链路加速:通过高性能解压缩转换与共享内存加速技术,能够把性能提升2-11倍;通过公共依赖包分离、预解压与动态按需 link 技术,加速应用冷启动 5- 10 倍。
池化预热、弹性调度:通过资源池化预热、分层预加载与弹性水位控制,实现毫秒级 (< 10 ms) 弹性。
智能预热:以智能、分层资源预热实现负载感知,自适应池化水位控制;采用负载、资源压力预测框架,实现良好扩展性、数据驱动、以及工程师经验的规则注入。
预留实例智能推荐策略:通过建模的方式推算给定时间段大概需要的实例数量,提供高性能、平衡、低成本三种预留实例配置策略。
案例一:Mock 服务接入 Serverless

客户Mock服务可以模拟接口的响应,常用于服务打桩,避免由于依赖服务的不稳定,造成自身开发和测试进度的阻塞。在华为云Serverless 的帮助下,从手动扩缩容变成毫秒级的自动弹性,提升开发、上线效率 100%,资源成本降低 50%
案例二:视频业务基于函数实现 BFF (Backends For Frontends) 模式

使用函数BFF架构后,华为视频登录速度提升0.6~1s,相比原有方案快30%~40%。
案例三:基于 Serverless 构建的视频转码服务

基于Serverless构建的视频转码服务,函数编排的能力,由多个函数协同提供完整的功能,比如一个视频处理业务下,有多个视频处理的算子,能够自动弹性伸缩。完整改造后,整个成本降低了80%。

未来,边缘、中间件、托管、大数据将全面Serverless化,最底层是Serverless的BaaS的资源、资源池的自动化管理和快速弹性的能力。在底座之上,是跟业务相关的函数计算、容器和托管,三种共存。Serverless容器将下沉到Serverless底座,只需要对底座资源进行管理。在边缘端,传统的容器或是虚机可能无法支撑,采用Serverless + WASM是更可行的方案。
看华为云Serverless 4大特性如何让软件架构更丝滑的更多相关文章
- “3+3”看华为云FusionInsight如何引领“数据新基建”持续发展
摘要:一个统一的现代化的数据基建需要三类架构来实践三种不同的应用场景. 近期,美国知名科技企业风投机构A16Z总结出一套通用的技术架构服务,分为以下三种场景. 一.数据基建架构全景 数据流向显示,左侧 ...
- 解密华为云FusionInsight MRS新特性:一架构三湖
摘要:华为云安全网关产品总监郭冕在"华为云TechWave云原生2.0专题日"上发表<华为云FusionInsight MRS,一个架构实现三种数据湖>的主题演讲,分享 ...
- AI本质就是“暴力计算”?看华为云如何应对算力挑战
随着AI人工智能技术的飞速发展,相关的AI应用场景已经拓宽至各行各业.你可能想象不到的是,现在大家手上的智能手机的运算能力,甚至比美国航空航天局1969年登月计划中最先进计算机还高出几百上千万倍乃至更 ...
- 当MySQL执行XA事务时遭遇崩溃,且看华为云如何保障数据一致性
摘要:当前MySQL所有版本不支持分布式事务的崩溃恢复安全,这严重影响了分布式事务的高可用保障. 华为云数据库内核高级技术专家,拥有十多年MySQL内核研发经验,目前在华为云数据库团队研发华为云数据库 ...
- 华为云推UGO:一手抓结构迁移,一手抓SQL转换
摘要:UGO,一款专注于异构数据库对象迁移和应用迁移的专业化工具. 近日,华为云推出数据库和应用迁移 UGO,这是一款专注于异构数据库对象迁移和应用迁移的专业化工具,通过预迁移评估.结构迁移两大核心功 ...
- 华为云WeLink 颠覆你对智能办公的想象
导读 华为云发现,与企业数字化关系最紧密的就是办公数字化,所以将WeLink放到华为云上可以作为一个抓手让企业更直观地感受到云端数字化,而且华为云的合作伙伴,也可以与WeLink建立联接,从而进整个企 ...
- 《一张图看懂华为云BigData Pro鲲鹏大数据解决方案》
8月27日,华为云重磅发布了业界首个鲲鹏大数据解决方案--BigData Pro.该方案采用基于公有云的存储与计算分离架构,以可无限弹性扩容的鲲鹏算力作为计算资源,以支持原生多协议的OBS对象存储服务 ...
- 华为云CodeArts Artifact,5大特性守护制品质量与安全
摘要:2023年2月23日,华为云CodeArts Artifact制品仓库服务正式上线,目标进一步赋能企业伙伴与开发者,实现软件作业中可信制品生产与应用活动快速落地,提高软件交付效率与质量. 本文分 ...
- 【智简联接,万物互联】华为云·云享专家董昕:Serverless和微服务下, IoT的变革蓄势待发
摘要:Serverless.微服务,这些新技术和IoT有什么关系?纵观IoT行业的发展,云服务又扮演了什么角色? IoT并不是一个新名词.新技术,很长一段时间,它甚至给人一种"下工地&quo ...
- 华为云对Kubernetes在Serverless Container产品落地中的实践经验
华为云容器实例服务,它基于 Kubernetes 打造,对最终用户直接提供 K8S 的 API.正如前面所说,它最大的优点是用户可以围绕 K8S 直接定义运行应用. 这里值得一提是,我们采用了全物理机 ...
随机推荐
- 23集训 Day4 数论
快速幂 定义 快速幂,是一个在 \(\Theta(\log n)\) 的时间内计算 \(a^n\) 的小技巧,而暴力的计算需要 \(\Theta(n)\) 的时间. 解释 \[\because a^{ ...
- 20.2 OpenSSL 非对称RSA加解密算法
RSA算法是一种非对称加密算法,由三位数学家Rivest.Shamir和Adleman共同发明,以他们三人的名字首字母命名.RSA算法的安全性基于大数分解问题,即对于一个非常大的合数,将其分解为两个质 ...
- 2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器
2D物理引擎 Box2D for javascript Games 第七章 子弹和感应器 你知道 Box2D 可以在每一个时间步中管理刚体间的碰撞并决算它们. 总之,在愤怒的小鸟中制作攻城机器期间,发 ...
- 如何对BIOS/UEFI 更新
确定当前BIOS/UEFI版本: 在启动计算机时,按下相应的键(通常是DEL.F2.或F10,具体取决于制造商),进入BIOS/UEFI设置.在系统信息或主页部分,你应该能够找到当前的BIOS/UEF ...
- Redis系列之常见数据类型应用场景
目录 String 简单介绍 常见命令 应用场景 Hash 简单介绍 常见命令 应用场景 List 简单介绍 常见命令 应用场景 Set 简单介绍 常见命令 应用场景 Sorted Set(Zset) ...
- (Good topic)二分法:x的平方根
计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4输出: 2 示例 2: 输入: 8输出: 2说明: 8 的平方 ...
- 手撕Vuex-安装模块方法
前言 经过上一篇文章的介绍,我们实现了将模块安装到 store 中,那么本章我们就来介绍一下怎么安装模块当中的方法也就是 actions.mutations.getters. 所以本次文章的目标就是将 ...
- 用友vs金蝶产品分析(云星空与YonSuite)
产品定位 用友与金蝶二者面对的客户群体是相同的:都是为成长型企业提供一体化服务,由于金蝶云星空发展较早,在部分产品功能上具备一定的先发优势:在产品的架构上,由于YS采用目前最先进的云原生和微服务架构, ...
- Kotlin协程系列(三)
1.前言 前面两节,我们运用了kotlin提供的简单协程去实现了一套更易用的复合协程,这些基本上是以官方协程框架为范本进行设计和实现的.虽然我们还没有直接接触kotlin官方协程框架,但对它的绝大多数 ...
- 如何在Web应用中添加一个JavaScript Excel查看器
前言 在现代的Web应用开发中,Excel文件的处理和展示是一项常见的需求.为了提供更好的用户体验和功能,经常需要在Web应用中添加一个JavaScript Excel查看器,小编今天将为大家展示如何 ...