5.1 软件服务 亚马逊 AWS Lambda|学习笔记

本文涉及的产品
简介: 快速学习5.1 软件服务 亚马逊 AWS Lambda

开发者学堂课程【高校精品课-长安大学 -基于混合式教学的云计算课程建设5.1 软件服务 亚马逊 AWS Lambda】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/1073/detail/15483


5.1 软件服务 亚马逊 AWS Lambda


内容介绍:

一、AWS Lambda

二、AWS Lambda 事件源

三、AWS Lambda 函数配置

四、基于计划的 Lambda 函数示例:启动和停止 EC2 实例

五、基于计划的 Lambda 函数示例:创建缩略图像

六、AWS Lambda 应用示例:IoT 后端


下面开始软件去服务 SaaS 的学习。在 SaaS 中,提供商在云中集中托管应用程序。那么一款采用特定配置的给定版本的应用程序,通常会向多个使用者提供。为此,他会将这些使用者各自的绘画和数据隔开。SaaS 应用程序在云中执行,通常不需要安装在端点设备上,得益于此,使用者可以从任意位置按需访问这种应用程序,并且可以在各种端点设备上通过 web 浏览器来使用它。目前在各种出版物中以及不同的行业组织定义了很多基于 PaaS 和 SaaS 的新的服务模式。这些服务模式,往往介于这三种核心服务模式之间,例如无服务器计算和函数及服务 laaS,那么它提供了一种能够编写基于触发器执行的代码端的能力。由外部服务调用的,那么这个,它就介于 PaaS 和 SaaS 之间。那么另一个例子,是容器,它位于操作系统之上,在laaS 和 PaaS 类型的软件有各种变体,比如数据库可以在机器上安装。数据库也可以把这个相同的数据库,作为 PaaS 提供,在某些情况下,甚至可以将它作为 SaaS,管这些新模式终究都属于这个上述三种云服务模式之一,但是将其划归到哪一类,还是需要进行分析和评估。那么本课程?将从服务器计算划归到 SaaS 进行讲述。


一、AWS Lambda

在本部分,将主要学习无服务器计算,包括 AWS Lambda 和阿里云的函数计算。此外,还会对阿里云物联网应用平台进行简单的介绍。

image.png

先来看一下 AWS Lambda, AWS Lambda 是一种事件驱动型的无服务器计算服务,那么,通过 AWS Lambda 使用者无需预制或管理服务器即可写入和部署,按计划执行或者可由事件出发的代码。那么首先,用户要创建一个 Lambda 函数,然后该函数是包含用户上传的代码的 AWS 的资源。然后可以将 Lambda 函数的触发方式设置为按计划出发,或者响应事件出发,那么代码仅会在被触发时运行,用户只需按使用的计算时间付费,而代码未运行时就不产生费用。那么这样的话,Lambda的这种带来的一些优势,那么包括不需要了解任何新的语言、工具或者框架即可使用 lambda。

那么 lambda 它支持多种编程语言,包括 Java shell note JS c sharp python 等等。那么代码可以使用任意的库,可以包括本地库或第三方库。第二,Lambda 实现了完全的自动化管理,能管理所有的基础设施,并将代码放在高可用性的容错性基础设施上运行,使用户能够专注于构建出色的后端服务。Lambda 可以无缝的部署代码,执行所有的管理、维护和安全补丁操作,并且可以通过 AWS 的他们的CloudWatch 提供内置的日志记录和监控。

还提供内置的容错能力,它可在各区域中跨多个可用区,维护计算容量,从而帮助保护代码免受单个机器故障或数据中心故障的影响。没有维护时段或者计划停机时间,Lambda 还支持可以通过使用 AWS 的 step function 来构建工作流,那么来编排多个 lambda 函数,那么就可以用于复杂或长时间运行的任务。

这些工作流的使用顺序,并行分支和错误处理步骤,可以触发 lambda 的函数集合。借助 step functions 和 lambda 可以为应用程序和后端构建有状态、长时间运行的进程,那么使用 lambda 只需为提供的请求以及运行代码所需的计算时间付费,那么这种无服务器的技术概念。对于很多的这个,It 专业人士来说,可能尚属比较新鲜的一个事物。不过,它正在日渐的流行,因为它支持原生云架构,那么相同工作复杂的情况下,这种架构,能够以比这个24小时运行的服务器具有更低的成本来实现大规模的扩展。


二、AWS Lambda 事件源

image.png

现在来看一下 lambda 的事件源,时间源是这个 AWS 服务和开发人员创建的,这个应用程序用于生成可触发 AWS lambda 函数是其运行的事件,那么某些服务,可以直接调用lambda的函数将事件发布到 lambda,那么这些异步调用 lambda 函数的服务,包括这个S3,亚马逊的S3,还有他的这个,Amazon Simple notification service,就是这个叫 amazons 以及这个,还有他的这个 Amazon CloudWatch,就是咱们现在说的可以产生的事件,那么 lambda 也可以在未向 lambda 发布事件的其他服务中,去轮询资源,比如 lambda 可以从这个 Amazon Simple Queue service 这个 Amazon 的 SQS,队列中来轮询记录,然后针对获得的每条消息,执行 lambda 函数,同样类似的,它也可以从这个hamburn的BYMDB 录取时间。

那么还有一些服务,它是可以直接调用 lambda 函数,例如这个应用程序负载均衡器。那么直接调用,就是很有用。比方说我们在开发移动应用程序,并希望该应用程序调用 lambda 函数的时候,那么有关这个所有是受支持的服务的更多的这个详细信息,我们可以去参与 lambda 和其他服务的这个相结合的一些使用文档,来进一步学习 AWS lambda,它会使用这个 AWS lambda,它会使用这个的 CloudWatch 来自动监控这个 lambda 函数,为了帮助排除函数中的故障。这个lambda 日志,记录了 lambda 函数处理的所有请求,它还会自动存储有这个代码,通过这个 CloudWatch 的这个日志,Cloud 这个 lock 生成的日志。


三、AWS Lambda 函数配置

image.png

那么来看一下这个 AWS 的这个 lambda 的函数配置。请注意一下的就是,Lambda函数这个 lambda 函数,是用户编写的用于处理事件的自定义代码,那么 lambda 表示是执行 lambda 函数,那么使用 AWS 管理控制台创建 lambda 函数的时候,首先要给函数命名,接着,可以指定这个函数使用的运行时环境,这个比如说是python 的或者 js 的,以及他的这个执行角色,以及他的这个执行角色,然后就可以创建函数,并且配置函数了,那么配置函数的时候,包括我们要给他添加一个这个触发器,那么触发器,就是我们在这个我们这个商业上这个地方的。

上图这个可用的时间,远程可以指定一个,那么然后要添加这个函数代码,函数代码可以使用提供的代码编辑器,或者上传包含代码的文件,然后指定分配给函数的内存,然后当然还有一些可选的这个配置项,我看这个指定环境变量描述超时运行函数所在的 VPC,VPC 就是我扑出来的 plot,我们之前学过它的发货。那么要使用的标签以及其他设置,那么以上的所有的这些设置,最终都要存储到蓝本的部署程序包,那么这个部署程序包,是一个包含函数代码和它的这个依赖项的一个 zip 的一个存档。那么如果使用 lambda 控制台编写函数的时候,控制台会管理这个软件包。但是如果我们要是使用 lambda API 来管理函数的话,那么就需要创建这个部署的程序包。


四、基于计划的 Lambda 函数示例:启动和停止 EC2 实例

那么这里来看一个这个示例。这个示例是一个基于计划的 lambda 函数示例,那么它是启动和停止 EC2  示例。那么现在需要减少这个 EC2 的利用率。决定要在预先定义的时间。比如无人访问示例的晚上,停止示例,在早上工作时间之前重启示例,那么这样,我们就可以配置 lambda 和 lambda 的 CloudWatch。就CloudWatch 事件来帮助这个 CloudWatch 事件来帮助完成这些操作,那么从这个停止实例的这个情况,那么就是 CloudWatch 事件,执行这个 lambda 函数,然后在这个晚上晚上十点停止,这个 EC2 的实例 EC2 的事。那么这个 lambda 的这个角色,就触发并执行 lambda 函数,执行 lambda 函数,就是授权函数,停止这个EC2 的实例,那么 EC2 实例,就进入了这个停止状态。之后到了比方说早上,那么CloudWatch 的 CloudWatch 事件,计划执行这个 lambda 函数,那么已启动实例,那么这时候,角色触发并执行 lambda 函数。然后授权函数去启动这个 EC2 图示例,那么 EC2 图示例就进入了这个运行状态。

image.png


五、基于计划的 Lambda 函数示例:创建缩略图像

image.png

再来看一个基于事件的 lambda 函数的事例,那么这个是创建一个缩略图像,那么这个假设我们要将上传到 S3 存储同的每个图像,那么创建缩略图,那么为了这个构建解决方案?

可以创建一个这个 lambda 函数,那么在上传对象以后,这个 S3 就可以调用这个函数,那么之后这个函数它就从这个数据源,这个函数就存储在里面,读取图像的这个对象,并且在这个存储图中,创建缩略图,现在看它的这个过程,大概就是这个,那么用户将对象上传到这个原存储中,这个 S3  中,那么这时候,这个就会这个产生一个对象的一个创建世界,创建世界,那么这个 S3,它会检测到这个对象的创建世界。那么这时候,检测到以后,那么他就会通过调用这个 lambda 函数,通过调用这个 lambda 函数和传递时间数据,将对象创建的时间,就发布到 lambda,就会通过在这个用在创建函数的时候指定了这个角色的,那么就在创建指定的这个在创建栏目的函数时指定的这个角色来执行 lambda 函数,这个通过收到的这个数据,获得了这个 lambda 函数,那么它这个通过收到的时间数据,就获得了存储统的名称对象的名称。

那么 lambda 函数它就会去读取这个,它就会到这个存储图里面,会读取对象,然后,使用图形库去创建缩略图,然后再把缩略图,存储到这个存储当中,这个地方就存储到目标存储图当中了。那么它读的时候,它是从原存储成来读出去,然后创建了缩略图,再把它放到目标存储中。


六、AWS Lambda 应用示例:IoT 后端

image.png

再来看一个 lambda 的应用事例,就是它作为 IoT 的后端,那么 IoT 就是物联网,它可以作为一个互联网的后端,那么,这个可以使用它来构建一个这样的一个无服务器的后端,那么可以处理,外部移动,物联网,还有它质量的装置是物联网。可以对外或者地方或者第三方。在 lambda 的这个运行代码,然后取这个探测数据,然后识别它的这个异常,而且,这个如果发现问题,可以去这个去替代它的这个,这个替代它这个主故障的这个附件等等,就通过这个可以慢慢的来完成这个事情。最后,输出就会产生一个订单,就会自动的去这个处理这个替代这个主故障的这个出现,那么这就是一个作为 IOT 后端的处理流程。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
机器学习/深度学习 存储 人工智能
云计算平台选择之路:AWS、Azure和Google Cloud的比较与抉择
在当今数字化时代,云计算平台扮演着企业转型和创新的关键角色。本文将对三大主流云计算平台——AWS、Azure和Google Cloud进行比较分析,为读者提供选择指南。我们将从性能、可靠性、生态系统、服务和定价等方面综合评估,以帮助读者做出最适合他们业务需求的决策。
112 0
|
2月前
|
存储 API 云计算
AWS基础
AWS基础
41 2
|
5月前
|
JSON 运维 监控
云计算与公司监控电脑软件的弹性扩展策略(AWS Lambda)
在当前信息时代,公司监控电脑软件对于确保网络和电脑设备的正常运行至关重要。云计算技术的崛起为监控系统提供了更灵活和弹性的扩展策略,而AWS Lambda作为一种无服务器计算服务,则为实现弹性监控提供了理想的解决方案。
229 1
|
4月前
|
存储 机器学习/深度学习 人工智能
云计算巨头之争:AWS、Azure和Google Cloud的综合对比与选择指南
本文详细比较了三大云计算平台AWS、Azure和Google Cloud在性能、可靠性、服务覆盖范围、定价策略以及生态系统等方面的优势和劣势。通过对这些关键因素的分析,读者将能够更好地理解各个平台的特点,并为自己的业务选择最合适的云计算平台。
138 0
|
4月前
|
人工智能 大数据 数据处理
云计算巨头大比拼:AWS、Azure和Google Cloud的终极对决
在云计算领域,AWS、Azure和Google Cloud三家巨头一直在竞相争夺市场份额。本文将从性能、可靠性、定价策略以及生态系统等方面对它们进行全面比较,帮助读者做出明智的选择。
|
5月前
|
JSON 运维 监控
云端部署:使用AWS Lambda与公司流量监控软件实现无服务器架构
在当今数字化时代,跨平台移动应用的开发已经成为企业推广业务的一项关键工作。为了更好地监控和分析应用程序的性能,公司流量监控软件的整合变得至关重要。本文将介绍如何使用AWS Lambda和公司流量监控软件,构建一个高效的无服务器架构,实现对跨平台移动应用的流量监控。
239 0
|
存储 网络协议 安全
3.1.1计算服务亚马逊 AWS|学习笔记(二)
快速学习3.1.1计算服务亚马逊 AWS
235 0
3.1.1计算服务亚马逊 AWS|学习笔记(二)
|
存储 弹性计算 缓存
3.1.1计算服务亚马逊 AWS|学习笔记(一)
快速学习3.1.1计算服务亚马逊 AWS
318 0
3.1.1计算服务亚马逊 AWS|学习笔记(一)
|
存储 大数据 测试技术
3.2.1存储服务 亚马逊 AWS|学习笔记
快速学习3.2.1存储服务 亚马逊 AWS
879 0
3.2.1存储服务 亚马逊 AWS|学习笔记
|
存储 安全 网络安全
3.3.1网络服务 亚马逊 AWS|学习笔记
快速学习3.3.1网络服务 亚马逊 AWS
223 0
3.3.1网络服务 亚马逊 AWS|学习笔记