50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

InfoQ 在线课堂问答:无服务器架构与 SaaS 有什么区别?

  • 2016-06-02
  • 本文字数:2411 字

    阅读完需:约 8 分钟

提问:Lambda 代码是不是也需要服务器,可以弹性拓展吗?

张侠:Lambda 代码肯定是部署在服务器计算能力之上的,但因为是托管的服务,用户不需要管理服务器,所以从用户角度来看就可以理解为是没有服务器的。

提问:无服务器架构与 SaaS 的区别是什么?

张侠:Lambda 和 SaaS 在表面上看是有一些相同的地方,很多做 SaaS 的人都认为自己做的是无服务器架构,但是需要强调的是无服务器架构的用户仍然掌握着各种基本工具,可自行搭建服务和软件,而传统意义上的 Saas 则是是软件及服务,只是把软件在云平台上提供给用户使用。另外也有人提到 PaaS 与无服务期架构的区别,从某种角度来说,Lambda 为用户提供了一些工具以便搭建类似 PaaS 的平台,但是这两个概念不完全对等,而 AWS 实际上早已不再使用简单的 SaaS、PaaS、IaaS 的方法来做云服务的划分了,因为这种划分方法存在一定的局限性。

提问:Lambda 背后是如何触发的?

张侠:Lambda 最基本的触发方式是按照事件来进行触发的,比如说 S3 得到了一个文件,这就是一个事件。另一种触发方式是 schedule,也就是定时触发,按照提前设置好的时间来进行触发。

提问:在实际使用中,Lambda 执行了一个 Redshift 的 copy command,发现 Redshift 处理的时间和 Lambda 被响应完成的时间有分钟级别的差距,这是为什么?

张侠:需要首先区分开两个事情,一个是 Lambda 这段代码本身的运行时间,而另一个是一个功能比如 Redshift topic 或是 Transcoder 代码转换器转换代码所用的时间,这是两个不同的概念,不能等同理解。尽管用户在使用 Lambda 的时候都不希望代码执行耗费太长时间,但是 Transcoder 或其他的某个功能运行所消耗的时间跟 Lambda 实际是不相关的,因此这种情况下在写 Lambda 函数的时候就一定不要写成 Transcoder 在一边运行着而 Lambda 就一直等着 Transcoder 运行完再做什么事情,正确的方法是该写成两个不同的函数,每一个的运行时间比如说是千分之一或是十分之一秒,然后触发相应的功能进行工作,之后再继续执行相应的操作。至于 Redshift 的问题,因为不知道细节所以不能给出完整的答案,比如 Redshift copy 不知道当时是否有一些查询,数据仓库表格是如何建的,Redshift 是怎样进行分片的等等。再加上 Redshift 本身运行也需要一些时间,因此在完全响应上有一些时间的差别并不奇怪。而从构建上来说,这个时间差应该是不会让程序出现问题的,这是架构上的考虑。

提问:Lambda 会不会对 Python 里面的 LIB 库进行更多的支持?

张侠:目前 Lambda 主要支持三种语言,也就是 Node.js、Java 以及 Python,之后对函数库的支持会随着时间而不断增加,可以参考相关的文件。从 Lambda 本身来说,可能还是适合把功能做得相对简单一些。

提问:中国区什么时候开通 Lambda?

张侠:AWS 开通新服务一定会参考这项服务需求的情况,而 AWS 对 Lambda 还是比较重视的,计划在年底左右开通这项服务。但是我们现在没有办法能够确保这个时间一定能开通,因为可能会有其他更新更好的服务用户需求更高。AWS 会争取早一些在中国区开通 Lambda,满足大家现有的这些需求。

提问:Lambda 和 SQS 的区别是什么?

张侠:SQS 是一个队列的服务,从功能上说它是一些简单的 Lambda 的功能,但是 Lambda 的功能显然更强大一些,因为 Lambda 可以自己写函数扩展出更多的内容,而 SQS 只是对特定的一些请求进行队列服务,然后触发一些事件。SQS 可以理解是特定情况下的 Lambda 原来的一些功能的子集,Lambda 肯定是要比 SQS 强大一些。

提问:Lambda 是否能够支持资源的自动调配?

张侠:Lambda 做的是完全托管的服务,它确实是自动来进行资源调配的。

提问:Serverless 和 CI/CD 要怎么集成在一起?在生产环境和测试环境下如何部署 Serverless 的服务和应用?

张侠:基于 Serverless 的 Lambda 应用,在不同的生产环境和测试环境下的部署是非常容易的。这两者完全可以做出同样的部署,然后在生产环境和测试环境下进行同样测试,如果合适就上线,如果需要更改,只需要做好相应的同步就可以了。因为松耦合式的架构,包括在不使用的时候不收费的这些特点,实际上在这些方面是比较容易做的,只要管理好这些版本,管理好推出这些内容,毕竟这不是完全连续的一个功能,而 CI/CD 这些事情相对来说还是更加容易做的。

提问:并行处理不同数据流的 Lambda 微服务具体在哪里执行代码?处理后的结果还会调用 Lambda 做后续处理吗?

张侠:Lambda 微服务都是在托管的服务器上也就是在云上产生的,它看起来没有服务器但实际上提供了计算处理功能,而并行的话不过就是需要更多的云资源来进行事件代码的函数运算。如果需要做后续处理的话,只要把结果或是特定的函数写在特定的地方,可以把几个事件结合在一起做后续处理。

提问:转码耗时比较长,Lambda 只是调用转码的程序吗?

张侠:是的,Lambda 作为一个触发点,比如 MP3 或者 MP4 文件放在 S3 里面需要进行转码,然后触发让 Transcoder 开始运行,运行完之后再执行其他操作。不是说整个事件就跑 5 分钟,用 Lambda 在一起可能每一个跑 5 分钟,但你可以写比如整个跑一百天或者更长时间的程序,这是没有任何问题的。

提问:可以把用户注册登录验证部署到 Serverless 上吗?

张侠:应该是可以的,这其实也是一个很好的建议。将用户注册登录作为事件进行触发,然后进行相应的核对验证。比如说发送一个验证码到注册用户的手机上,用户将验证码输入,这可以作为一个事件,再进行后续触发。

提问:Lambda 适合将 S3 数据导入到 Redshift 吗?

张侠:非常适合做这些事情,目前支持编译 Node.js、Java 和 Python 这三种语言,暂时还不支持其他语言。

关于本次在线课堂的视频录播和 PPT 资料,请点击这里查看


感谢羽飞对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2016-06-02 21:403532

评论

发布
暂无评论
发现更多内容

飞算JavaAI:AI+时代下的行业趋势引领者与推动者

飞算JavaAI开发助手

云电脑:快速部署无限制、可联网、带专属知识库的私人 DeepSeek 大数据模型

京东科技开发者

沉浸式演示:在新老项目中如何快速上手通义灵码 AI 程序员

阿里云云效

阿里云 云原生 通义灵码 AI程序员

【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute

YashanDB

数据库 yashandb

AI+智能财务 | 选择智能月结,即刻获得丝滑结账体验!

用友智能财务

财会

DeepSeek R1的崛起已经势不可挡,而开源商业化在中国到底行不行?

Apache SeaTunnel

DeepSeek

沉浸式演示:在新老项目中如何快速上手通义灵码 AI 程序员

阿里巴巴云原生

阿里云 云原生 通义灵码

英特尔酷睿 Ultra 9 275HX 成为 PassMark 上最快的笔记本处理器

E科讯

找到你的小众市场,打造你的专属产品几个步骤

Immerse

产品 创意 独立开发

Agent应用实战:从广告智能助手落地到平台化赋能

京东科技开发者

【YashanDB知识库】如何从内存中获取SQL语句的执行计划

YashanDB

数据库 yashandb

案例 | 跨越语言边界:20+种语言的AI图像生成挑战

澳鹏Appen

多模态 大模型 图像生成 小语种 LLM

TikTok视频0播放量怎么办?六步教你解决

Ogcloud

TikTok 云手机 海外云手机 tiktok运营 tiktok限流

告别焦虑,天润融通AI机器人托管为客服团队一键减负增效

天润融通

人工智能

商家智能助手:多智能体在电商垂域的技术探索

京东科技开发者

百度深化AI基础设施建设,李彦宏:持续投入AI基础设施,训练更好的下一代模型

新消费日报

飞算 JavaAI:你的开发 “加速器”,让项目更快落地!

飞算JavaAI开发助手

外贸电商网络与普通网络的差异

Ogcloud

企业组网 企业网络 外贸网络 海外网络专线 海外网络连接

普通人也能轻松掌握的20个DeepSeek高频提示词(2025版)

不在线第一只蜗牛

DeepSeek

探索无界:践行科学家精神与工程师文化

京东科技开发者

飞算 JavaAI:开发界的 “机器人”,为你打工不是梦!

飞算JavaAI开发助手

自动化测试岗位面试必问的十大问题

老张

软件测试 自动化测试 质量保障 求职面试

普惠AI 如何在 Anolis OS 8 上部署生产可用的 DeepSeek 推理服务

OpenAnolis小助手

AI 操作系统 龙蜥操作系统 Anolis OS DeepSeek

Flink+Paimon+Hologres,面向未来的一体化实时湖仓平台架构设计

Apache Flink

大数据 flink 实时计算 实时湖仓 paimon

大家都使用哪些开源项目系统?分享主流30款

易成研发中心

开源项目管理系统

飞算JavaAI:开发界的“思维导图”,让思路更清晰!

飞算JavaAI开发助手

雷朋 Meta 眼镜视觉识别功能开放测试;Ultravox 新版语音模型 :语音理解超 GPT-4o 和 Gemini

声网

最近社区热议的issue #8542,被疯狂+1的需求急需你的加入!

Apache SeaTunnel

【IoTDB 线上小课 11】为什么 DeepSeek 要选择开源?

Apache IoTDB

InfoQ在线课堂问答:无服务器架构与SaaS有什么区别?_架构_张侠_InfoQ精选文章