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

Serverless架构正在蚕食基础设施

时间:2023-03-13 22:21:25 科技观察

云计算时代,大量XaaS形式的概念涌现,从IaaS、PaaS、SaaS到容器云龙头的CaaS,再到大热的微服务架构上,他们都在努力将各种软硬件资源抽象为服务,供开发者使用,让开发者不再担心基础设施、资源需求、中间件等,可以更好地专注于业务,同时减轻精神负担.无服务器架构(Serverless)和功能即服务(FaaS)是云计算的热门趋势。除了微软和亚马逊,还有许多其他供应商也提供FaaS。很多文章都介绍了Serverless架构技术的典型应用场景是在流式任务处理中,也越来越受到关注。本文将向大家介绍什么Serverless架构将成为下一代IT基础设施。去年秋天,澳大利亚统计网络因流量涌入而在数小时内崩溃。接下来的周末,两名大学生在一次黑客马拉松中搭建了一个非官方的澳大利亚统计网站,可以处理四倍于官方网站的流量,而且非官方网站只花费了大约400美元,而澳大利亚政府在官方网站上花费了大约10美元百万!这里的重点不是关于政府的浪费,而是关于一个即使对云知识最少的小团队也能提供正确的基础设施技术,例如亚马逊的无服务器产品AWSLambda。更复杂的网站可以在短时间内完成。提供商业价值,而不是软件随着软件吞噬世界,我们常常陷入忘记企业使命是为客户提供价值的陷阱。提供给客户的价值绝对不是软件,软件只是一种手段,我们应该尽量少写软件。可悲的是,我们常常忘记这一点。幸运的是,软件开发行业正在经历一些根本性的反思、大型综合应用程序、较长的构建测试发布周期以及无法快速整合用户反馈。几个趋势正在推动这种转变:微服务正在成为主流。微服务架构曾经专供网络规模的公司使用,现在已被主要开发人员广泛采用。由于更快的部署周期、更高的资源利用率和微服务带来的更大的设计自主权,应用程序开发正迅速从高容量转向分布式、面向服务的架构。开源的兴起。开源软件和共享代码存储库(如GitHub)的迅速普及已将软件开发转变为一种社区活动。今天的开发人员广泛使用开源和第三方服务来集成最新技术并显着缩短上市时间。成功的产品需要快速迭代。与几年前不同,当时软件产品经历了长达一年的设计、实施和测试周期而从未与用户互动,如今最好的产品建立在快速、理解用户反馈循环的基础上。对于初创企业和大公司来说都是如此。当然,为了利用上述趋势,需要合适的基础设施。到目前为止,我们仍然受到基础设施IT堆栈的限制,在过去的十几年里,我们一直在努力构建适合基础设施的应用程序,而不是适合应用程序的基础设施。虽然我们确实尝试通过容器和DevOps等创新来改进,但这造成了更多的复杂性。如果未来我们有数十亿台设备需要实时或封闭的数据传输、分析和处理,很明显我们现有的基础设施无法满足需求,我们需要的是一个全新的基础设施堆栈。它应该是应用程序优先的,允许开发人员专注于提供业务价值。进入无服务器世界无服务器架构(又名功能即服务或FaaS)正是我们下一代基础设施所需要的。无服务器架构允许开发人员运行后端代码,而无需管理自己的服务器系统或服务器端应用程序。开发人员可以将他们自己的代码与其他领先的服务相结合,以创建他们可以与用户一起测试以实现快速发布和迭代的应用程序。无服务器架构有几个好处。首先,不考虑基础架构可以降低开发人员运行应用程序的复杂性。其次,横向扩展是完全自动化和有弹性的。第三,降低打包和部署的复杂性使开发人员能够快速迭代多个实现。第四,随着计算单元缩小到一个函数(而不是一个VM或容器),资源利用率水平被最大化,允许用户为他们使用的东西付费。因此,无服务器的流行度增长是惊人的。到目前为止,用例包括集成(将应用程序中的功能公开给外部调用者)、事件驱动用例(根据事件触发器将日志从一个位置移动到另一个位置)、DevOps(CI/CD计时作业)和数据处理。然而,正如我们在虚拟机和容器(两者最初都仅限于开发测试用例)中看到的那样,我们预计无缝服务器将很快演变成更通用的工作负载。事实上,领先的公共云提供商估计,在3到5年内,50-60%的云工作负载将是无服务器的。三大云提供商之一的无服务器工作负载环比增长超过100%。***,谷歌趋势(一个很好的指标)显示,在过去18个月中,无服务器搜索的受欢迎程度增长了20倍!无服务器架构的陷阱虽然无服务器架构非常有前途,但重要的是要认识到无服务器是一项非常年轻的技术,距离成为主流还有一段距离。无服务器架构有两个最突出的限制。***,截至今天,无服务器函数是无状态的。状态信息不能从一个函数调用传递到下一个函数调用。这限制了可以在无服务器基础设施上构建的应用程序的种类。其次,与任何新技术一样,Serverless缺乏成熟的工具生态系统。由于高度分布式架构和安全性,监控和调试无服务器应用程序非常棘手。此外,Serverless有一些独特的困难,比如发现可用的功能并将它们拼接在一起构建应用程序,这需要额外的编程才能完成。话虽如此,鉴于用户对大型云服务提供商和小型初创公司的兴趣,以及相关领域投资的增加,我们仍然期望工具生态系统、水晶球凝视基础设施抽象和自动扩展的快速成熟以及更好的资源利用应该使无服务器成功。但是认为无服务器只是下一代基础设施是非常短视的。无服务器的真正机会要大得多。事实上,无服务器可以从根本上重新定义企业软件的分发、商品化和货币化方式。如今,企业软件主要有两种类型:本地安装和SaaS。运行和管理相应基础设施的责任在于以前的软件消费者。相比之下,无服务器用户或提供商不需要运行或管理任何基础设施。这很重要,它为通过市场分发和使用企业软件开辟了新的可能性。例如,安全供应商可以将其恶意软件检测软件打包和部署为无服务器平台的功能,并将其出售给多个不同的消费者,例如移动应用程序开发商、物联网设备制造商和无人机运营商公司。这些消费者只需调用此功能,只需为他们使用的功能付费。类似地,其他专业服务(例如,机器学习、身份验证、支付处理等)可以以类似的方式打包和货币化。此外,无服务器可以促进企业软件的非捆绑定价,创造更大的货币化机会。例如,聊天业务可以将其自然语言处理功能作为上述市场中的一项服务来实施,而无需担心管理基础设施的开销。如果发生这种情况,企业将能够提供比以往任何时候都更精细的软件服务。***,正如我们之前所说,应用程序正在演变为服务的挂毯,应用程序逻辑将这些服务粘合在一起。其中一些服务将在内部构建,一些将来自同一公司内的另一个团队,还有一些将来自完全外部的第三方。此外,这些服务可以在一个或多个公共云或混合云的组合上本地运行。当这种情况发生(并且已经发生)时,我们将需要一个位于所有IaaS提供商(公共或私有)之上的基础设施框架,以提供服务发现功能、呼叫路由和计费,而不管每个人的服务运行在哪个IaaS上,想象一个运行在这个框架上的应用程序,它来自GCP(来自AWS(或Azure)的数据库服务)和一组来自私有云机器学习服务中内部服务的GCP调用。当这种情况发生时,权力将开始从24x7IaaS提供商转移到框架。也就是说,无服务器最终真的可以吞噬基础设施!