与任何颠覆性技术一样,无服务器计算的应用也充满了期望和炒作。人们需要了解真相,并确定新技术是否适合自己的企业,这需要客观的态度和仔细的计划。直到几年前,物理服务器还是一项基础技术,是数据中心的数字心脏。随着云计算的出现,越来越多的企业从云计算提供商获得越来越多的云计算服务,数据中心的服务器似乎成为濒临灭绝的物种。
无服务器计算正在尽其所能加快本地服务器的消亡。而企业转向云计算提供商来动态管理机器资源的分配,并根据应用程序实际消耗的资源量向用户收费的概念越来越受到用户的欢迎。2019年底,技术媒体和培训厂商O'Reilly公司进行的一项调查发现,10家企业中有4家已经采用了无服务器技术,其涉及范围和行业很广泛。
但是人们不要被无服务这个名称误导,无服务器计算仍然依赖于服务器。无服务器软件开发商Volare Systems公司总裁 Joe Wilson指出:“无服务器计算实际上是在服务器上运行的,但是企业的云计算提供商会根据需要配置服务,企业没有虚拟服务器或应用程序服务。”
本质上,无服务器是一种应用程序部署体系结构,使开发人员可以编写代码,然后按需执行。
无服务器不仅是一项技术,而且是一种查看基本IT运营的全新方式。 Liberty Mutual Insurance公司云平台策略高级架构师Brent Austin说:“无服务器的主要好处是,它迫使用户考虑以云原生方式设计系统。如果考虑以无服务器优先的思维方式设计应用程序,则更有可能实现具有成本效益的、可扩展的和有弹性的体系结构,而不受到该系统内特定技术选择的束缚。”
在哪里使用无服务器计算
无服务器计算能够以很多方式进行部署。专业服务机构埃森哲公司云计算战略、架构和交付的常务董事Miha Kralj表示,“许多用例专注于相对简单的需求(例如网页应用程序),这些应用程序现在通常使用无服务器编码。由于无服务器平台会在需要时自动扩展,因此可以快速开发简单的应用程序,而不必担心基础设施的复杂性。”
Kralj指出:“无服务器擅长于不同应用程序系统的协调。无服务器计算非常适合检测事件,并通知另一个应用程序或系统;例如,数据库中的更改何时触发代码更改或安全性审查。无服务器可能是在系统之间创建这类自动化工作流的好方法。”
Kralj指出,无服务器也可以满足附加需求。他说,“当客户拥有大型或复杂的解决方案,但需要添加一种或另一种功能时,无服务器可能是理想的选择。”例如,无需打开大型应用程序即可插入简单的功能(例如从新来源添加客户记录),可以轻松创建无服务器功能来捕获新输入,并调用应用程序的API。
无服务器计算的成本优势
从本质上讲,无服务器计算体系结构往往比替代方法更具成本效益。Austin建议说,“无服务器的一项核心功能是,它可以随时扩展或缩小,这样当不使用它时,用户就不必为之支付费用。”
咨询机构SPR公司的移动和新兴技术执行总监Kevin McMahon说,采用无服务器技术,客户是为使用量而不是容量付费。他将无服务器模式与拥有汽车与使用乘车共享服务进行了比较。他解释说:“在获得乘车共享服务之前,如果想从A点到达B点,可能需要自己拥有一辆汽车,需要购买保险,并必须进行保养维护。而有了乘车共享服务之后,就不再需要购买和维护汽车,只需在使用时支付从A点到B点的费用即可。无服务器技术就是如此,只需为需要完成的工作量付费,而不需要为额外的基础设施和维护支付费用。”
IT服务管理商Aptum公司的云计算业务主管Craig Tavares指出,无服务器计算还可以帮助采用者避免与资源过度分配相关的成本,从而确保支出与实际消耗一致。此外,通过将应用程序划分为简单的、目标驱动的功能,可以在云平台中快速、廉价地部署和分发应用程序。Tavares补充说:“开发周期中速度的提高也提高了产品的上市速度,从而使企业能够专注于持续改进和客户满意度。”
经营二手医疗设备的Medinas公司的首席技术官Tim Growney说,“由于按使用付费定价,因此没有正常运行时间成本,支付的费用肯定会因为使用的情况而有所不同,但是对于我们来说,通常也会采用AWS公司的免费套餐,这使我们的Web托管成本几乎为零。”
无服务器会影响IT工作负载吗?
无服务器计算可以通过多种方式减轻IT工作量,最显著的方式是使企业员工摆脱例行管理服务器性能、可靠性、维护和安全性任务的负担。Austin说,“实施健康检查以确保应用程序正常运行,管理底层操作系统以应用最新的安全补丁,或确保为底层基础设施配备了足够的能力来处理高峰工作负载的需求,这些基本上都是由客户来处理的无服务器平台。”
无服务器还减轻了开发人员的工作量。Austin指出,“这将导致开发人员编写更少的代码,特别是基础设施代码,对IT团队很有吸引力。可以让更多的开发人员部署业务功能,同时让无服务器技术处理基础设施配置,对于IT组织而言是一项强大的收益。”
Kralj表示,加快开发速度还可以使企业更灵活、更具创新性。无服务器是将想法转变为功能解决方案的最快方法。该方法非常适合快速的应用程序开发,客户现在只需几行代码就可以实现。
自相矛盾的是,无服务器有时也会增加工作量,尽管不会在某种程度上抵消该技术的许多好处。灾难恢复服务提供商Sungard Availability Services公司首席技术官、高级架构师Greg Cox警告说:“将有更多的工作涉及到创建功能……以及将API整合在一起以完成业务需求。”
减少错误也可能会增加工作负载。数字业务平台开发商AHEAD公司的云计算首席顾问Bert Johnson警告说:“没有标准化的安全性、测试、监视和配置管理,无服务器的错误就很隐蔽。”他指出,错误会放大软件开发过程中的缺陷,同时迫使开发人员放弃关键任务以加入搜索和修复任务。
无服务器计算的缺点
尽管具有很多优点,但无服务器计算也存在一些明显的缺点。例如,该技术在支持长时间运行方面并不是特别好。McMahon说:“如果企业运行的任务或流程需要花费很长时间进行计算,那么无服务器将不是正确的方法。目前,Azure Functions和AWS Lambda分别最多只能运行10分钟和15分钟。”
冷启动也会使一些无服务器采用者感到为难。McMahon解释说:“冷启动是一个时间段,通常是几十毫秒,需要唤醒一个函数才能执行它。对于大多数用例来说,这次可以忽略不计,但是在某些用例中,这种延迟是不可接受的,并且无服务器计算将不是理想的。”
Kralj警告说,“潜在的采用者也可能因供应商锁定的可能性而受到劝阻。IT和开发主管应该意识到,主要的无服务器系统(AWS Lambda、Azure Functions和Google Cloud Functions)不能互换。”
从安全角度来看,无服务器提出了一个独特的挑战。安全软件开发商Aqua Security公司战略副总裁Rani Osnat指出:“一方面,这种风险受到运行时间较短和与底层主机操作系统隔离的限制。另一方面,功能通常配备了太多权限或易受攻击的组件,这可能导致无服务器功能被用作攻击获得其他资源的中间步骤。”他建议,应安全配置无服务器,并监视其异常和滥用。
无服务器采用者在计算其容量需求时也应谨慎。Growney说:“传统服务器在容量过剩时会发生故障,从而防止成本过高。无服务器趋向于以相对不受限制的方式进行扩展,如果操作不小心,可能会产生代价昂贵的错误。”
最后,无服务器采用者也可能会看到他们的薪酬将会增长。IT招聘机构Jefferson Frank的执行副总裁兼云计算负责人Patrick Navarro表示:“如果企业专注于技术,则将为招聘开发人员分配更重要的支出之一。而熟练的开发人员比较紧缺,因此聘用和保留费用很高。”
展望未来:无服务器辅助集成工作
随着云计算提供商继续引入新服务,IT领导者面临着将所有内容集成在一起以形成一个能够与云计算或数据中心中运行的遗留应用程序集成的一致解决方案的挑战。Kralj说,“无服务器计算非常适合这些新的集成挑战。无服务器具有响应式、事件驱动的特性,可以实现现代解决方案所需的服务之间的各种实时连接。”
新来者应该以评估任何颠覆性技术的相同方式使用无服务器。IT咨询机构Anexinet公司的云计算架构师John Kovolski建议说:“人们需要花费时间在实施之前学习和理解无服务器技术。至少要有一个回滚过程。”为了深入了解潜在的运营和成本优势,Kovolski建议测量当前系统的性能,以与计划中的无服务器更换进行比较。
Growney建议逐步放松对无服务器技术的限制。他解释说:“无服务并不是一种是全能的技术,用户使用它可以根据需要使用量增加或减少。”
【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】