Serverless架构基础详解(11)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 如今Kubernetes一统江湖,大家都默默的建立起了基于Kubernetes的容器云平台,于是围绕着Kubernetes的云原生生态蓬勃发展。由于没有统一的平台,针对Serverless目前还存在的一些局限,大家做的优化和改进也是各自为战,难以落地生根。

1.1.11 现状与局限

Serverless现状与局限

作为Faas鼻祖的AWS Lambda其实早就已经推出了,但最近的几年内其他云厂商才慢慢跟上推出函数计算服务。 相信国内的很多公司也在尝试Faas或者Serverless架构,不过可以猜测出大家或多或少都心存疑虑或者有不放心之感,不敢真正的放上自己的线上服务。
目前看来,虽然Serverless市面上都吹的很火,但实际落地的寥寥可数,星星点点的一些火花,还是难以形成燎原之势。Serverless这片土地十分辽阔,但是各大云厂商却都是在自己和自己过家家,至于其他人怎么玩的,就不怎么关心了。
所以,目前一个很大的问题就是我们在一家函数计算平台跑了自己的服务之后,基本上就和这个平台绑定了,特别是如果你还用到Eventing,由于都是基于平台内部特定的事件触发机制,迁移成本还是比较高的。
终极原因,目前还没有一个强势而大一统的框架和平台,可以让大家甘愿臣服。想当年,容器编排领域兴起,Kubernetes和Mesos大战,两边各自有人站队,云厂商也各自押宝,如今Kubernetes一统江湖,大家都默默的建立起了基于Kubernetes的容器云平台,于是围绕着Kubernetes的云原生生态蓬勃发展。由于没有统一的平台,针对Serverless目前还存在的一些局限,大家做的优化和改进也是各自为战,难以落地生根。

实现:Knative

Knative是谷歌开源的Serverless架构方案,旨在提供一套简单易用的Serverless平台,把Serverless 标准化。Knative不局限于Faas,而是期望能够运行所有的无状态工作负载。像其他绝大部分的Faas或者Serverless平台一样,Knative也是基于Kubernetes,不过,Knative还基于Istio或者Gloo网关等实现流量的分发和管理。

image.png

还在不久之前,Knative分为三个组件:

  • Build
  • Serving
  • Eventing

Build负责将代码转换成我们需要的容器镜像,Serving则是提供Serverless的运行方式,Eventing则致力于提供标准化的事件触发机制。
不过,现在Build模块已经被弃用,被由Build的设计思路而发起的Tekton项目替换(参考:《Kubernetes原生CI/CD工具:Tekton探秘与上手实践》)。当然你也可以使用其他合适的CI/CD工具替代。
Serving模块主要做的工作本质上就两个:

  • 流量入口的自动创建和管理

以基于istio为例,Knative自动创建istio的ingressgateway,服务的service等,将流量导入新部署的服务,而不需要手动的创建各种service,ingress暴露服务和流量入口。同时,将不同版本对应不同的deployment,可以方便的实现蓝绿、灰度等发布部署方式。如下图所示:

image.png

  • 冷启动和自动扩缩容

Knative有自身基于流量请求算法的metric自动扩缩容(KPA)的方式,也支持Kubernetes原生的HPA实现自动扩缩容。同时,在服务缩容为0之后,Serving会将服务流量路由到冷启动的组件,缓存请求,然后扩容服务,再将流量导入启动后的服务副本。
Knative Eventing则联合 CNCF Serverless WG制定一套事件格式规范并推广:Knative Eventing与CNCF Serverless WG制定的事件格式规范只需要各个云厂商都按照这个规范,我们的Serverless服务就可以进行跨平台的事件触发,也不会被特定的云厂商绑定。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
23天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
23天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
64 1
|
26天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
27天前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
58 1
|
27天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
30 1
|
1月前
|
机器学习/深度学习 监控 Serverless
无服务器架构(Serverless)
无服务器架构(Serverless)
|
1月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
1月前
|
运维 监控 Serverless
利用Serverless架构优化成本和可伸缩性
【10月更文挑战第13天】Serverless架构让开发者无需管理服务器即可构建和运行应用,实现成本优化与自动扩展。本文介绍其工作原理、核心优势及实施步骤,探讨在Web应用后端、数据处理等领域的应用,并分享实战技巧。
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
59 3

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    无影云桌面