什么是Serverless?

www.sematext.com 的Adnan Rahic向我们快速介绍了无服务器计算,以及如何正确利用无服务器计算可以帮助组织从中获得最大收益。

在2019年,O'Reilly对来自不同组织和地区的IT专业人员进行了关于无服务器采用率的首次调查。 1,500名参与者提出了他们的回答,回答了Serverless如何影响其各自行业。

40%的受访者表示,他们已经以某种形式实施了Serverless,并补充说,它降低了运营成本,并具有可自动扩展的优势。无服务器还使DevOps团队摆脱了管理和维护后端系统的负担,使他们可以专注于代码。

由于Serverless为桌面带来了简便性和成本效益,因此它在采用中的普及率越来越高也就不足为奇了。实际上,到今年,Serverless的市场规模估计将增长到77.2亿美元。

尽管O'Reilly表示,尽管许多组织仍在谨慎对待,但随着新技术的发展,它们带来了一些令人担忧的问题,例如安全性和“对未知的恐惧”。

不过,Sematext.com开发人员和无服务器专家Adnan Rahic告诉我们,这并不困难。他说:“如果您知道如何正确使用[无服务器],或者对如何充分利用[无服务器]有很好的认识,那么这是有道理的。”

在接受Coding Over Cocktails采访时,Rahic分享了他作为开发人员的经验以及他们如何维护无服务器基础架构。

Serverless最佳案例方案

Rahic将无服务器描述为“不需要服务器的任何东西”。无服务器下的一个流行子集是FaaS(功能即服务),其中AWS Lambda和Azure等服务允许用户部署代码,通过事件触发器运行代码并获取返回值。

首先,Rahic建议找出无服务器的最佳用例。他分享了他构建通过Lambda函数和其他AWS服务触发的电子邮件服务的经验。 “当有人输入表格时,我会通过电子邮件将有关该问题的回复发送给我。然后我可以通过任何电子邮件客户端将该人发送回电子邮件。但这不在任何地方运行。它不在服务器上运行。”

无服务器Rahic建议的一个很好的用例是利用其可伸缩性来运行多个事务。因为它可以轻松扩展,所以与服务器上的标准API相比,它可以以更少的延迟来管理连接和功能。

“如果您在AWS上具有一个功能,如果在同一毫秒内获得与该API的1000个并发连接,它将立即水平扩展到1000个功能。”

另一方面,Rahic建议不要将Serverless用于需要持久数据库连接的任何事物,尤其是关系数据库(例如Postgres和SQL)。 “就不要。只是完全跳过FaaS。您根本不想参加那一件事。”

尽管通过使用连接到数据库中的代理API可以解决此问题,但Rahic警告说,这增加了另一层复杂性,并不总是被视为最佳实践。

“如果考虑到这一点,那么一个API需要与数据库建立连接,而如果要向外扩展,那么您就有成千上万个功能。它们与数据库有成千上万个连接,就像发生意外一样, ”他解释道。

与无服务器相关的最常见挑战之一是称为“冷启动”的延迟问题,该问题在首次执行代码时发生。

“比方说,您有一个API事件,该事件将触发函数中的代码。该函数的实例在任何地方都不存在,因此您必须在初始时间调用它。”

拉希克(Rahic)解释说,没有战术方法可以绕过冷启动。尽管定期触发该功能可以使其保持“温暖”,但实际上并没有多大帮助。 “如果立即有500个并发连接,并且要保持一个功能正常运行,那么它的作用就不大了,对吗?您仍然可以获得499个冷启动。”

对于运行时间较长的功能,Serverless可能不是最佳解决方案。 “如果您真的需要运行15分钟以上,则使用服务器可能会更便宜,更高效,” Rahic解释说。

"Not a Silver Bullet"

Rahic警告说,Serverless的入门门槛可能非常高,尤其是如果开发人员以前没有做过类似的事情。

在谈到他作为开发人员的经验时,Rahic说Serverless可以让您运行多个环境进行测试,以便更好地了解生产方式。 “如果您不进行测试驱动的开发,或者不针对代码运行单元测试,那将是一件痛苦的事情。”

尽管Rahic认为无服务器是“全新的开发概念”,并且需要在典型的开发框架之外进行思考,但是谨慎行事始终是关键。 他说得很清楚-无服务器不是灵丹妙药。

“您必须找出最佳用例,然后在此基础上,将其用于打算要使用的东西,好像有任何意义。但这不是灵丹妙药。”

SO资源郑重声明:
1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3187589@qq.com
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!

SO资源 » 什么是Serverless?