超越边界:FaaS 的应用实践和未来展望

什么是功能即服务(FaaS)? 功能即服务(或称为 FaaS)是一种云计算服务,它允许开发人员以功能的形式来构建、计算、运行和管理这些应用包,无需维护自己的基础架构。 阅读详情

9826bf63295701451324bb248daeabc3.gif

邢奇(薯片)

蚂蚁集团技术专家

云原生和 Service Mesh 领域专家

长期从事服务治理和服务发现等相关领域的研究和实践,在 RPC 框架(Dubbo、Spring Cloud 和 SOFARPC 等)方面有源码级的研究和贡献;在 Service Mesh、云原生、容器和 K8s 等方面有深入的研究和实践经验。

参与了多个开源项目的贡献,包括 MOSN、SOFA、Dubbo 和 Nacos 等。目前担任蚂蚁云开发技术负责人,负责支付宝云开发产品的研发和实践。

本文  5689  字,预计阅读  16  分钟

概述

什么是 FaaS ?

在 ChatGPT 里面输入 FaaS 关键字,得到的结果是:FaaS 是一种云计算服务模型。它允许开发者编写和部署函数,而不需要管理底层基础设施的运行,即 Function as a Service。

5f0a74cd8a2f7440aaa1f7a08c68e376.png

同时通过 ChatGPT 可以生成对应的函数代码——

3c9f6a06fd210f090fe2975c537564b2.jpeg

FaaS 的崛起

FaaS 的理念和函数研发模式,为传统的应用模式解决了许多问题,有着超前的优势。

传统应用模式的困境

在研发态,不管是单体应用还是微服务应用,亦或是 Mesh 架构或者应用运行时,在研发态,开发者除了要关注业务逻辑本身之外,经常会被中间件所打扰,需要配合去做 SDK 升级改造,性能或者功能优化等。同时在使用云产品或者云服务的时候,需要被迫去感知多云的差异。

在运维态,开发者面临着更重的运维压力。当一个应用上线,开发者需要对这个业务的未来发展进行一个复杂且不确定的容量评估,再去为这个容量去申请对应的资源,最后经过一个复杂的上线流程进行发布。在发布结束之后,开发者还得时刻关注线上流量的变化,去进行不断的扩容和缩容的调整。

总而言之,整个中间件和基础设施对开发者的打扰是非常严重的:

  • 应用研发模式的代码耦合严重,复杂度高;

  • 运维流程繁琐,效率低;

  • 容量评估一般很难符合真实情况,线上的资源利用率一般都较低,存在着浪费。

于是 FaaS 函数的研发模式应运而生。

可以很直观地看到,在传统应用和微服务应用的改造和优化的基础之上,FaaS 希望做得更进一步,更面向未来。以函数为编程对象,用户无需关注应用、机器等数据和基础设施信息。

通过这样的改变,大大提升研发效能,做到快速开发;并且提高运维效率,提供一站式免运维的 Serverless 平台;最后,函数会随着流量进行创建和销毁,最终降低成本和资源的消耗。

1b0efd640cbb9a868f792d1c743a534b.png

FaaS 使用场景

尽管 FaaS 具有许多优势,但并非所有场景都适合采用函数编程模式。下面介绍一些 FaaS 适用的普遍场景:

1、BFF 的场景。即一些胶水代码(对接多个接口、进行数据的组装和适配等)。胶水代码的逻辑相对简单,但同时需求变化快、生命周期短。对应的应用场景如运营/营销活动等。活动结束之后,就不再有流量进入,也没有必要再进行代码和机器的维护。

2、事件驱动的场景。例如音视频转码,用户上传文件触发任务,或者通过消息触发调度,或者业务上有明显的波峰和波峰的流量特征。

3、中台型业务。例如算法平台的算子。算子计算是非常独立的业务逻辑,但是参与的研发人数非常多,逻辑相对来说不可控,需要有更高的隔离能力。

FaaS 落地面临的技术问题

FaaS 技术产品的落地,可能会面临以下问题和挑战:

性能问题:

1、在传统的微服务架构下,开发者会为 RPC 调用性能进行了大量的优化;在 FaaS 的场景,也需要保证函数调用的性能。

2、弹性扩缩容的反应时效性。很多 FaaS 产品会采用弹性的模型去采集 CPU、QPS 并发等指标,再通过平台去计算指标,进而进行一些扩容和缩容的操作,时效性很低。

3、函数启动的速度。函数启动的速度在 FaaS 场景中至关重要,函数容器的创建和启动不仅仅是发布态的事情,而是一个数据面流量的依赖。

安全问题:

1、想要充分地利用计算资源以降低成本,其必要的前提就是有效地利用和隔离资源。

2、代码容器。用户的函数代码跑在容器里面,防止容器逃逸就是重中之重。

3、相较传统的编程模型而言,FaaS 的编程模型到底是如何屏蔽中间件以及云服务的干扰的呢?

蚂蚁 FaaS 技术架构

蚂蚁在 FaaS 实践之初设定了 3 个 FaaS 技术架构实践的基本原则。

原则 1:流量模型。蚂蚁的函数容器是随着流量进行创建和销毁的,而不是通过指标数据进行分析的弹性模型。

原则 2:函数冷启动。尽管有 Warm Pool 或者 cache 技术可作选择,但为了最大程度降低成本和利用资源,蚂蚁将目标定为 100ms 以内的极致的冷启动。

原则 3:安全隔离。用户的函数都跑在我们的容器里面,因此必须保证高水位的安全隔离特性。

其实,蚂蚁在实践 FaaS 技术架构时,有一个总的原则就是 one request per instance—极致的情况下,是创建一个函数容器去处理一个请求,类似编程模型创建一个线程去处理一个请求。在这里,创建函数容器就相当于创建一个线程,具有相似的快速、消耗低的优点,同时还有线程所不具备的安全隔离特性。

架构说明

组件介绍和功能说明:

函数网关:负责对函数请求进行转发和控制,并为每一个请求发起一次容器调度任务。

容器调度引擎:负责对容器进行调度,维护容器的整个生命周期,并且可以对函数容器进行并发度和复用等状态控制,同时也负责管理整个集群的函数 Pod 资源池。(函数 Pod 资源池是函数容器运行的一个环境,一个集群内会有 N 多个 Pod 资源池。)

函数运行时:函数运行时是 OCI 标准的实现,它负责快速地启动函数容器,并对容器的 runtime 进行有效的控制。

函数容器:函数容器可以理解为是函数运行时+runtime+用户代码的一个运行态,用户的函数代码就跑在函数容器中。

dd6acff15af8adc027516037145aeb77.png

数据面流量和调度流程说明:

从上图可以看到,所有请求都会通过函数网关进入到函数集群,函数网关会发起一次调度任务:通过容器调度引擎 Scheduler 为这一请求快速分配一个 Pod 资源。然后网关就会把这个流量转发给这个 Pod 资源里面的节点网关,节点网关随即缓存对应的请求,并且等待函数容器启动。同时函数节点调度器会并发地创建函数容器并且为容器挂载函数代码。函数容器在启动完成之后,就会立刻作为一个客户端去节点网关上拉取请求,然后进行业务逻辑处理。

从上述流程中可以看到,蚂蚁 FaaS 场景中的 Serverless 有了第二层含义——no server(没有 server)。函数容器永远是作为一个 client 去处理请求。这样的方式从设计上就避免了对基础设施环境的依赖,同时减少了需要去打开一些网络端口、处理网络连接的损耗,也不需要像微服务应用那样去做一些 checkhealth 和 readliness 探针等之后才能进行注册,然后再进行服务发现和调用。

性能优化实践

/  函数网关  /

FaaS 函数网关采用 Go 语言进行编写,网络编程模型是通过一个 go routine 处理一个请求的同步编程,比较符合开发者的习惯。同时由于 Go 语言良好的垃圾回收机制和 GPM 调度模型,网关也有了不错的性能。但是随着业务的不断增长,整个网关在高并发下会出现毛刺现象,P99 长尾也比较严重。

基于以上情况,新版的 FaaS 函数采用 Go 语言的 Gateway 运行在 C++ 语言的 Envoy 运行时上。我们知道,越靠近 Linux 原生语言的方式性能越好。同时 Envoy 采用高性能的同步非阻塞网络编程模型,性能更优。所有的函数请求通过 Envoy 的网络接口进入,并且进行网络处理,然后通过 cgo 调用 Go 语言网关实现的 API 接口,这样 Gateway 网关就能在七层去做一些 filter 和路由的逻辑。最后将请求转发给对应的节点网关。节点网关会进行请求的缓存,同时可以收敛网关连接数。同时函数容器在 running 之后会通过 UDS 和节点网关进行交互。

通过上述优化,可以看到整个函数网关的吞吐上升,并且在同样吞吐的情况下,网关的 CPU 能够下降 50% 以上,而请求耗时下降 30% 左右。

60d40fd8eeee32cd5fa7e3bd7547fcfc.png

/  容器调度引擎  /

HUSE 容器调度引擎,作为蚂蚁容器调度引擎的下一代架构,是专门面向高吞吐、低延迟、低成本、急速启动的 Serverleess 场景而设计的。目前应用在 FaaS 场景,以及一些 batch job、ODPS、大数据等场景。

为了能够实现高吞吐、低延迟等功能,HUSE 提供了如:多级自适应缓存、高速的协议通讯栈、智能包加载等性能优化,同时也支持高可用和自运维功能。

在性能上,可以看到 HUSE 容器调度引擎的性能数据,在全集群 1 万 QPS 吞吐压力下,整个 HUSE 的调度耗时 P50 基本上在 21ms 左右,P99 在 50ms 以内。相比于传统的容器调度引擎,有着数量级级别的提升。

64e47561abe36e71f4322ab557cb382d.png

全集群 10000 QPS 调度吞吐下,HUSE 可以实现平均 21ms 的容器调度延迟

/  100ms 函数容器冷启动  /

最后也最重要的一部分,函数容器冷启动性能优化实践。虽然在服务端也做了一些优化,但是服务端整理的耗时本身也不过几毫秒,可优化空间很小。因此整个函数请求耗时的大头还是在函数容器的冷启动上。而关于函数容器冷启动,有四个方面可以进行性能优化。

d737de57445364bd0fd47a70e192a604.png

第一,是从 Warm Pool 模式变成完全的冷启动。在并发的场景下,cache 技术本身也会占用 CPU 核数和计算资源,并不会有太多的性能提升。

第二,容器资源实时分配改为缓存资源。容器运行依赖一些资源,比如 IP,下载镜像,挂载 volume,设置 cgroup 和 namespace 等。这些资源分配都很慢,基本是分钟级别。而蚂蚁 FaaS 对容器所依赖的所有资源,只要不占用 CPU 和 Mem 的话,都会对其进行缓存,最终将资源分配的速度做到 0ms。

第三,传统的文件系统,创建、挂载以及访问都比较慢,蚂蚁 FaaS 采用 ROFS 的文件格式,即 Read Only File System 的方式去进行优化。

第四,是容器的启动方式。标准的 OCI 容器的启动方式是 create+ start,启动速度很慢,而蚂蚁 FaaS 采用了 checkpoint+restore 技术进行性能优化。

|蚂蚁函数运行时介绍

容器运行时分为 runC、runD 和 runSC 等不同类型。runC 的安全隔离太差,runD 的启动速度太慢并且资源消耗太高,都不适合 FaaS 的场景。NanoVisor 是蚂蚁 runSC 安全容器。它是 Go 语言编写的安全容器,重构于开源的 gVisor 项目,是为云原生设计优化的、弹性安全容器。它也是轻量级 HyperVisor,进行 syscall interception 和 host syscall 加速。支持多个平台的运行,同时在性能方面尤为出色,可以支持一些火焰图性能分析,并且对 Go Runtime 进行优化,同时引入了高性能的用户态协议栈。目前应用在 FaaS 和一些增强安全的场景。

32a1b3212db828ea8d2045bd4bfc4c2c.png

|ROFS 文件系统优化

6580fc4533a07949f804eaf1d5326be9.png

上图中可以看到,一个容器会有两个进程, runSC Sandbox 进程和 Gofer 进程,容器镜像解压成 Rootfs 文件 bindmount 到 Gofer 进程中,用户函数代码也一样。Sandbox 需要访问函数和系统文件,需要经过 syscall 然后被 Gofer 进程拦截和控制。这种方式是为了保证安全,但是多了一个进程占用 CPU 核数,同时函数访问系统文件都需要进行 syscall ,拉低了速度。

ROFS 文件系统优化,就是将镜像和用户代码都编译成 ROFS 可以解析的格式,并且在沙箱外部打开。同时通过 mmap() 映射到沙箱进程中去。通过这样的方式,可以降低一半的 CPU 占用,同时所有文件的操作都变成了内存操作。不仅更加快速,而且更加安全。

|容器启动方式优化

一个标准的 OCI 容器会提供两个相关的接口:create 和 start。create 是根据容器镜像和配置文件创建容器运行的环境,对应 NanoVisor 容器沙箱的创建和应用程序内核的初始化;start 则是启动容器,对应 NanoVisor 容器沙箱内一号进程(Nodejs Runtime)的创建和启动。这个过程非常慢。

蚂蚁 FaaS 采用的是 checkpoint + restore 方式进行容器的恢复。首先按照传统方式创建、启动一个容器,等待容器内的 Nodejs Runtime 初始化完成之后,使用 checkpoint 技术对 Nodejs Runtime 进程和应用程序内核 sentry 进行状态、数据的保存。可以理解为对整个容器进行了一个内存快照,然后导出 checkpoint.img 的种子文件。这样的话,下一次有请求过来,直接从 checkpoint.img 种子恢复函数容器,也就是 restore 的过程。所以 restore 就是直接利用之前保存好的进程、内核状态和数据进行恢复,不再需要重新初始化 Nodejs Runtime。在恢复完成之后,Nodejs Runtime 就可以立刻进行业务逻辑处理。

通过以上的优化,目前 FaaS 函数容器落地的启动速度达到了 90ms 以内,额外的内存开销要小于一兆,这一提升相当可观。其中使用到的 NanoVisor 作为蚂蚁的第三代安全容器,始于安全。因此之后可以期待在性能提高和成本缩减上能够做到十倍甚至百倍的一个提升。

目前业界的类似产品中,AWS Lambda 函数的冷启动性能是比较好的:在 Node.js 运行时环境,平均冷启动时间为 200ms。

需要注意的是,此数据仅供参考,实际情况会受多种因素影响。

安全能力建设

性能优化的同时,安全功能也必须得到保障。以蚂蚁 FaaS 安全功能的建设为参考。函数容器(runSC Sandbox)是一个完全隔离的 runSC 沙箱环境,配置有 ACL 规则和虚拟的 veth pair 网卡。这个网卡是完全虚拟的,没有任何意义,而且在 FaaS 的场景下基础设施从设计上本身就是透明的。网卡的另一端插在 bridge 网桥设备上,并且通过 eBPF 进行高效的网络过滤、控制和转发。因此整个函数容器沙箱是完全隔离的。

/  纵向容器防逃逸  /

8131e0f6c7d692971e8d78b2066d6c6a.png

函数程序运行在虚拟化的 guest 态,它的系统调用会被 sentry(运行在 Guest Kernel 态和 Host Kernel 态) 也就是 NanoVisor 处理和响应。NanoVisor 运行在 Guest Kernel 态和 Host Kernel 态, 处理所有函数实例的系统调用,进行限制和管控。同时 NanoVisor sentry 本身的系统调用也会由 seccomp 进行限制。

FaaS 的场景基本隔离掉了基础设施信息,因此限制的接口会更多,攻击面会更小更安全。同时 NanoVisor 提供进程级别的 NanoVM 虚拟化技术,是一个轻量级的 VMM 管理,作为 host 上的一个内核模块,可以有效保障内核安全。

/  横向安全能力  /

b0aaf7ba6dcce9371fcd4dfbe5af0a24.png

在横向控制上,NanoVisor 也做了很多能力建设,包括对所有的网络操作,包括 accept 一些端口、监听 DNS 请求等,都会进行网络审计。同时基于四层网络的五元组信息,都可以进行 ACL 控制。

/  免鉴权调用  /

888f3fdd2c7f166a246cd5f98ede36d6.jpeg

隔离之外,互通也值得关注。所有函数都通过函数网关进入,但是用户函数代码也需要访问其他的服务。一些场景比如函数代码里面可以访问其他的函数、访问云服务、访问 DB 和 OSS 等,或者访问公网,或者访问多云的 VPC 或者 IVS 的 VPC。

在这样的情况下,蚂蚁 FaaS 建设了对应的代理服务和网络设备,在四层为这些服务打开 ACL 控制,同时会在七层进行应用层的认证和授权。认证和授权的过程完全由 runtime 和代理服务实现,整个过程对开发者是完全透明和无感的。所以开发者也不需要设置 IP、账号/密码等信息,这样可以最大限制地屏蔽中间件、基础设施和多云的干扰。

体验

有着这样的整体架构,再加上性能的优化实践和安全能力建设,蚂蚁 FaaS 的产品使用体验是什么样的呢?

研发态的体验:从创建函数到编写函数到执行函数,基本上几秒钟就能够完成一个函数代码的上线。和传统应用模式对比鲜明,不需要去申请应用创建代码仓库,编写代码,编译打包等。曾经在 7 月的一次活动中,一个六年级的小朋友现场花 5 分钟,就完成了整个支付宝小程序+FaaS 云函数的开发。

运维体验:由于整个蚂蚁 FaaS 的设计都是符合 Serverless 理念,所以这里看不到任何基础设施信息,但是可观测性相关的链路日志指标告警是完全具备的。作为 Serverless 的一站式免运维的平台,它能够自动集成监控和告警功能。

总结

总之,蚂蚁 FaaS 的改变和优势在于:

  • 从成本上来说,更小内存开销、更快启动速度。用户只用为流量付费,甚至只用为其函数代码的运行时间付费。(而运行时间可压缩至一个毫秒。)

  • 更高保的安全隔离,能够进行免鉴权的调用。更快的研发速度、更高效的运维。

  • 可以快速开发,没有复杂的流程,也没有碎片化的代码版本的困扰。

  • 完全 Serverless 一站式免运维平台,能够集成监控和告警。

展望:FaaS + AI 开启编程新纪元

蚂蚁 FaaS 对未来的展望包括对极致性能与极致效能的追求,将通过 fork 等技术去实现更高的性能,同时通过 AIGC 等智能化方式去达到极致研发效能。

极致性能

f63b2305e7ebed47ada57112b4cc4da4.png

在极致性能的实现中,蚂蚁目前正在调研的 fork 技术,函数冷启动时间已经达到了 3.5ms,稳定地跑进 10ms 以内。有着这样的启动速度,函数容器的创建跟创建一个线程一样又快、开销又低。同时 fork 技术还可以进行和 runtime、和 user code 的组合,让启动再加速。

极致效能

追求极致效能的方式,就是 FaaS+AI。在文章最开始,可以看到 ChatGPT 生成的一段函数代码,只要十几行代码就可以完成一个业务逻辑的处理。所以 AIGC+FaaS 并非纸上谈兵,而是很有前景的,并且将会在不远的未来落地实践。AI+函数开发模式会结合一些低代码平台,并且利用蚂蚁集团的 NLP GPT/ Code GPT/ OpsGPT 等智能化平台,去演进和诞生一些新的产品形态和编程体验。想象未来 PD 或运营通过自然语言,和 AI 平台沟通,由 AI 平台生成一些格式化的 PRD,再输入到类似低代码/无代码的平台,平台一方面集成 AI 的代码生成能力,一方面集成 FaaS 的 Serverless 功能,这样将大大提高研发效能。

c8492c6f0d691569c4e79c317198b806.png

在过去的几年里,云原生技术已经改变了整个运维体验。但是直到今天,研发模式持续了二十多年,还是一成不变,开发者们还是在电脑面前苦哈哈地敲着键盘。希望未来 FaaS+AI 能开启编程新纪元,颠覆整个研发体验。

FaaS 延伸支付宝云开发

FaaS 技术体系在蚂蚁已经十分成熟,今年基于蚂蚁 FaaS 技术体系沉淀,打造了一款支付宝小程序云开发产品,欢迎大家了解试用。

767260d4189f263d765a0351d41f9326.png

欢迎大家扫描下方👇二维码,或搜索钉钉群号:25600034150,加入支付宝云开发钉钉支持群了解试用:

2e719798c4ba8567570986942f87be3c.png

产品官网:https://cloud.alipay.com/main/product/cloudbase

推荐阅读

5dd5363ca71845fc9be4df47afa67d19.png

如何看待 Dapr、Layotto 这种多运行时架构?

c527a2a6ecb80dc53ab6d880cf5622b9.png

Service Mesh 的下一站是 Sidecarless 吗?

a7a362a0460704e5939249f7e724276c.png

MoE 系列(七)| Envoy Go 扩展之沙箱安全

e56426caead99bd4a6282717f7630903.png

Seata-DTX|分布式事务金融场景案例介绍

4c53bf993b6d3af13ad441cefcbe155b.jpeg

基于Spring Boot和PF4J的轻量级热插拔框架:为FaaS赋能动态插件化开发 本文提出基于SpringBoot与PF4J框架构建热插拔架构的解决方案,旨在解决传统FaaS平台存在的冷启动延迟、资源隔离不足等痛点。通过微内核+插件化设计,实现毫秒级插件加载、运行时隔离和动态扩展能力。核心采用三层架构:基于PF4J实现插件生命周期管理和类隔离,SpringBoot父子容器提供隔离环境,通过扩展点注册插件资源。 阅读详情

相关推荐

Java在FaaS平台性能优化的深度实践:从冷启动到高效执行

通过对Java在FaaS平台上性能优化策略的学习,我们不仅掌握了如何有效地应对冷启动问题,还学会了如何通过优化代码结构、依赖管理和并发控制等方面来提升整体性能。希望本文能够激发您的兴趣,并鼓励您在自己的项目中尝试应用这些技术。无论是初学者还是经验丰富的开发者,都可以从本文中获得宝贵的见解,并将其应用于实际工作中,共同推动FaaS技术的发展。让我们一起探索更多关于Java与FaaS的可能性,迎接更加智能和自动化的未来!

墨夶的博客 594

FaaS介绍

  FaaS介绍          云计算技术的核心是服务化,服务化就需要提供闭环和灵活的服务。而云计算也在持续发展中,从最初的基础设施服务化(IaaS),平台服务化(PaaS),软件服务化(SaaS),陆续演化出数据库服务化(DBaaS),容器服务化(CaaS)。其实一个更细分的服务化叫做FaaS,FaaS是Functions as a Service的缩写,可以广义的理解为功能服务化,也可...

wlhdo71920145的博客 3万+

大数据建模中的函数即服务(FaaS):无服务器架构下的数据处理

随着大数据规模的爆炸式增长,传统数据处理架构面临资源利用率低、扩展性不足、实时性差等痛点。函数即服务(FaaS)作为无服务器架构的核心组件,以"按需执行、事件驱动、无状态"的特性,为大数据建模提供了全新的处理范式。本文从第一性原理出发,系统分析FaaS在大数据建模中的理论基础、架构设计、实现机制与实际应用,结合数学形式化推导、可视化架构图与生产级代码示例,揭示其在数据预处理、特征工程、模型推理、实时监控等关键环节的价值。

小程序开发 1148

Faas

文章介绍了Faas是什么,FaaS的特点、以及它的好处,和基于Kubernetes的FaaS框架Fission等,希望能对您有所帮助。 前言 云计算时代出现了大量XaaS形式的概念,从IaaS、PaaS、SaaS到容器云引领的CaaS,再到火热的微服务架构,以及现在越来越多被谈起的Serverless和FaaS,我们正在经历?一个技术飞速变革的时代。 一、什么是Faas 云计算时代出现了大量XaaS形式的概念,从IaaS(Infrastructure as a Service)、PaaS(Platform

pythonyzh2019的博客 1882

Java在FaaS平台的量子跃迁:用Spring+Serverless实现冷启动黑洞吞噬策略

当Java FaaS遇上量子计算,或许能实现“超越光速的资源分配同步”!

墨夶的博客 969

功率开关管驱动串扰(Crosstalk):深度解析与优化方案

介绍了功率开关器件驱动串扰产生机理,并整理了常见的工程应用优化措施

qq_38326420的博客 555

FaaS(功能即服务)

FaaS 简介 — 一种云计算服务,使云应用程序开发人员可以更轻松地运行和管理微服务应用程序。 什么是 FaaS(功能即服务)? FaaS(功能即服务)是一种云计算服务,它允许您执行代码以响应事件,而无需通常与构建和启动微服务应用程序相关的复杂基础设施。 在 Internet 上托管软件应用程序通常需要配置和管理虚拟或物理服务器以及管理操作系统和 Web 服务器托管进程。使用 FaaS,物理硬件、虚拟机操作系统和 Web 服务器软件管理都由您的云服务提供商自动处理。这使您可以专注于应用程序代码中的单个

keny-大成的博客 1万+

30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践

在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能

weixin_29032489的博客 1503

科普帖:什么是函数即服务 (FaaS)?

什么是FaaS,它是如何工作的?为了帮助您回答这些问题,本文将介绍FaaS的基础知识、人们应该(和不应该)使用FaaS的原因,以及全球FaaS市场的状况。

WPHunter的编程技术资料库! 2344

SFF-8654接口引脚定义全解析:从SAS到U.2的高速硬件连接核心

在高速数据存储与传输领域,接口标准是连接主机与存储设备、确保信号完整性与协议互通性的物理基础。其核心原理在于通过精确定义的物理引脚和电气特性,承载不同的高速串行通信协议,如SAS和PCIe。这类高密度连接器的技术价值在于以紧凑的形态支持多协议兼容与高速率传输,满足了企业级存储、高性能计算对带宽和可靠性的苛刻要求。典型的应用场景包括服务器硬盘背板连接、NVMe U.2固态硬盘直连以及外部存储扩展。本文聚焦于SFF-8654(亦称Mini SAS HD)这一关键接口,深入剖析其引脚定义、信号分区(如高速数据通道

weixin_29188043的博客 712

低功耗蓝牙技术 > GAP和GATT介绍

GAP和GATT作为蓝牙协议栈中的关键协议,为BLE设备之间的通信提供了标准和框架。GAP主要负责设备的连接、广播和角色定义,而GATT则定义了BLE设备之间的具体通信方式,通过Services和Characteristics实现数据的传输和交换。在蓝牙技术的发展中,GAP和GATT两个协议扮演着关键的角色,为BLE(低功耗蓝牙)设备之间的通信提供了规范和框架。GATT连接是建立在GAP协议之上的,是一种独占连接,一个BLE外设同时只能连接一个中心设备。连接建立后,通信是双向的,不同于GAP的单向通信。

DL_62532的专栏 4031

超越边界:支付宝 FaaS 的应用实践和未来展望|ArchSummit

2017 年,小程序横空出世,开启了一个新时代。小程序以其即扫即用的特性,为用户提供了无需下载、无需安装、即刻享用的便利体验,并逐渐成为了我们日常生活中不可或缺的一部分。小程序开发和运维的技术点小程序开发和运维的技术难点然而,小团队或者说小企业想要开发小程序并非易事。小程序的流量具有极高的波动性,要想在早晚高峰时段、节假日等流量激增的情况下保持服务器的稳定性,是一大挑战;同时,小程序的需求变化迅速...

金融级分布式架构 366

Vue3项目实战:用vue-print-nb搞定多页表格打印(附样式不丢失解决方案)

本文详细介绍了在Vue3项目中,如何利用vue-print-nb插件解决Element Plus多页表格打印的样式丢失与分页错乱等核心难题。通过分离打印视图、编写专用CSS控制分页行为、以及深入理解浏览器打印原理,提供了一套从基础配置到高级技巧的完整企业级打印解决方案,确保打印输出专业可靠。

linux的博客 1233

猫头虎分享:一文带你搞懂什么是SaaS、PaaS、LaaS、CaaS、FaaS、MBaaS

摘要:本文由猫头虎博主精心编写,致力于向广大技术爱好者深入浅出地介绍SaaSPaaS、LaaS、CaaS、FaaS、MBaaS这些云计算服务模型。本文内容丰富,结构清晰,旨在帮助读者从小白变大佬,理解不同的服务模型并应用于实际开发中。适合各层次读者,包含丰富SEO词条,如云计算、服务模型、SaaS应用、PaaS平台、LaaS解决方案、CaaS容器、FaaS函数、MBaaS移动后端等,以便于在百度等搜索引擎中被轻松找到。SaaS。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 4596

从自然语言到PCB设计:DeepSeek与Altium协同自动化实战指南

摘要:在电子设计领域,将自然语言需求转化为PCB设计图是实现自动化设计的重要目标。受限于当前NLP和EDA技术,通过DeepSeek直接生成完整PCB设计图尚无法实现,但在设计辅助环节已展现实用价值。本文深入分析技术可行性,提出"自然语言→设计约束→脚本生成→人工验证"的人机协同工作流。通过28个完整代码示例、12张技术图表及5个工程案例,详细展示DeepSeek解析需求、生成设计约束,并结合Altium Designer API实现元件放置、规则设置、DRC校验的全流程。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1764

PyTorch深度学习实战(2)——PyTorch基础

PyTorch 是广泛应用于机器学习领域中的强大开源框架,因其易用性和高效性备受青睐。在本节中,将介绍使用 PyTorch 构建神经网络的基础知识。首先了解 PyTorch 的核心数据类型——张量对象。然后,我们将深入研究用于张量对象的各种操作。PyTorch 提供了许多帮助构建神经网络的高级方法及组件,并提供了利用 GPU 更快地训练神经网络的张量对象。

盼小辉丶的博客 5万+

如何落地一个FaaS平台?

目前优酷内容分发相关业务已经陆续引入FaaS能力,在FaaS的助力下,迭代效率提升。但是平台整体上还处于刚刚起步阶段,也是我们Serverless实践的初步尝试。支持更多编程语言的运行时环境,以及更友好的云端IDE开发体验。优化函数运行集群的资源调度策略,合理分配函数执行需要的资源,支持动态扩缩容。结合内容分发业务的特点,寻找更多业务的切入点,通过FaaS进一步提升现有技术架构的灵活性和迭代效率。

ailiandeziwei的专栏 944

2026最新贝壳二手房爬虫实战:突破极验5.0滑块验证码,完整房源数据采集方案

本文详细介绍了2026年贝壳找房爬虫技术方案,重点突破其极验5.0滑块验证码等反爬机制。文章首先解析了贝壳六大核心反爬模块,包括AI驱动的验证码、设备指纹绑定和TLS指纹识别等。针对最难破解的滑块验证码,提出了基于YOLOv11深度学习模型的缺口检测方案,准确率达99.5%,并结合人类行为轨迹模拟实现98%以上的成功率。最后设计了分布式爬虫架构,包含任务调度、代理池、验证码服务和数据清洗等模块,为大规模采集贝壳真实房源数据提供了完整解决方案。该方案在复杂反爬环境下仍保持高效稳定,具有重要的商业和研究价值。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2054

Faas在哈啰AI平台的落地实践

为什么哈啰AI平台需要FaasAl平台当前的痛点一是运维复杂问题,AI平台有多种不同语言的模型推理服务, 如python、C++(tf-serving)、Java等,各自管理上百个不同类型的模型;架构也很复杂,存在大型单体应用、多container应用、小型GPU应用等多种服务组织方式;同时,手动运维有余,自动化工具不足。二是稳定性问题,成百上千模型集中式部署,存在明显热点问题,在应对一些突发流量...

gaoliang1719的专栏 402

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Serverless vs Edge Computing vs FaaS范式比较与落地实践

【代码】Serverless vs Edge Computing vs FaaS范式比较与落地实践。

燃灯工作室 965

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

FaaS与server less架构

现在是2017年,距离两年前无服务器计算革新只取得了少许进展(你听见人们在唱歌吗?)。这次变革并不是像Docker那样突飞猛进地前进,而是采用了相对平稳的发展节奏。Amazon新发布了Web Services的Lambda特性,产品保持了一个有规律的发布节奏,另一个重要的第三方(微软)正在一个接一个地发布生产环境版本,也有一些新的开源项目频繁地加入这场盛宴。当我们接近早期阶段的末尾时,来做一个有趣的

lucky917的博客 3202

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

GCLI——闲鱼FaaS开发利器

关于GCLI闲鱼技术团队推行了基于Flutter+Servless的一体化研发方案, 在Serverless技术的加持下,客户端开发可以轻松独立完成业务闭环。FaaS作为Serverle...

闲鱼技术的博客 3332

Serverless/FaaS 的现状与未来

FaaS 是一种新兴的技术平台,个人认为 2018 年即将迎来 FaaS 的崛起。本文从以下角度探讨和分析它的现状和未来,给大家提供一个报告,也作为自己的年度技术总结。 FaaS 是什么?和 PaaS 有什么异同?它解决了什么 PaaS 没有解决的问题? 当前各公有云 FaaS 方案的比较 当前各开源 FaaS 平台方案的比较 FaaS 和微服务是什么关系? FaaS 的未来有什么可能?在大数据...

GitChat 1387

Serverless DevOps工具实战指南:FaaS自动化、成本监控与启动优化深度解析(万字干货)

Serverless架构下的DevOps进化:自动化、成本监控与启动优化 随着Serverless架构的快速普及,DevOps实践正经历深刻变革。本文从三大核心模块剖析Serverless对DevOps的影响:1)FaaS自动化重构CI/CD流水线,解决函数粒度部署、环境管理等新挑战;2)构建精细化成本监控体系,分析计费粒度与异常检测;3)突破冷启动瓶颈,从容器复用、代码加载等多维度优化性能。通过主流云平台实战案例,展示Serverless时代DevOps工具链的演进方向,为企业提供架构转型参考。

优快云博客专家,领域包括但不限于:AI、大数据、Python、架构师,有合作、课程、问题、疑惑请私信博主 1万+

面向数智营销的 AI FAAS 解决方案

丨目录:1. 背景2. AIFAAS解决方案3.FAAS研发平台4. DolphinSQL服务5. 实时特征SQL化生产6. 典型案例7. 效果8. 展望9. 引用▐...

阿里妈妈技术 1537
上一篇: SOFA Weekly|SOFAServerless 社区会议回顾、Layotto 社区会议回顾与预告、社区本周贡献...
下一篇: SOFA Weekly|Layotto 社区会议回顾与预告、SOFA 茶水间、社区本周贡献
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值