等等……无服务器模式其实并不是无服务器模式?
在正式进入本文主题之前,我想先讲个小故事。几个月前,我开始学习云计算工程和AWS。我终于弄明白了云计算究竟是什么。然后,我接触到了无服务器计算这个概念……说实话,我当时完全懵了。
我终于开始理解一些 AWS 的基础概念和资源,现在又开始学习无服务器架构。这简直让我一头雾水。你可能和我几个月前一样感同身受。如果是这样,这篇文章就是为你准备的。
我将详细解释什么是无服务器计算。我还会介绍一些需要了解的重要 AWS 无服务器资源。但要理解无服务器计算,最好先了解云计算。所以,我们先来明确一下云计算的定义。
什么是云计算?
您的代码需要托管在服务器上。根据代码的大小以及您预期使用产品或网站的用户数量,您可能需要多台服务器。过去,许多公司都拥有自己的服务器托管设施和仓库,现在仍然如此。但对许多公司来说,这并非理想之选。
服务器维护起来可能很麻烦。不知道你有没有这种感觉,反正有时候我的笔记本电脑开了很多标签页,运行了很多应用程序,就会出现一些小问题。有时候如果我在床上用电脑,通风口被毯子堵住了,电脑也会出现异常。你可能也遇到过类似的情况。服务器也会出现类似的问题。
当大量代码运行且许多用户访问这些代码时,服务器可能会出现故障。温度变化也会影响服务器。维护服务器及其所在建筑物的成本也很高。随着时间的推移,这些问题会变得难以管理。这时,AWS 和其他云服务提供商就派上了用场。
云计算本质上就是租用他人拥有的服务器和数据存储资源。使用 AWS,意味着使用亚马逊的服务器。这样就省去了购买和维护物理服务器的麻烦。我之前提到的那些问题也都不复存在了。AWS 提供的服务远不止存储,这一点显而易见,因为他们的服务列表似乎无穷无尽。通过 AWS,您可以访问存储服务、服务器、网络、分析、人工智能等资源。
除了云计算能够让你访问的丰富资源之外,它还有许多其他好处:
- 您只需为使用的资源付费。这非常划算。
- 您可以根据需要轻松启动和使用新服务器,从而快速扩展。
- 您可以在全球范围内部署应用程序。
- 所有这些都有助于加快开发和部署速度。
云计算看起来很棒,而且(在大多数情况下)确实如此。那么,无服务器计算又是什么呢?它为何如此必要?它究竟是什么?让我们先从这些问题开始。
什么是无服务器架构?
使用云计算,您无需担心服务器维护。您可以自行决定部署哪种类型的服务器、所需的计算能力、服务器数量等等。虽然您不拥有服务器的所有权,但您仍然对它们拥有很大的控制权。
无服务器架构将云计算提升到了一个新的层次。您完全无需担心服务器的问题。但请记住一点:无服务器并不意味着完全没有服务器。您可以参考我在引言中分享的那张图来提醒自己。您仍然需要服务器来托管和运行您的代码。使用无服务器计算,您可以摆脱云计算中那些繁琐的责任和控制。这意味着您可以完全专注于代码编写,而无需配置服务器来满足您的需求。
这真是太强大了!使用无服务器计算,你无需学习任何基础设施即可部署代码。你可以把所有时间都花在代码编写上,同时还能享受到云计算的诸多优势。无服务器架构成本非常低,而且扩展或缩减都非常容易。当然,任何事物都有其缺点,无服务器架构也不例外。根据你的需求,它可能并非最佳选择。不过我们现在暂且不讨论这个问题。(或许会在未来的“跟我一起学AWS”系列文章中探讨?)
现在,你应该明白我以前遇到的难题了吧!你了解了云计算和无服务器计算的区别。你也知道,所谓的“无服务器”其实并非真正意义上的无服务器。接下来,我们来看看AWS提供的一些无服务器资源。
您应该了解的 AWS 无服务器资源
AWS 提供了丰富的资源。因此,正如您所想,它提供了大量的无服务器资源。我会向您介绍我最常用的资源,以及您可能也会感兴趣的资源!
- AWS Lambda 超级好用!这项服务允许你运行无服务器函数。你只需为代码运行的时间付费。我用 AWS Lambda 运行过 Twitter 机器人。AWS Lambda 的功能非常强大,你可以用它做很多事情。
- S3 是简单存储服务 (Simple Storage Service) 的缩写。S3 为您提供简单、安全的存储服务。这是一个非常棒的资源,值得您去探索体验。不妨尝试使用 S3 托管静态网站。这是我的第一个 AWS 项目,也是一个绝佳的起点!
- 亚马逊 DynamoDB 是一种 NoSQL 数据库服务。我还没有机会实际使用 DynamoDB。不过,DynamoDB 指南网站上的这篇《什么是 DynamoDB?》文章是很好的学习资料!
- SNS 代表简单通知服务 (Simple Notification Service)。这项服务允许您根据 AWS 账户中的特定事件自动发送电子邮件或短信。我们在“再也不用担心意外的 AWS 账单!”课程中使用了 SNS。如果您想更好地了解 SNS 的工作原理,请跟随课程学习并创建您自己的账单提醒。
如果您想尝试使用这些资源,请查看这篇文章,其中包含 3 个您可以立即开始开发的无服务器项目。
结论
总而言之,不,无服务器架构并非真正意义上的无服务器。现在我理解了无服务器架构的真正含义,觉得它非常吸引人!我现在能够利用 AWS 和其他公司提供的无服务器资源,这真的让我的工作轻松了很多(大多数时候😂)。有了这些新知识,你就可以开始构建和部署各种精彩的应用了!如果你也这么做了,一定要跟我分享!
如果您有任何希望我讲解的 AWS 主题,欢迎在下方评论区留言!感谢阅读!
文章来源:https://dev.to/ceeoreo/wait-serverless-isn-t-actually-serverless-pp5