Serverless 教程学习手册

收录于 2023-04-20 00:10:05 · English · بالعربية · Español · हिंदीName · 日本語 · Русский язык · 中文繁體

什么是Serverless?

顾名思义,Serverless教程可帮助您使用Serverless函数部署 lambda 函数。Lambda 函数正变得非常流行,因为它们减轻了用户维护服务器的麻烦,还因为它们只对用户使用的时间和资源量收费。如果您的函数运行 500 毫秒,您只需支付 500 毫秒的费用。Serverless框架极大地简化了将 lambda 函数从本地机器部署到 AWS 的过程,进一步减轻了用户创建堆栈和所需资源的麻烦。Serverless为你做一切让你的 lambda 函数运行。在本教程中,我们将主要着眼于配置Serverless框架。最后提供了两个流行的Serverless项目示例,
这个名字给了你很多提示。无需为维护服务器而头疼的计算——这是Serverless计算(或简称Serverless)的关键。这个概念非常具有革命性和破坏性。它已被广泛采用。几个新的应用程序从设计Serverless后端开始,带有专用服务器的遗留应用程序也在慢慢迁移到Serverless架构。那么是什么导致了Serverless的广泛采用?与所有事情一样,经济学使Serverless变得非常有利。
您看,使用Serverless,您只需为使用的内容付费。想象一下,您需要每天对数据库执行一些日常维护。此过程每天可能需要大约 10 分钟。
现在,在没有Serverless计算的情况下,您的维护 cron 可能驻留在服务器中。除非您在剩余时间内有其他事情与您的服务器有关,否则您最终可能会为一项需要 10 分钟的任务支付 24 小时的费用。太浪费钱了吧?如果您被告知有一项新服务会针对您的维护 cron 执行所需的 10 分钟向您收费,该怎么办?您不想简单地切换到该新服务吗?这正是Serverless采用如此迅速和广泛的原因。它降低了几个组织的后端费用,也减少了他们的服务rver维护头疼。
云服务提供商(AWS、Azure 等)需要确保Serverless应用程序在需要时准确可用且数量充足。因此,在高负载期间,您可能会调用多个Serverless应用程序,而在正常负载期间您可能会调用单个应用程序。当然,您只需为高负载期间的额外调用付费。

什么是Serverless?

上面解释的概念看起来很棒,但你如何实现它?你需要一个框架。它被称为,呃,serverless。
Serverless框架帮助我们开发和部署旨在以Serverless方式运行的功能/应用程序。该框架向前迈进了一步,负责部署我们的Serverless功能运行所需的整个堆栈。什么是栈?好吧,该堆栈包含部署、存储和监控Serverless应用程序所需的所有资源。
它包括实际的函数/应用程序、存储容器、监控解决方案等等。例如,在 AWS 上下文中,您的堆栈将由您的实际 Lambda 函数、用于您的函数文件的 S3 存储桶、Cloudwatch 资源组成链接到您的函数,等等。Serverless框架为我们创建了整个堆栈。这使我们能够完全专注于我们的功能。Serverless消除了维护服务器的麻烦,而Serverless(框架)消除了创建和部署运行我们的功能所需的堆栈的麻烦。
Serverless框架还负责为我们的功能/应用程序分配必要的权限。一些应用程序(我们将在本教程中看到的示例)甚至需要将数据库链接到它们。Serverless框架再次负责创建和链接数据库。Serverless如何知道堆栈中包含哪些内容以及提供哪些权限?所有这些都在 serverless.yml 文件中提到,这将是我们在本教程中的主要关注点。在接下来的章节中会详细介绍。

AWS 中的Serverless

AWS 的许多服务都属于"Serverless计算"的范畴。您可以在此处找到完整的有序列表。有计算服务、集成服务,甚至数据存储服务(是的,AWS 甚至有Serverless数据库)。我们将在整个教程中重点介绍 AWS Lambda 函数。那么什么是 AWS Lambda? AWS Lambda 网站将其定义如下-
AWS Lambda 是一种Serverless计算服务,让您无需预置或管理服务器即可运行代码、创建工作负载感知集群扩展逻辑、维护事件集成或管理运行时。
就外行而言,AWS Lambda 是您在 AWS 上进行Serverless计算的窗口。正是 AWS Lambda 让Serverless概念如此流行。您需要做的就是定义您的函数和您的函数的触发器,并且该函数将在您希望它被调用的时候准确地被调用,并且您只需要为该函数执行所需的时间付费。此外,您可以将 AWS Lambda 与 AWS 提供的几乎所有其他服务(EC2、S3、dynamoDB 等)相关联。
因此,如果您已经是 AWS 生态系统的一部分,那么 Lambda 集成是非常无缝的。如果您像我第一次了解 AWS Lambda 时一样刚接触 AWS 生态系统,它将成为通往 AWS 世界的良好门户。
在本教程中,我们将学习有关使用Serverless框架部署 AWS Lambda 函数的所有信息。你兴奋吗?然后转到下一章开始。