Amazon Web Services EC2 和 AWS Lambda 之间的实际区别是什么。我使用过 EC2,也阅读过有关 Lambda 的内容,但找不到任何有价值的内容。 有人能告诉我到底有什么区别吗?
Amazon EC2 实例是一个虚拟机。它就像一台普通计算机 - 它运行一个操作系统(Windows 或各种类型的 Linux),您可以连接到它并使用它。您可以安装普通软件包并运行任意长时间。当实例“运行”时,您按秒付费。
AWS Lambda 函数是一段被触发运行的代码。 它在幕后运行在“容器”上,这是一个额外的虚拟化层,使其速度非常快。没有操作系统,因为容器平台负责该层。简而言之,某些东西触发了 Lambda 函数,该函数运行,然后退出。
Lambda 函数通常仅运行几秒(甚至不到一秒!)。它会执行某些操作来响应事件,例如发送到 AWS API Gateway 的请求或上传到 Amazon S3 的文件。它旨在执行一个非常简单的任务(您编写的),然后退出。例如,当您在手机上运行天气应用程序时,该应用程序会调用 Internet 上的 Web 服务。它可能会触发 Lambda 函数,从数据库中检索天气并返回信息。它可能只运行半秒。
AWS 负责运行 Lambda 函数的平台。您只需提供代码,配置触发器即可!无论您的代码每月运行一次还是每秒运行 30 次,AWS Lambda 都会负责部署和运行该函数。这个概念被称为“无服务器计算”,因为您只需担心代码,而不是服务器。
AWS Lambda 是一种与 EC2 不同的技术,它是无服务器的,基本上您只需运行代码而无需显式运行服务器。 您只需将代码上传到云端,AWS 就会为您运行服务器。您不必为服务器付费,而是为代码执行的时间付费。
最简单的看待这个问题的方法是将 EC2 想象为一个虚拟服务器,运行一个操作系统,配置有存储、内存和 CPU。随着时间的推移,你会为规格付费。 IE。服务器越大、使用时间越长,您支付的费用就越多。 Lambda 是一种无服务器服务,可根据事件和触发器执行代码。如果您愿意的话,它是一个函数,可以响应发生的事情来执行您的任务。例如。您可以使用 lambda 函数在 JPG 文件上传到 S3 时调整其大小。 当然,您也可以构建一个运行类似代码的 EC2 服务器来执行相同的操作,但操作系统开销和成本意味着简单的 Lambda 函数会更加高效,并且它在云中的占用空间、用于运行代码的资源、小了很多。