无服务器计算如何节省时间和成本

来源 :计算机世界 | 被引量 : 0次 | 上传用户:xurizhaoyangdongshen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  独立的简单函数可以让开发工作变得更加容易,同时由事件驱动的执行可让操作变得更加便宜。
  开发人员往往需要花费大量的时间编写代码以解决业务问题。随后,运营团队又要花费大量精力搞明白开发人员编写的代码,并让它们在所有的计算机上运行,然后还要确保这些计算机能够顺利运行。这可以说是一项永远没有尽头的任务,那么为什么不将这部分工作留给别人去做呢?
  在过去的二十年里,虚拟机、云计算、容器等众多IT创新一直专注于确保让用户不必过多地考虑运行代码的底层物理机器。如今无服务器计算正变得越来越受青睐,原因在于在使用无服务器计算时,用户不需要了解运行代码的硬件或操作系统,因为服务提供商都会为他们代劳。
  什么是无服务器计算?
  无服务器计算是一种云执行模型,由云服务提供商动态分配执行特定代码片段所需要的资源和存储,然后根据使用情况向用户收费。当然,这仍然涉及服务器,但是它们的供应和维护完全由服务提供商负责。亚马逊无服务器计算的倡导者Chris Munns在2017年的会议上就曾表示,站在编写和部署代码的团队的角度,“根本没有服务器可以管理或配置。这里面既没有裸机,也没有虚拟服务器和容器。在无服务器领域中,不需要你管理主机、修补主机或是在操作系统层面处理任何东西。”
  开发人员Mike Roberts称,“无服务器”这一术语曾被用于描述所谓的“后端即服务”场景,在这种场景中移动应用程序将连接完全托管在云中的后端服务器。如今当人们谈论无服务器计算或无服务器架构时,往往是指“功能即服务”产品,在这种场景中用户编写的代码只用于业务逻辑并上传至服务提供商那里。该服务提供商负责配置所有的硬件、虚拟机和容器管理,甚至包括通常内置于应用程序代码中的多线程这类的任务。
  无服务器函数是事件驱动的,这意味着只有在请求触发时才会调用代码。服务提供商仅根据计算时间对该次执行进行收费,而不是每月对维护物理或虚拟服务器等工作收取固定费用。这些函数可以连接在一起以创建处理管道,或者作为规模更大的应用程序的组件,与运行在容器中或在传统服务器上的其他代码交互。
  无服务器计算的优缺点
  对于这个问题,无服务器计算的两个最大好处是:开发人员可以专注于代码的业务目标,而不是基础设施问题,公司只需要支付他们实际使用的计算资源,而不用购买物理硬件或租用云实例,因为往往这些硬件和实例在购买或租下后大部分会处于闲置状态。
  Navica公司的CEO Bernard Golden认为,后一点对于由事件驱动的应用程序特别有益。例如,应用程序可能大部分时间处于空闲状态,但是在某些情况下又必须同时处理许多事件请求。亦或者,应用程序只需要处理物聯网设备定期性或间歇性发送过来的数据。在这两种情况下,传统方法都需要配置一个能够处理峰值负载的强大服务器,但是大多数时候服务器都没有得到充分利用。如果使用的是无服务器架构,那么你只需为实际使用的服务器资源付费。
  无服务器计算也适用于特定类型的批处理。无服务器架构用例的经典实例之一是上传和处理一系列单个图像文件并将它们发送到应用程序的另一部分。
  无服务器函数最明显的缺点可能是,它们是短暂的,并不适合长期任务。大多数无服务器服务提供商不会让代码执行超过几分钟,在启动函数时,他们也不会保留之前实例的任何状态数据。问题在于,无服务器代码可能需要几秒钟才能启动,虽然这对于许多用例而言并不是问题,但是如果应用程序需要低延迟,那么这就成了问题。
  正如一些业界专家所指出的那样,许多其他缺点都与供应商锁定有关。尽管有可用的开源选项,但是大型商业云服务提供商在无服务器市场占据了主导地位。这意味着开发人员往往最终会使用他们的服务提供商的工具,这导致即便他们不满意也很难换用其他服务提供商的产品。而且大量的无服务器计算都是在服务提供商的基础设施上进行的,因此将无服务器代码集成到本地开发和测试管道中会变得可能很困难。
  无服务器服务提供商:AWS Lambda、Azure函数和谷歌云函数
  无服务器计算时代始于2014年,其标志是基于亚马逊云服务的AWS Lambda的推出。微软在2016年也推出了Azure函数。自2017年以来一直处于测试阶段的谷歌云函数(Google Cloud Functions)也终于达到了生产状态。这三种服务在局限性、优势、支持的语言和工作方式方面略有不同。业内专家Rohit Akiwatkar对这三者之间的区别曾进行过详细介绍。此外,处于运行状态的还有基于开源Apache OpenWhisk平台的IBM Cloud Functions。
  在所有无服务器计算平台中,AWS Lambda是最突出的,发展时间最长和也最为成熟。
  无服务器堆栈
  与许多软件领域的情况一样,无服务器世界也看到了软件堆栈的发展,这些软件堆栈可为构建无服务器应用程序提供所需的不同组件。每个堆栈由编程语言、应用程序框架和一组触发器组成。其中,应用程序框架可为代码提供架构,触发器可帮助平台理解并启动代码执行。
  虽然用户可以混合使用这些类别中的不同产品,但是服务提供商方面存在一些限制。例如,在语言方面,用户可以在AWS Lambda上使用Node.js、Java、Go、C#和Python,但只有JavaScript、C#和F#可在Azure函数上工作。在触发器方面,虽然AWS Lambda的产品列表最长,但是其中的许多产品都是特定于AWS平台的,如Amazon Simple Email Service和AWS CodeCommit。谷歌云函数则可以由通用HTTP请求触发。
  无服务器框架
  框架部分值得我们多说两句,因为它们很好地定义了如何最终构建应用程序。除了自己的原生产品,即开源的无服务器应用程序模型(SAM)外,亚马逊还有一些其他产品,这些产品大多数都是跨平台的,也是开源的。其中最为流行的是Serverless,它强调为AWS Lambda、Azure 函数、谷歌云函数和IBM OpenWhisk等每个支持的平台提供相同的体验。另一个深受欢迎的产品是Apex,可帮助提供一些服务提供商无法提供的语言。   无服务器数据库
  正如我们上面提到的,使用无服务器代码工作的一个弊端是没有“持久状态”,这意味着局部变量的值不会在实例化中持续存在。代码需要访问的所有持久性数据都必须存储在其他位置,并且堆栈中的触发器要包含函数与之交互的数据库。
  其中一些数据库被称为“类无服务器”。这意味着它们的行为与我们在本文中讨论的无服务器函数非常相似,不过一个明显区别是数据可以被无限期存储,但是涉及配置和维护数据库的大部分管理开销都被消除了。正如开发人员Jeremy Daly所说,“你需要做的工作就是配置一个集群,然后它们为你自动处理所有维护、修补、备份、复制和扩展。”与“函数即服务”产品一样,你只需支付實际使用的计算时间,并根据需要调高或调低资源以满足需求。
  三大无服务器提供商各自拥有自己的无服务器数据库:亚马逊的为Aurora无服务器和DynamoDB,微软的是Azure Cosmos数据库,谷歌的是Cloud Firestore。
  无服务器计算和Kubernetes
  容器可带动无服务器技术。由于管理它们的开销由服务提供商负责,因此用户无需担心这部分开销。许多人认为通过无服务器计算享受到容器化微服务的诸多优点,同时又可免去烦琐的操作。有些人甚至已经开始谈论“后容器”时代。
  实际上,容器和无服务器计算在未来许多年内几乎肯定会共存,因为无服务器函数可以与容器化微服务共同存在于同一应用程序当中。作为最受欢迎的容器编排平台,Kubernetes能够管理无服务器基础设施。通过Kubernetes,用户可以在单个集群上集成不同类型的服务。
  脱机(离线)运行无服务器
  在开启无服务器计算之旅前用户可能会感到有些不安,因为他们需要与服务提供商签约才能使用,并且需要了解它们是如何工作的。不过不要担心:用户可以通过一些方法在自己的本地硬件上脱机运行无服务器代码。例如,AWS SAM提供了一个本地功能,允许用户脱机测试Lambda代码。如果用户正在使用Serverless 应用程序框架,那么他们可以点击“无服务器-脱机”选项,这是一个允许用户在本地运行代码的插件。
  本文作者Josh Fruhlinger为自由撰稿人兼编辑,现居美国洛杉矶。
  原文网址
  https://www.infoworld.com/article/3406501/how-serverless-computing-makes-development-easier-and-operations-cheaper.html
其他文献
时间:2010年8月17日下午。  地点:西安市凤城二路圆顶咖啡厅。  参加人:西安中学特级教师郭富斌,陕西师大附中高级教师史小军,西北工业大学附中高级教师闫晓娟,本刊主编任世江、编辑部主任柳文全。  主题:围绕2010年全国高考新课程卷第40题,认识高考历史命题的方向,探讨提升高中教学的思路。  记录及整理:柳文全。  任:我们看到今年高考文综第40题后,感觉很出色。教育部考试中心内部评价,专家
关键词历史文献,教学设计,意义  中图分类号G63 文献标识码B 文章编号0457-6241(2015)03-0061-05  历史文献是史料的主要类别之一,“包括各种文字的或口传的记录……一切具有意义的文字记录,无一不是史料或包含有史料价值”。①教师在平时以及教学设计之前进行历史文献的阅读,具有了解史学前沿动态、拓展历史文化视野、增进对历史概念的理解、提升教材处理能力等作用,这于教学设计是有益的
据工信部官网数据,2020年1-11月,我国软件和信息技术服务业持续恢复,收入增速平稳,前11月软件业务收入为73142亿元,同比增长12.5%,增速较1-10月提高0.8个百分点。此外,1-11月,全行业实现利润总额9009亿元,同比增长7.1%。  软件产品收入增速持续上升。2020年1-11月,軟件产品实现收入19749亿元,同比增长10.1%。其中,工业软件产品收入达到1794亿元,同比增
关键词西欧商人清点钱币,误读与误用,银钱兑换商,宗教信仰,资本主义新教伦理  中图分类号G63 文献标识码B 文章编号0457-6241(2017)23-0050-04  人教版必修Ⅱ中的“西欧商人清点钱币”(见图1)一图,为尼德兰①画家马里纳斯·凡·雷默斯维勒(下文称“马里纳斯”)于1540年创作的风俗画,其在1538年还创作了一幅类似作品(见图2,人教版高中教材《世界近现代史上》(1997年)
摘 要?演历史上根深蒂固的反天主教传统使美国人在早期民族和国家构建中形成一种认同,即美国是新教国家,合法的美国公民必须是新教徒。19世纪三四十年代,这种认同受到冲击。经济和阶级的剧烈变动,以及大量天主教移民的到来,改变了美国原有的公民构成,瓦解了工人阶级的团结,加剧了新教徒焦虑,他们担心这些变化威胁到已形成的新教公民身份。1944年,当新教身份的核心象征《圣经》受到天主教徒攻击时,新教徒和天主教徒
[关键词]历史,学科测评,主观题  [中图分类号]G63 [文献标识码]B [文章编号]0457-6241(2008)11-0044-04    在短小精悍言简意赅的《冷战是如何开始的》这篇文章中,美国著名冷战史研究专家、弗吉尼亚大学历史系讲座教授梅尔文·莱夫勒写道:“在美国学术界,人们曾持有这样一种观点:任何学术研究都应该把繁复的事实简单化,这样的研究将事件的发生归结到某种非常简单、易于把握的原
【关键词】神入,理解力,历史故事,教学方法  【中图分类号】G63 【文献标识码】B 【文章编号】0457-6241(2012)11-0006-08  历史除了呈现过去的“事实”之外,还蕴含着人类过去发展和变迁的种种可能,以及人们理解世界的不同观点与见解。历史是在人们的理解中生成的,“不同的理解会导致不同的活动,从而塑造不同的世界”。历史决定着我们的理解力,理解力也规定着我们在解释历史中开辟的视野
关键词 主题教学,教学设计,统编教材   中图分类号 G63 文献标识码 A 文章编号 0457-6241(2020)17-0044-08   统编高中历史教材内容繁多,如何在一堂课中完成教学任务并达成教学目标,是一线教师迫切希望解决的难题。笔者认为,主题教学设计不失为一个可操作模式。何为主题教学设计?就是以“主题为中轴,围绕教学主题展开的,在系统论、学习理论与教学论指导下,以教学主题为枢
关键词:逻辑性,资源整合,君主立宪,权力制衡  中图分类号:G63 文献标识码:B 文章编号:0457-6241(2015)21-0045-06  思维的逻辑是否清晰、教学资源的整合是否得当,极大地影响着课堂教学效能。就思维的逻辑性而言,“作为一个会批判性思考的人……比较理由时,使用的标准中第一条就是逻辑上的合理性”。①“逻辑”一词的含义之一是“思维的规律性”,而作为历史事件的逻辑性在教科书中通常
关键词课堂立意,家国情怀,罗斯福新政,自由主义  中图分类号G63 文献标识码B 文章编号0457-6241(2017)23-0062-03  高中历史《罗斯福新政》一课因其知识结构清晰、史料多元丰富、与现实联系密切等特点一直成为中学历史教师上各级公开课的宠儿。抛开教师课堂的呈现力不谈,纵观《罗斯福新政》的教学设计却往往乏善可陈,大部分教师的基本设计思路为:背景—内容—特点—影响。这样的教学设计在