从上云到用云,Serverless 引领下一代应用架构(3)

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 从上云到用云,Serverless 引领下一代应用架构

而在用好云的阶段,云的使命就是要消除这种复杂度,带来大规模复杂软件开发质的突破,助力企业打破技术鸿沟。

image.png

每一个 Serverless 服务都是厂商领域能力的输出,通过服务 API 透出功能,承诺可靠性、弹性、性能等能力指标,因此他们是高质量的应用构建块(building blocks)


例如阿里云对象存储(OSS)服务,承载着 EB 级的海量数据,承诺11个9的数据可靠性,99.95%的可用性,以及多样化的数据分级存储和处理能力。


阿里云消息队列 RocketMQ历经双十一万亿级消息洪峰的锤炼,承诺10个9的数据可靠性,99.95%的可用性。这些云服务和企业基于开源软件自建的系统相比,在弹性、可靠性等方面有明显的优势。

image.png

不只是云厂商,大量的开源商业产品也采用了 Serverless 模式,包括 Confluent Cloud、MongoDB Atlas、Snowflake、Databricks 等。


随着厂商在存储、计算、中间件、大数据等领域推出越来越多的 Serverless 服务,并且这些服务通过事件驱动等方式紧密集成,云逐渐变成了应用构建和运行的超级平台,应用的研发模式也升级为组装式研发。

image.png

Serverless 让云成为应用构建的最佳平台


随着阿里云提供越来越全面的Serverless产品以后,很多云产品都变成模块化、API化、服务化,它可以进行组装,通过拖拉拽的方式就能够构建应用。


在Serverless架构下,研发方式升级为组装式研发,可以做到流程编排、事件驱动,甚至可以做成可视化,这就彻底颠覆了原有的软件研发方式,大幅提升研发效率,灵活应对业务挑战。根据权威机构调研统计,组装式研发相比传统模式,可为研发提效 50%以上。


从新兴的互联网创业公司,到传统企业构建大型软件,都可以使用Serverless架构和组装式研发。


以高德为例,高德的业务投放平台基于用户信息、画像信息、以及地理位置信息,在高德地图主图、导航行前行后等页面,以卡片、气泡等相关各种方式,透出了下游业务,并精准推荐给用户。投放业务和用户生活场景紧密相关,功能多变;推荐的下游业务品类快速增长,投放的业务策略多变;而且整个业务和用户出行紧密相关,有明显的峰谷属性。


随着业务的增长,投放平台原有的架构面临一些明显的痛点:

  1. 重企业端。卡片处理、导航规划、页面展示等逻辑都放在 Web 或者移动设备上,导致企业端发版缓慢、代码臃肿。
  2. 业务功能紧耦合,跟不上业务迭代要求。投放策略多变,每次发布影响面大。
  3. 负载有明显的峰谷,常驻实例,资源利用率低。

Serverless 架构能很好地解决上述痛点。首先为企业端瘦身,将端上的逻辑大量的移到 BFF 层(Backends for frontend)


由于 Serverless 计算零运维,只需要开发业务逻辑,完全由企业端人员发布,避免了团队协作问题。借助平台内置的应用平滑发布的能力,企业端的人员可以快速迭代,安心发布。

image.png

投放策略等后端服务也解耦为函数的形式,包括规则过滤函数、疲劳提醒函数、内容组装函数等等。这些函数作为独立的后端服务开发迭代,每次发布影响面不大,控制了爆炸半径。


通过仔细梳理热点逻辑以及上下游依赖,实现了全链路弹性以及接口级流控能力。弹性伸缩不但快速,而且安全,资源用量和负载峰谷匹配,效率高。


目前基于 Serverless 架构的高德业务投放平台已经承载了 100% 的生产流量,业务规模达到百万 QPS,功能交付从原来的数天降低到数小时,整体成本降低了 38%。



Serverless 奇点已来


云计算的探索者认为,云计算的下一个十年默认的计算范式就是Serverless


2021年DataDog发布Serverless研究报告,数据表明,从云原生初创公司到大型企业都在关注Serverless,Serverless生态已经超越了FaaS,包含数十种服务,可以帮助开发人员构建更快、更动态的应用程序。


从2012年提出 Serverless 到今年2022年刚好十年,Serverless已经成为今天IT开发的主流,也是云服务器商提供能力的主流。


我们相信,Serverless 奇点己来,所谓奇点,是由平稳发展转向高速发展的转折点,预示着行业落地将开始全面爆发。而我们也将成为见证这个变化的一代技术人。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1天前
|
Cloud Native Go API
Go语言在微服务架构中的创新应用与实践
本文深入探讨了Go语言在构建高效、可扩展的微服务架构中的应用。Go语言以其轻量级协程(goroutine)和强大的并发处理能力,成为微服务开发的首选语言之一。通过实际案例分析,本文展示了如何利用Go语言的特性优化微服务的设计与实现,提高系统的响应速度和稳定性。文章还讨论了Go语言在微服务生态中的角色,以及面临的挑战和未来发展趋势。
|
3天前
|
存储 监控 前端开发
掌握微前端架构:构建未来前端应用的基石
【10月更文挑战第12天】随着前端技术的发展,传统的单体应用架构已无法满足现代应用的需求。微前端架构通过将大型应用拆分为独立的小模块,提供了更高的灵活性、可维护性和快速迭代能力。本文介绍了微前端架构的概念、核心优势及实施步骤,并探讨了其在复杂应用中的应用及实战技巧。
|
2天前
|
运维 Go 开发者
Go语言在微服务架构中的应用与优势
本文深入探讨了Go语言在构建微服务架构中的独特优势和实际应用。通过分析Go语言的核心特性,如简洁的语法、高效的并发处理能力以及强大的标准库支持,我们揭示了为何Go成为开发高性能微服务的首选语言。文章还详细介绍了Go语言在微服务架构中的几个关键应用场景,包括服务间通信、容器化部署和自动化运维等,旨在为读者提供实用的技术指导和启发。
|
2天前
|
运维 监控 Serverless
利用Serverless架构优化成本和可伸缩性
【10月更文挑战第13天】Serverless架构让开发者无需管理服务器即可构建和运行应用,实现成本优化与自动扩展。本文介绍其工作原理、核心优势及实施步骤,探讨在Web应用后端、数据处理等领域的应用,并分享实战技巧。
|
2天前
|
Kubernetes 监控 持续交付
深入理解微服务架构及其在现代应用开发中的应用
【10月更文挑战第15天】深入理解微服务架构及其在现代应用开发中的应用
9 0
|
4天前
|
存储 前端开发 数据库
一文搞懂SaaS应用架构:应用服务、应用结构、应用交互设计
【10月更文挑战第21天】本文介绍了 SaaS 应用服务的多租户服务、安全服务和更新与维护服务,以及 SaaS 应用的前后端结构和交互设计。多租户服务涉及数据隔离和资源分配;安全服务包括身份认证与授权及数据安全;更新与维护服务涵盖版本管理和技术支持。前端结构关注用户界面设计和前端技术选型;后端结构则涉及微服务架构和数据库管理。交互设计强调租户与应用的交互和应用内部模块间的交互。
|
12天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
45 2
|
16天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
48 2
|
1月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
1月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1