当前位置: 首页 > 科技观察

为什么选择无服务器模型?

时间:2023-03-12 23:56:21 科技观察

无服务器计算是一种执行模型,其中云服务提供商动态地将资源分配给负责执行的代码部分。在此模型中,客户只需为他们实际使用的资源付费。代码通常运行在无状态容器中,可以被各种事件触发,比如HTTP请求、数据库事件、队列服务、监控告警、文件上传等。那么为什么要选择serverless模型呢?也称为“功能即服务(FaaS)”,无服务器模型可以为IT团队解决几个传统问题。当应用程序运行在公司自有服务器上,而公司负责提供和管理底层资源时,公司发现它必须为服务器的运维付费,即使没有实际服务。负责服务器及所有底层资源的正常运维。必须维护服务器安全和更新。随着使用量的增加或减少,必须相应地调整服务器的大小。在没有专用服务器进行管理的小公司,以及在拥有专用资源的大公司中,这些操作任务可能会花费大量时间,并占用构建和维护应用程序等核心活动的资源。解决这些问题就是无服务器计算的全部意义所在。选择无服务器架构的好处无服务器架构正变得越来越流行。事实上,根据MarketsandMarkets研究,该行业的收入预计将从2020年的约76亿美元增加到2025年的约211亿美元,复合年增长率(CAGR)为22.7%。无服务器架构采用的增长归因于新开发模型提供的许多优势。即用即付与基础架构即服务(IaaS)模型不同,后者需要租用硬件资源而不管其实际使用情况,功能即服务(FaaS)模型基于“付费-as-you-go”:当一个事件调用一个函数时,只为执行该函数所需的严格时间的资源使用付费。只为实际使用的服务价值付费,可以让团队专注于产品及其独特功能的开发,而不是服务成本或实施。事实上,这些服务只是为了支持主要功能而集成的。可扩展性可扩展性是公司快速发展的关键因素,因为他们需要纵向或横向扩展其基础设施。这是一项具有挑战性的任务,通常需要大量的时间和精力,并相应增加运营和维护成本。无服务器环境消除了这些限制,允许公司从小处着手,然后随着时间的推移支持他们的增长,而不会中断服务或代价高昂的计划变更。灵活性和适应性随着供应和管理计算资源的责任转移到云供应商,公司能够快速采用新技术,使他们能够快速有效地响应业务和市场需求,而不必担心基础设施升级和所有相关成本.高可用和容错众所周知,当今的企业业务对IT的依赖性很强,这也是IT服务必须保证高可用的原因。云供应商提供了一个设计良好的全球基础设施,可以保证客户工作负载的可用性和弹性。业务连续性和灾难恢复如今,业务连续性是企业关注的一个关键方面,因此活动必须得到可靠的灾难恢复战略和计划的支持。提供无服务器解决方案的云供应商提供了许多高级功能,有助于自动恢复应用程序和底层系统以应对任何类型的灾难(自然灾害、网络攻击、硬件缺陷等)。无服务器架构:需要考虑的关键方面虽然采用无服务器架构的好处很多,但仍有一些问题需要考虑。让我们来看看在决定采用这种新的开发模型时要牢记的主要挑战。供应商锁定对于无服务器架构,在设计和迁移阶段必须考虑供应商锁定。通常,这些类型的体系结构更容易在各种供应商的“花园墙”内开发。这就是为什么企业必须从一开始就清楚地了解从一个供应商过渡到另一个供应商时可能出现的关键问题:并非所有供应商的运行时和编程语言支持都是统一的,它们会更慢。慢慢调整这些。业界缺乏用于描述触发无服务器代码执行的事件的标准化格式。一些平台使用专有或内部开发的工具进行打包和部署。为了减轻这些担忧,促进云原生实施开放标准传播的云原生计算基金会(CNCF)维护了一个观察站,以按组织跟踪这些无服务器产品。CNCF支持开发、开放标准和解决方案,例如CloudEvents(事件数据的标准化格式)和用于在云端和本地实施FaaS服务的Knative。估算成本的挑战由于FaaS服务的按使用付费定价模型,估算成本可能很困难。在没有固定费用的情况下,公司在将应用程序实施到生产中时经常会遇到令人讨厌的意外,因为他们在必要时为资源使用付费。分析来自不同供应商的报价是个好主意。公司实际上可能会发现不同供应商之间在成本、免费可用资源等方面存在显着差异。此处一个有趣的估算器是无服务器成本计算器,它模拟使用一些最流行的平台(例如AWSLambda、AzureFunctions、GoogleCloudFunctions和IBMOpenWhisk)的成本。冷启动在无服务器范例中,资源仅在实际使用时才计费。出于经济上的考虑,云厂商会在企业实际不使用资源的时候停止资源。因此,有时可能会出现激活延迟(冷启动)。冷启动是调用函数与实例激活和响应请求所需时间之间的延迟。以下是可能影响冷启动问题的三个因素:使用的编程语言、分配和可用的资源数量、依赖关系以及整体应用程序的复杂性。因此,通过处理设计的每个参数来优化功能启动时间非常重要。的。企业可以采用云供应商推荐的特定技术,例如AWS用于Lambda功能,或GoogleCloudPlatform用于CloudRun功能。安全风险尽管所有云供应商都提供高级安全系统,但请注意,与专用本地服务器相比,服务于多个客户的服务器自然更容易受到安全问题的影响。这是由于更大的事件源集也增加了潜在的攻击面。一些常见的风险源于依赖从第三方软件获得的无服务器功能,例如开源包和库,以及分布式拒绝服务(DDoS)攻击。结论虽然在采用无服务器架构时会遇到各种挑战,但在大多数情况下,使用的好处大于关键问题的风险。此外,通过仔细选择供应商以避免锁定、实施上述各种措施来减轻冷启动等,可以轻松识别和解决一些问题。