功能即服务 (FaaS) 正在各种运营和开发环境中迅速得到应用。
尽管云计算这颗冉冉升起的新星经常与 API、物联网和移动应用一起被提及,但该技术在外部开发中也有重要用途。 在 The New Stack 的《无服务器指南》报告中,我们发现无服务器的技术用例涵盖了一系列广泛的用途:
无服务器的技术用例
正如预期的那样,应用占据主导地位,近四分之三的受访者使用无服务器来处理 REST API 和 Web应用。 但此后事情变得更加有趣。 批处理作业和计划任务以及模糊的“业务逻辑”仍然占据了超过一半的受访者的使用案例。
属于“计划任务”领域的是使用云功能来管理云资产。 云和容器为企业提供的功能之一是优化资源使用的手段。 通常我们从可扩展性的角度考虑这个问题——尤其是与容器和微服务结合使用时。 通过仅扩展应用需要扩展的部分,您可以节省计算资源(从而节省成本)。
但该等式的另一边是当资源不使用时将其关闭的能力。 在某种程度上,功能即服务和无服务器(不,它们不一定是同一件事)的吸引力在于真正的效用定价模型。 您确实仅需为您使用的部分付费。 因为理想情况下无服务器/FaaS 环境中没有闲置资源,所以您无需为它们付费。 然而,在云中,您可能要为闲置资源支付的费用与这些资源执行某些应用程序或服务的费用相同。 这是一个很小的问题,但是如果应用停机时间很长,那么这个问题就会累积起来。
这正是云功能可以提供帮助的地方。 通过利用您所运行的云的功能即服务功能,您可以安排一项任务来在不使用实例时关闭它们,然后稍后重新启动它们。 这假设一个相当静态的时间表,就像一个仅在明确定义的工作日期间使用的应用。 此类应用通常是传统的“业务”应用,供员工使用,但仅限于白天和工作日。 在周末关闭组成商业应用程序的实例可以节省大量成本。
使用云提供商的功能即服务产品可以为您提供一种降低在夜间和周末保持这些应用“温暖”的成本的方法。 即使你每天有十二个小时的工作时间,你也可以通过在其他十二个小时关闭机器来将成本降低一半。
如果你对如何实现听起来像是云版本的 cron 感兴趣,请查看以下资源: