让我们先解决一件事:在云服务上下文中,无服务器计算是一个具有误导性的术语。你发送到云端进行处理的东西,不管你叫它什么,都是用的服务器.不同之处在于配置。简而言之,无服务器计算并不真实。但不管是不是真的,它都能帮你省钱。
那么,如果“无服务器”计算不是无服务器,那么它是什么?考虑无服务器计算的简单方法是将工作负载发送给云提供商,让它们执行操作,然后检索结果。这意味着云提供商会处理基础设施需要处理你的工作量,以及处理一切从管理安全例如,启动或关闭服务器,或者管理环境的其他方面。
使用无服务器计算,只需将工作负载和需要处理的数据一起发送到云提供商,然后等待结果返回给您。你只会按处理工作的实际时间收费。因此,如果您选择合适的项目,您不仅可以节省资金,还可以省去IT管理方面的麻烦。
何时使用无服务器计算
但您还需要知道,无服务器计算并非适用于所有事情。它最适合于定义良好的工作负载,这些工作负载独立于您发送的数据以外的外部数据源。一个经常被提到的例子是使用人工智能(AI)来确定图像的内容是否适合其预期的目的。
其他目的可能是不经常使用的离散操作。您可以使用无服务器计算来收集用户名管理会员列表或用户列表,其中所需要的只是收集信息,检查是否有适当的输入(例如检查电话号码是否是实际号码),格式化,然后保存到数据库中。
如果这听起来很熟悉,那是因为这个概念已经存在很长时间了。像这样的过程曾经被称为“子例程”,它们被保存在需要执行某些任务时可以调用的地方,否则就会离线。这样,它们就不会在不需要的时候占用处理器周期或内存。
一旦这些子程序被保存在纸带或(真的)霍尔瑞斯卡,控制台的人员将根据需要加载它们。现在它们是在云中处理的,而不是加载纸牌组,而是将代码与数据一起发送到云中。执行流程,并以指定的任何形式返回结果。在某些情况下,您的代码可能会被您的提供者保留以供重用,以便下次您只需要发送数据。但根据提供商的不同,也有不同的限制。
无服务器计算使用起来并不那么简单
运行例程之后,云计算费用将停止。一切都很简单,或者至少应该是这样。当真正使用无服务器计算时,它就不再简单了。首先,您的开发人员必须学习为无服务器环境编写代码。
虽然开发无服务器例程本身并不复杂,但它确实需要习惯,这主要是因为代码必须专门针对由云提供商提供的无服务器环境编写。另外,您不能假定有任何方法可以在平台之间移动代码。
此外,您的开发人员将不得不认为他们开发的例程本质上是自包含的或离散的。它们不能调用不属于发送给提供者的代码的其他例程,除非提供者使它们可用(例如主要提供者提供的AI例程)。此外,无服务器环境中的例程是无状态的,因此开发人员不能依赖于应用程序状态被保留。由于提供商设置的限制,无服务器计算也不太适合长期运行的应用程序。
编辑推荐
无服务器计算和物联网
无服务器计算非常适合于web应用程序、分析和物联网(IoT)。事件驱动的应用程序,如物联网,当从设备或传感器接收到特定输入时,必须采取特定的操作,将在无服务器计算中工作得很好。
虽然云供应商很好地支持无服务器计算,但每个供应商的做法都不一样。幸运的是,大多数供应商都有某种程度的免费服务,所以您可以在完全提交之前试用一下。无服务器计算领域的一些主要参与者包括微软Azure云.还有一个无服务器功能亚马逊网络服务(AWS)在那里被称为Lambda,在IBM Cloud.
如果操作得当,无服务器计算可以提高团队成员的性能,这仅仅是因为他们不需要在不必要的时候花时间管理服务器。但它不是万灵药,也不是你可以盲目追求的东西。重要的是要记住,尽管名称如此,但它不是无服务器的,您只是不需要自己管理服务器。
关于无服务器计算,您有什么问题需要回答吗?加入(电子邮件保护)(在新窗口打开)你可以在领英的讨论组里询问供应商、其他像你一样的专业人士和PCMag的编辑。