首页 > 经济 > > 正文
2019-12-23 17:07:48

在应用程序部署中使用无服务器体系结构的优缺点

导读 在某种程度上,无服务器计算平台是云计算潜力的下一个层次。长期以来,云平台一直允许组织扩展计算能力以满足其工作负载的需求,而无需亲自

在某种程度上,无服务器计算平台是云计算潜力的下一个层次。长期以来,云平台一直允许组织扩展计算能力以满足其工作负载的需求,而无需亲自监督否则会伴随的硬件生命周期任务。无服务器架构将环境从其上运行的代码中抽象出来-使开发人员可以按需执行任意代码,而无需担心底层硬件。

无服务器架构适合您的业务吗?

应用程序迁移通常是长期的工作,需要大量的开发人员资源,测试和时间才能成功完成。并非所有应用程序都可以使用无服务器平台进行有效部署。

最适合无服务器架构的是具有无状态用例的应用程序,这些应用程序可以容许几毫秒的加速时间,干净执行,并将输出按顺序移交给下一个操作(无论是用户) ,存储桶或其他应用程序。相反,无服务器不适用于永远在线的“ 24/7应用程序,这些应用程序需要非常可预测的,非常一致的性能,它们需要在后端系统中读取和写入大量数据,” Gartner的Arun Chandrasekaran说道。技术创新分析师。

使用无服务器架构的优缺点是什么?

尽管在特定情况下无服务器有明显的好处,但这并不是每一个用例的灵丹妙药,并且尝试以低于无服务器的品牌来命名,因为真正的交易削弱了无服务器可以为您的组织带来的潜力。

优点:无服务器应用程序运行起来更便宜,维护也更容易

与传统的云托管虚拟机(VM)相比,当围绕无服务器平台开发合适的应用程序(名义上是上述无状态应用程序)时,可以节省大量成本。当然,在无服务器和传统应用程序之间节省的成本还不如赢得彩票和在沙发垫之间找零钱相比要少得多。同时,他们没什么好打喷嚏的。

“如果您考虑的是诸如IoT场景之类的情况,则其中的消息传送可能不频繁...能够使事情在那里不消耗时间,不产生费用,然后当消息真正通过时,启动过程然后再次启动, Forrester首席CIO分析师Jeffery Hammond对ZDNet表示,对于始终必须启动,运行和收听的VM而言,潜在的成本是数百美元。

缺点:将现有应用程序迁移到无服务器架构是一项挑战

对于大型的,对业务至关重要的应用程序,任何类型的大型重新版本化或重新实现都可能是一个漫长而漫长的过程。Hammond说:“我看到更多的公司开始使用新的无服务器,而不是尝试重写现有的产品和服务。” “如果现有应用程序不是围绕事件分类法构建的,那是您必须考虑的问题。如果功能没有明确划分为子系统或相关功能集,那么为无服务器做好准备将是一个真正的挑战。无服务器时的好处您有能力将体验的各个部分分离开来。而许多构建在其中的应用程序实际上并不是那样设计的。”

专业版:您可以将单个功能或部分工作负载迁移到无服务器功能

通过移植各个功能以按需事件进行操作,可以开始使用无服务器应用程序。例如,考虑一个针对WordPress(或任何其他CMS)的视频托管插件,该插件需要对视频进行转码以实现不同的比特率和格式。此任务不太适合生产WordPress服务器,因为资源应专用于服务页面,而不是视频编码。(同样,虚拟化托管平台上的WordPress安装可能无法利用硬件加速进行视频编码,从而进一步阻碍了该过程。)这是让无服务器功能处理编码和元数据创建的绝佳用例。同样,对于WordPress的摄影作品集插件,使用无服务器功能可以绕过对ImageMagick之类的软件包的需求,通常容易出现严重漏洞。

缺点:使用传统工具调试无服务器应用程序具有挑战性

对于包括数百个单独功能,在这些功能内具有各种嵌套微服务和依赖项的超大型企业应用程序,使用传统开发环境可能会带来挑战。“目前没有选择将调试器附加到公共云中的无服务器应用程序中,并且您必须在本地(在您设置的模拟环境中)调试或使用日志记录进行调试,”无服务器应用程序优化平台首席执行官Erez Berkner Lumigo告诉ZDNet。如果无法充分了解应用程序的执行方式,则对出现故障或无法正常工作的应用程序进行故障排除会变得更加困难。

对于无服务器计算,必须更改开发方式。Hammond说,开发团队越来越多地在编写“他们自己的DevOps工具链,因为那里的某些DevOps工具不一定支持这种将非常小的代码快速部署到运行的应用程序中的想法。”

SEE:无服务器计算如何在成本上合理?(ZDNet)

优点:无服务器应用程序不易发生软件故障

随着时间的推移,无服务器应用程序更易于维护。Hammond说:“在无服务器的世界中,您实际上可以看到应用程序中的各种功能及其执行方式。您还可以查看某些功能是否从未执行过。” “因此,与我们以前使用的以前的应用程序体系结构相比,它可能使重构应用程序和剪切无效代码的能力变得更加容易。”

就是说,由于云平台将在使用寿命到期时自动淘汰较旧的框架,因此,积极维护代码的责任在于开发人员。尽管这可能会对开发人员计划造成严重破坏,但是由于版本生命周期通常会在发行时发布,因此淘汰旧框架的工作需要提前通知。虽然这可能会造成暂时的不便,但也可以防止随着时间的推移而逐渐衰减。