InfoQ|是时候给应用架构做减法了,开发运维配置繁杂( 二 )
Lambda的诞生 , 可以说是云计算技术的一次跃进式发展 。 正如上文所说 , 让开发者从对虚拟机、服务器机群容量、集群扩展这些细碎的关注点中抽离出来 , Lambda帮助其真正实现了按需执行、按需计费、按需自动弹性扩展和高可用能力 。
值得一提的是 , 一些人更喜欢用缩写FaaS(FunctionasaService , 函数即服务)来描述Lambda这类技术 , 对于无服务器技术来说 , FaaS只是无服务器技术和架构中必须提供的众多能力中的一种 。 但Lambda是FaaS的典型代表 , 它允许用户仅仅上传代码而无需提供和管理服务器 , 由它负责代码的执行、高可用扩展 , 支持从别的AWS服务或其他Web应用直接调用等 。
Lambda能和大量的AWS服务进行整合 。 这里 , 我们将AWSLambda放在若干个实际应用场景中 , 来向开发者们解释 , 基于它 , 能构建哪些内容 , 并如何和AWS的其他服务进行联动应用 , 加速开发 。
数据处理与操作
Lambda和AWS服务非常适用于构建用于处理数据的事件驱动管道 。 开发者可以使用AWSLambda执行代码以响应数据更改、系统状态变化或用户操作等触发器 , AWS中的S3、AmazonDynamoDB、Kinesis、SNS和CloudWatch等服务 , 都可以作为Lambda的直接触发“机关” 。
在数据处理管道中 , 许多用户会遇到数据上传后需要得到立即处理的场景 , 例如需要将视频从一种格式转换成另一种格式 , 或者即时调整图像大小以匹配不同设备 。 Lambda则可以实现实时创建缩略图、转换视频代码、聚合和筛选数据等 , 并且可以由S3或Kinesis触发 。
文章图片
一个模拟数据处理流中 , Lambda在各环节中的作用示意实时数据流处理
很多AWS用户会使用Lambda和Kinesis处理实时流数据 , 从而跟踪应用程序活动、处理事务处理顺序等 。 其中 , Kinesis服务可以对数据(如日志、系统事件、用户点击等)的摄入进行处理 , Lambda函数则可以对数据流中的新记录做出反应 , 并能快速处理、保存或丢弃数据 。
Lambda和Kienesis的组合很适合会产生大量需要被分析、汇总并存储数据的应用程序 。 在应用程序产生的大量数据中 , Lambda可以随负载自动扩展和缩减 , 月度处理数据点可达百亿级 。
后端
Lambda还被用于构建无服务器后端 , 以处理Web、移动、物联网(IoT)和第三方API请求 。 在很多客户场景中 , 可能会通过无服务器架构将前端直接连接到数据库 , 允许前端与服务进行安全通信 , 这里面只要通过APIGateway , 即可调用Lambda函数 , Lambda函数可以执行自定义任务并与其他服务通信 。
2.Fargate与Firecracker的诞生——Lambda在“进化”Lambda所具备的丰富特性和应用场景的背景 , 让其成为一度流行于FaaS届的、可以称得上完美的方案 。 实际上 , Lambda当然也存在一些缺点与问题 。 例如迁移难度大、自动扩展性差、应用语言种类较少、计算规模受限、冷启动(函数未被运行一段时间后需要重新启动容器运行 , 而造成的函数调用被延迟)、不断膨胀的代码库维护等 。
直至2017年年底的AWSre:Invent大会上 , AWS宣布针对容器的无服务器计算引擎推出AWSFargate , 云计算技术尤其是Serverless架构和应用的演进 , 才算真正迎来了一次新的机遇点 。
Fargate不仅可以抽象出运行容器的服务器 , 还可以提供服务器编排的抽象 , 作为容器的免编排计算 。
这也意味着 , 当K8s等容器编排工具的使用度越来越高 , 乃至成为开发中的一项“基础设施”时 , 开发者们可以将创建和管理容器的事情交给云服务商(Fargate)来处理 , 就好像今天的服务器虚拟化一般 , 容器也越来越“隐形” 。
此外 , 相比于Lambda在自动伸缩、灵活定制资源等特征 , Fargate还可以通过与其他AWS服务(包括AmazonCloudWatchContainerInsights)的内置集成获得开箱即用的可观测性 。 Fargate可以让开发者通过具有开放式界面的大量第三方工具来收集指标和日志 , 从而监控应用程序 。
- |常看“黄色网站”无人知? 当手机有这几个现象的时候, 你就该停手了!
- 央视网|展现“万物智联”新应用,直通服贸会丨5G通信服务专题展区
- 阿狸先森|是时候跟百度网盘的龟速下载说拜拜了
- 大卫聊科技|工信部开始整治了,是时候说再见了!每年躺赚392亿元的垃圾短信
- 玩转电脑应用|办公、设计、开发者必备,比Rolan还好用的免费启动管理工具
- cnBeta|让用户直接在FB应用中查看Instagram Stories,Facebook将推出新功能
- InfoQ|Q推荐,有奖征文重磅来袭,来!一起玩把大的!|
- 大众新闻|深度参与5G标准制定,腾讯未来网络实验室韩云博:以应用驱动网络演进
- 树袋熊|3D、Moona水果拼图等应用,限免App推荐:Blox
- EDA365电子论坛|EDA365:白光LED驱动芯片的典型应用电路