写点什么

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:403554

评论

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

从0到1搭建出海媒体监测体系

沃观Wovision

出海社交 社交媒体监控 出海舆情 出海媒体监测

将财务数据转化为强有力的叙述,推动战略决策

智达方通

企业管理 企业战略 全面预算管理

数字孪生项目外包开发验收流程

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

从工具到伙伴:一文看懂 AI Agent 与 Agentic AI 的核心差异

测试人

ASP.NET Core Blazor简介和快速入门一(基础篇)

码农刚子

blazor Blazor入门 blazor快速入门 blazor简介

【低代码 + AI 编程】GitHub Copilot 各个模型区别,实现高效编程

JEECG低代码

海外推广本地化实战:如何让你的内容打动欧美和东南亚用户?

Wolink

出海 海外营销推广 品牌出海 达人营销

大模型如何革新搜索相关性?智能升级让搜索更“懂你”|得物技术

得物技术

大模型 搜索算法 搜索推荐 社区搜索

不 Star 不让看?当开源精神被 "绑架" 成一枚小小的 Star — 致 Gitee 开发者

JEECG低代码

【深度测评】2025年五大最佳海外舆情平台

沃观Wovision

海外舆情 海外舆情监测 海外舆情平台

告别告警洪流!WeOps CEP模式规则:从事件风暴中精准挖掘运维价值信号

嘉为蓝鲸

智能运维 告警管理 weops 一体化智能运维平台 运维告警

订单支付后库存不扣减,如何用RabbitMQ来优化?

王中阳Go

Rabbit MQ

基于 veRL 多模态混训的视频上下文并行,百度百舸提升具身智能强化学习效能

Baidu AICLOUD

强化学习 多模态模型 具身智能 并行策略

第50届ICPC亚洲区域赛·成都站,非凸科技持续护航顶尖赛事

非凸科技

预算有限?这5个高性价比海外舆情平台同样具备核心监控能力

沃观Wovision

海外舆情监控 海外舆情 海外舆情平台

Java智能体框架的繁荣是一种代码异味

码界行者

Java AI智能体

捷行读书会广邀书友,免费参加共读

ShineScrum

读书 读书感悟

信息化大数据设计方案,中台建设方案,数据治理类资料

金陵老街

大数据 中台

航空机务场景推荐用哪种RFID智能工具车?

斯科信息

RFID技术 RFID智能工具车

品牌出海伙伴:如何选择懂行业的海外舆情服务商?

沃观Wovision

海外舆情监控 海外舆情 海外舆情平台 舆情服务

大数据-143 ClickHouse 实战MergeTree 分区/TTL、物化视图、ALTER 与 system.parts 全流程示例

武子康

大数据 flink spark 分布式 Clickhouse

制造业的"质量管理"如何实现数字化?

优秀

质量管理 数字化

算力成本降低 33%,与光同尘用 Serverless AI 赋能影视商业内容生产

阿里巴巴云原生

阿里云 Serverless AI 云原生 函数计算

AI应用开发提速!嘉为蓝鲸OpsPilot V3.8 Chatflow:流程图编排+自动执行

嘉为蓝鲸

智能运维 LLM大模型 OpsPilot 运维大模型 智能运维支撑平台

数字孪生项目开发流程

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

数字孪生项目的上线

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

组装及装配行业MES系统解决方案介绍

万界星空科技

mes 万界星空科技mes 装配行业MES 制造业转型 组装行业MES

Agentic AI基础设施实践经验系列(二):专用沙盒环境的必要性与实践方案

亚马逊云科技 (Amazon Web Services)

人工智能、

从入门到精通:境外舆情网站全链路必备指南

沃观Wovision

海外舆情监控 海外舆情 海外舆情平台

如何在不可信的云环境中,构建兼具极致性能与卓越安全的大语言模型(LLM)推理服务?

隐语SecretFlow

开源 隐私计算 大模型 机密计算

数字孪生项目开发方案

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

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