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

真的不懂serverless!

时间:2023-03-18 00:53:01 科技观察

作者|由AllenHelton策划|YunZhaoServerless的定义在不断变化,似乎没有人能够就它的实际含义达成一致。经常就AWSServerless架构发表演讲的老手Allen说:“我已经不知道Serverless是什么了。”过去,Allen对Serverless的把握是坚定而清晰的,但最近似乎动摇了。也许是因为越来越多的人在他们的项目、服务和存储库中使用“无服务器”一词,削弱了我们过去对“无服务器”的定义。艾伦写道:“无服务器今天很难开始。刚开始需要许多开发人员的思维方式从他们习惯的方式发生重大转变。除此之外,学习如何在AWS控制台,有点令人沮丧。”根本原因在于技术圈对于“Serverless”的实际含义还没有达成一致。甚至更进一步,我们需要就“无服务器开发”的构成达成共识。两者是完全不同的故事。1.什么是无服务器?在ChatGPT上提问:“什么是Serverless?”,你会得到如下答案:ChatGPT上Serverless的解释不需要在超级计算机上部署应用程序,可以使用堪比魔幻空间的云端自动保障使用的应用程序。不必担心是否有足够的空间可以节省大量时间和金钱……Momento博客上有一个很好的试金石,Allen认为它符合真正无服务器服务的定义。没有法规,没有基于管理使用的计费定价,没有最低要求,只有一个API调用,没有计划的停机时间,没有实例也就是说,开发人员应该能够选择和使用实际工作的无服务器服务。就像之前创建Lambda函数时,开发人员调用CreateFunction端点(最好在IaC中声明),然后立即开始调用它。但是NeptuneServerless不行,我需要配置VPC,选择容量单位,选择多AZ部署设置。体验相当差。除了影响无服务器服务的开发人员体验外,它还会影响组织。服务扩展的弹性如何?如果流量激增,基础架构是否会自动扩展来处理它而不需要内部SRE团队?当应用程序不在使用时怎么办?它会缩小到0吗?没有人愿意为过度配置的资源付费。没有最低付款的“现收现付”模式是一个重要指标,因为它表明您正在使用无服务器服务。无服务器是一种模式,消费者只需为他们使用的服务付费。服务由可靠、可扩展的基础架构提供支持,该基础架构可根据传入流量自动扩展和缩减,从而完全减轻消费者的负担。这些服务使用简单,只需很少的配置即可启动。接下来,让我们谈谈成为一名无服务器开发人员意味着什么。2、什么是无服务器开发?那些使用无服务器服务构建应用程序的人正在做无服务器开发。但这并不像听起来那么简单。无服务器开发人员以无服务器优先的心态进行构建。这意味着他们寻求在开发过程中利用无服务器服务,例如基础设施管理、可用性和可扩展性(以及其他)。这并不意味着他们必须为每个工作负载使用Lambda或Step函数。这与构成应用程序的特定服务无关;这是组织在利用共享责任模型时获得的好处。许多开发人员陷入无服务器开发的细节之中。例如,了解如何在Lambda上使用Step函数构建直接集成或优化性能是构建应用程序时的一个重要细节,但它不是无服务器开发的核心。Serverless就是专注于全面有效地解决业务问题。目的是在一定条件下找到合适的产品市场,以便在创纪录的时间内将稳定的软件推向市场。3.怎么做?正如无服务器大师SheenBrisals在最近的AWSre:Invent2022上提到的那样,无服务器开发的核心概念已经存在很长时间了。AWS等云提供商正在使其更易于利用。确实,Serverless是使软件更快、更可持续、更健壮的垫脚石,但前提是全世界的人们都需要了解什么是Serverless作为构建现代应用程序的方式。我们现在需要推动的不仅仅是云采用,而是云最佳实践。使用事件驱动架构,设计NoSQL数据模型,并在可能的情况下使其异步。4.ifC不是Serverless吗?随着基础设施即代码(IfC)大力进军云市场,无服务器服务完全从开发人员那里抽象出来。没有构建Lambda函数、SQS队列或DynamoDB表。相反,在理解分布式系统架构模式的情况下构建应用程序。如果我们认为它完全不同怎么办?所有这些关于无服务器或非无服务器的“窃窃私语”讨论可能最终都没有实际意义,我们将整个范式称为云原生开发。5.写在最后随着AuroraServerless、NeptuneServerless和OpenSearchServerless的发布,AWS开始模糊它对Serverless的定义。也许这是云计算之旅的一部分。Serverless开发者将转型为“云原生”开发者。我们将设计依赖于既定架构模式的软件,而不是严重依赖特定的托管服务。IT行业是一个快速迭代的行业,会产生多种观点、多种软件和多种运动。一切都变化得太快了。因此,我们需要重新定义Serverless,否则开发者和企业都会受苦。原文链接:https://link.medium.com/ulWeXinUBvb