直到几年前,物理服务器还是一项基础技术,是每个数据中心跳动的数字心脏。2020欧洲杯预赛然后云出现了。今天,随着组织继续向云提供商提供越来越多的服务,本地服务器似乎濒临成为濒危物种的边缘。
Serverless计算正在加速本地服务器的消亡。转向云提供商动态管理机器资源的分配,并仅根据应用程序消耗的实际资源数量向用户收费,这一概念正得到越来越多的接受。一个晚2019年的调查由技术媒体和培训公司O'Reilly进行的这项调查发现,10家企业中有4家已经采用了无服务器技术,这些企业分布在不同的地区和行业。
但是,不要被误导。尽管名为无服务器计算,但它仍然依赖于服务器。“没有服务器的计算实际上是在服务器上运行的,但是您的云提供商根据需要提供服务;你不拥有虚拟服务器或应用程序服务飞翔的系统,无服务器的软件开发人员。从本质上说,无服务器是一个应用程序的部署架构,使开发人员能够编写代码,然后执行它点播。
无服务器不只是技术,而是看根本IT运营的一种全新的方式。“无服务器的一个主要好处是,它迫使你想在云机方式设计自己的系统,”布伦特奥斯汀,在云平台战略的高级建筑师说自由互助保险。“如果您考虑使用服务器优先的思想来设计应用程序,那么您更有可能实现具有成本效益、可伸缩性和弹性的体系结构,而不受系统中特定技术选择的约束。”
在哪里使用无服务器计算
无服务器计算可以在几乎无限数量的方式来部署。许多用例集中在相对简单的需求,比如网页应用程序,这是现在常用的无服务器编码,报告米哈Kralj,在专业服务公司的云计算战略,架构的董事总经理和交付埃森哲。“因为无服务器平台在需要时可以自动扩展,简单的应用程序可以快速开发,而不必担心基础设施的复杂性。”
无服务器擅长于不同应用系统的协调。“无服务器计算是理想的检测[一个]事件和通知另一个应用程序或系统;例如,当在数据库中的改变将触发代码改变或安全的综述,” Kralj笔记。“无服务器可以创建这些类型的系统之间自动化的工作流程的一个好方法。”
Kralj说,对于“栓接”需求来说,无服务器也是一个不错的选择。“当客户端有一个大型或复杂的解决方案,但需要添加这样或那样的功能时,没有服务器是最理想的。”For example, instead of opening a large application to insert a simple function, such as adding a customer record from a new source, a serverless function can be easily created to capture the new input and call the application's API. "A quick, painless and reliable approach" Kralj says.
无服务器计算的成本优势
从本质上讲,无服务器计算体系结构往往比其他方法更经济有效。“serverless的一个核心功能是它可以向上和向下扩展到0,这样当它不被使用时,您就不用为它付费了,”Austin建议。
咨询公司移动和新兴技术执行董事凯文•麦克马洪(Kevin McMahon)表示,使用无服务器技术时,客户支付的是消费,而不是容量SPR。他将无服务器模式比作拥有一辆汽车和使用共乘服务。他解释道:“在拼车之前,如果你想可靠地从A点到达B点,你可能拥有一辆车,支付了保险,而且必须保养它。”“有了共乘,你就不用再担心车的问题了,你想从A地到B地只需付钱就可以了——你只需支付需要完成的工作,而不是额外的基础设施和维护。”
IT服务管理公司(IT service management company)的云主管克雷格•塔瓦雷斯(Craig Tavares)表示,无服务器计算还可以帮助采用者避免与资源过度分配相关的成本,确保支出与实际消耗相符Aptum。此外,通过将应用程序分割成简单的、专门驱动的功能,可以快速、廉价地在云中部署和分发它们。Tavares补充道:“开发周期中增加的开发速度也提高了产品进入市场的速度,从而使组织能够专注于持续的改进和客户满意度。”
该公司首席技术官蒂姆•格洛尼(Tim Growney)表示,由于采用按次计费的定价方式,因此不存在正常运行时间成本麦地那,经营的二手医疗设备市场。“您的里程会根据你的使用情况肯定会发生变化,但我可以说我的公司......我们将永远通常属于AWS自由层的外面,使我们的Web托管费用几乎为零。”
无服务器是否影响IT工作量?
无服务器计算可以减轻IT工作负载在几个方面,最明显的从日常管理服务器的性能,可靠性,维护和安全任务使工作人员。“实施健康检查的需求,以确保应用程序的正常运行时间,管理底层操作系统对于应用最新的安全补丁,或确保底层基础设施已配备了足够的容量来处理峰值工作负载是由你本质上处理所有的事情无服务器平台,”奥斯汀说。
无服务器也减轻了开发人员的工作量。“写更少的代码,尤其是基础设施的代码,是有吸引力的IT底线,”奥斯汀笔记。“有更多的开发部署业务功能,而让无服务器技术的手柄设置基础设施,是一个强大的利益IT组织。”
加快发展速度还可以使企业更敏捷,更具创新性。无服务器是把一个想法变成一个实用的解决方案以最快的方式,Kralj说。“这种方法非常适合快速开发应用程序,你现在可以使用的代码,只需几行实现它。”
矛盾的是,serverless有时也会增加工作负载,尽管不会抵消该技术的许多好处。“将会有更多的工作涉及到创造功能……并将api拼接在一起以完成业务需求,”灾难恢复服务提供商的高级CTO架构师Greg Cox警告说Sungard可用性服务。
压缩bug也会增加工作量。“如果没有标准化的安全、测试、监控和配置管理,没有服务器的bug是潜在的,”digital business platform developer的首席云顾问Bert Johnson警告说先。他指出,bug会放大软件开发过程中的缺陷,同时迫使开发人员放弃关键任务,加入搜索和修复任务。
无服务器计算的缺点
对于所有的优点,无服务器计算也呈现出一些显著的缺点。该技术也不是特别好,例如,在支持长时间的操作。“如果你正在运行的是需要很长的时间来计算任务或进程占用服务器将不会是正确的做法,”麦克马洪说。“目前,Azure的功能和AWS LAMBDA只能运行分别为最大的10和15分钟。”
冷启动也会通过一些没有服务器的采用者传递寒意。“冷启动是唤醒一个函数以执行它所需要的时间周期——通常是几十毫秒,”McMahon解释说。“对于绝大多数用例来说,这段时间是微不足道的,但是在一些用例中,这种延迟是不可接受的,没有服务器的计算也不是理想的。”
潜在的采用者可能也会因为厂商锁定的前景而放弃。“IT和开发领导者……应该注意的是,主要的无服务器系统——AWS Lambda、Azure函数和谷歌云函数——是不可互换的,”Kralj警告说。
从安全角度来看,无服务器提出了一个独特的挑战。“在一方面,风险是由来自底层主机OS短期运行的持续时间和隔离的限制,”拉尼笔记Osnat,安全软件开发商战略副总裁水上安全。他说:“另一方面,函数常常具有太多的权限或脆弱的组件,这可能导致在攻击中将无服务器的函数用作访问其他资源的中介步骤。”Osnat建议,应该安全地配置无服务器,并监视异常和滥用。
计算它们的容量需求时,无服务器的使用者也应谨慎。“传统的服务器翻倒时,他们在能力,防止成本超龄,” Growney说。“无服务器往往能够在一个相对无限的时尚,如果你不小心它可能导致非常冤枉路规模。”
最后,无服务器的转换也可能看到他们的工资增加。IT招聘机构的执行副总裁兼云主管Patrick Navarro说:“如果你的公司专注于技术,那么其中一项更重要的支出将分配给招聘开发人员。杰斐逊弗兰克。“合格、有技能的开发人员寥寥无几,反过来,聘用和留住他们的成本也很高。”
展望未来:无服务器有助于集成工作
随着云提供商不断推出新的服务,IT领导者面临的挑战是将所有东西粘在一起,形成一个能够与在云或数据中心运行的遗留应用程序集成的一致解决方案。2020欧洲杯预赛Kralj说,无服务器计算对于这类新的集成挑战是非常理想的。“由于其反应性和事件驱动的特性,serverless支持各种服务之间的实时连接,这正是现代解决方案所需要的。”
新人应该在他们将评估所有颠覆性技术一样的方式接近无服务器。“花时间去学习和了解[无服务器]产品实施之前,”建议约翰Kovolski,在IT咨询公司的云架构师Anexinet。“至少,要有一个回滚过程,”他说。为了深入了解潜在的操作和成本效益,Kovolski建议测量当前系统的性能,以便与计划中的无服务器替换进行比较。
Growney建议逐步缓解为无服务器技术。“无服务器不一定是‘所有’技术,”他说。“它可以被用来作为很少或尽可能是必要的。”
了解更多关于无服务器计算: