从上云到用云,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 架构模式
目录
相关文章
|
17天前
|
运维 持续交付 开发工具
深入浅出:GitOps在微服务架构中的应用
【10月更文挑战第26天】本文深入探讨了GitOps在微服务架构中的应用,介绍了其核心理念、自动化部署流程和增强的可观测性。通过实例展示了GitOps如何简化服务部署、配置管理和故障恢复,并推荐了一些实用工具和开发技巧。
|
8天前
|
监控 Go API
Go语言在微服务架构中的应用实践
在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
|
8天前
|
网络协议 数据挖掘 5G
适用于金融和交易应用的低延迟网络:技术、架构与应用
适用于金融和交易应用的低延迟网络:技术、架构与应用
36 5
|
9天前
|
Go 数据处理 API
Go语言在微服务架构中的应用与优势
本文摘要采用问答形式,以期提供更直接的信息获取方式。 Q1: 为什么选择Go语言进行微服务开发? A1: Go语言的并发模型、简洁的语法和高效的编译速度使其成为微服务架构的理想选择。 Q2: Go语言在微服务架构中有哪些优势? A2: 主要优势包括高性能、高并发处理能力、简洁的代码和强大的标准库。 Q3: 文章将如何展示Go语言在微服务中的应用? A3: 通过对比其他语言和展示Go语言在实际项目中的应用案例,来说明其在微服务架构中的优势。
|
7天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
7天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
|
15天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
52 1
|
17天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
17天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
54 1