弹性计算和无服务器计算有什么区别?

What is a difference between elastic computing and serverless computing?

我试图找出这两个 AZ-900 考试之间的区别。我找到了两个网页:

Elastic computing is the ability to quickly expand or decrease computer processing, memory, and storage resources to meet changing demands without worrying about capacity planning and engineering for peak usage. Typically controlled by system monitoring tools, elastic computing matches the amount of resources allocated to the amount of resources actually needed without disrupting operations. With cloud elasticity, a company avoids paying for unused capacity or idle resources and doesn’t have to worry about investing in the purchase or maintenance of additional resources and equipment. While security and limited control are concerns to take into account when considering elastic cloud computing, it has many benefits. Elastic computing is more efficient than your typical IT infrastructure, is typically automated so it doesn’t have to rely on human administrators around the clock, and offers continuous availability of services by avoiding unnecessary slowdowns or service interruptions.

https://azure.microsoft.com/en-us/overview/what-is-elastic-computing/

Serverless computing enables developers to build applications faster by eliminating the need for them to manage infrastructure. With serverless applications, the cloud service provider automatically provisions, scales, and manages the infrastructure required to run the code. In understanding the definition of serverless computing, it’s important to note that servers are still running the code. The serverless name comes from the fact that the tasks associated with infrastructure provisioning and management are invisible to the developer. This approach enables developers to increase their focus on the business logic and deliver more value to the core of the business. Serverless computing helps teams increase their productivity and bring products to market faster, and it allows organizations to better optimize resources and stay focused on innovation.

https://azure.microsoft.com/en-us/overview/serverless-computing/

对我来说,都是一样的。作为开发人员,我不必关心基础设施。它自动缩放。假设我有一个只有一个 REST 端点的 Web 应用程序,它只进行一些硬计算。此端点被大量使用。

我的理解是唯一的区别是成本。在弹性中,我为资源付费:处理、内存等。但在无服务器中,我为完成的计算付费?

在 elastic 中,它扩展了 CPU 来计算它,我必须为额外的 CPU 支付额外的费用,但在无服务器中,我只是为每个完成的计算付费,我不在乎有多少额外的CPU 花了。 如果是这样,我怎么知道无服务计算会花费多少?

还是说在 elastic 中我必须创建 VM 等等,而在无服务器中我只部署一个应用程序?

Elastic computing is the ability to quickly expand or decrease computer processing, memory, and storage resources to meet changing demands without worrying about capacity planning and engineering for peak usage.

因此,根据工作负载,可用资源可以是 expaned/reduced。例如,具有自动缩放功能的 Web 应用、Service Fabric、Azure VM Scaleset 和 AKS 自动缩放。 Azure Functions 是一种无服务器产品,还提供弹性,还有一个好处是不必担心底层基础设施。因此,您可以将无服务器描述为具有优势的弹性计算。

但这完全取决于您的工作量。 Azure Functions 的最长 运行 时间为 10 分钟,最适合响应事件(触发器)的工作负载,但我可以想象某些工作负载(如网上商店)不能仅使用 Azure Functions 构建,因此其他弹性产品更适合.

For me, it's the same. As a developer, I don't have to care about infrastructure. It autoscales.

种类是一样的,只是恕我直言,无服务器具有弹性计算的所有特性,但没有底层基础设施的管理。最后,工作负载决定了最适合的是无服务器还是无服务器,或者两者兼而有之。例如,我们在 AKS 上构建 运行 应用程序,但这些应用程序将一些工作委托给 Azure Functions。

所以,总结一下:无服务器 = 弹性计算 - 基础设施管理。