linux 做网站,关于网站建设的可行性报告,提升seo排名,需要建设网站的戳蓝字“CSDN云计算”关注我们哦#xff01;译者 | 风车云马出品 | CSDN云计算#xff08;ID#xff1a;CSDNcould#xff09;为了解决面临的业务问题#xff0c;通常需要开发人员花费一定的时间编写完代码#xff0c;再交由运维工程师确保正常的运行#xff0c;整个过程… 戳蓝字“CSDN云计算”关注我们哦译者 | 风车云马出品 | CSDN云计算IDCSDNcould为了解决面临的业务问题通常需要开发人员花费一定的时间编写完代码再交由运维工程师确保正常的运行整个过程下来比开发的时间要多的多。因为运维工程师不仅要清楚如何在特定的计算机上运行开发人员编写的代码而且要确保它们在后续工作中平稳的运行——这倒像是一个永无止境的任务。为什么不把这部分工作留给别人呢?在过去20年的发展中IT领域的许多创新——虚拟机、云计算、容器——不必过多考虑代码运行的底层物理机器。近年来无服务器计算也变得越来越流行。它不用了解运行代码的任何硬件或操作系统因为所有这些都由服务供应商来提供。什么是无服务器计算?无服务器计算是云的一个执行模型在这个模型中云提供商动态地分配特定代码段所需的计算和存储资源。涉及的服务器也完全由供应商负责供应和维护。2017年亚马逊的无服务器倡导者克里斯·芒斯(Chris Munns)在一次会议上表示“在编写和部署代码的开发者看来根本不需要管理或提供服务器。任何涉及到主机管理或在操作系统级别的处理都不属于无服务器世界。”开发人员Mike Roberts解释说这个术语曾经用于所谓的“后端即服务”场景即移动应用程序将连接到完全托管在云中的后端服务器。如今当人们谈到无服务器计算或无服务器体系结构时他们指的是“功能即服务”其中客户只编写处理业务逻辑的代码并将其上传到供应商那里。供应商负责相关硬件供应、虚拟机和容器管理也包括多线程这样的任务。无服务器服务是事件驱动型的这意味着只有触发请求时才调用代码。供应商只按执行代码的时间收费而不是对维护的物理或虚拟服务器收费。可以将这些服务创建成管道或者应用程序的组件与容器或传统服务器上运行的其他代码进行交互。 无服务器计算的优点和缺点无服务器计算有两个明显的好处开发人员只需要关注代码的业务目标而不是基础设施问题而且企业只为它们实际使用的计算资源付费而不是购买物理硬件或租用闲置的云服务。这对于事件驱动的应用程序特别有优势。例如应用程序可能大部分时间处于空闲状态但在某些条件下必须同时处理许多事件请求或者有一个应用程序它处理来自有限或间歇性Internet连接的物联网设备的数据。在这两种情况下传统的方法都需要提供一个强大的有处理峰值能力的服务器但是该服务器在大多数情况下都没有得到充分利用。使用无服务器架构您只需为实际使用的服务器资源付费。无服务器计算也适用于特定类型的批处理例如上传和处理一系列单独的图像文件并将它们发送到应用程序的另一节点。无服务器最明显的缺点是它们不适合长期任务。大多数无服务器供应商不会让代码执行超过几分钟但是每次启动服务时它不会保留以前运行实例中的任何数据。还请注意无服务器的代码可能需要长达几秒钟的时间来启动——这对于大多数用例来说都不是问题除非您的应用程序需要较低的延迟。无服务器也存在其他一些缺点这可能与厂商有关。目前无服务器市场由大型商业云提供商所主导这意味着开发人员一旦使用来自供应商的工具如果不满意就很难切换。而且由于太多的无服务器计算是在供应商的基础设施上进行的因此很难将无服务器代码集成到内部开发和测试管道中。无服务器供应商AWS Lambda、Azure和Google云无服务器计算始于2014年推出的AWS Lambda这是一个基于亚马逊云服务的平台。2016年微软也推出了Azure功能。2017年谷歌云功能开始测试于2018年7月正式生产。这三种服务的优势、劣势、支持的语言和处理方式略有不同。还有IBM Cloud功能也在部署中它是基于开源Apache OpenWhisk平台。无服务器堆栈Serverless stacks与许多软件领域的情况类似无服务器时代见证了软件堆栈的演变这些堆栈将构建无服务器应用程序所需的不同组件组合在一起。无服务器堆栈包含要编写代码的语言环境、为代码提供结构的应用程序框架和平台启动代码的触发器。这些内容根据供应商的不同也有一些区别。例如对于开发语言AWS Lambda支持 Node.js、Java、Go、C#和Python但是Azure只支持JavaScript、C#和F#。关于触发器AWS Lambda其中许多都是针对AWS平台的比如Amazon Simple Email Service和AWS CodeCommit谷歌云服务还可以通过通用HTTP请求触发。无服务器框架Serverless frameworks软件框架/软件架构对构建应用程序非常重要。Amazon有自己的软件架构如无服务器应用模型( Serverless Application ModelSAM)其中大多数是跨平台的也是开源的。其中最流行的是无服务器框架例如AWS Lambda、Azure服务、谷歌云服务和IBM OpenWhisk。另一个受欢迎的产品是Apex它的优势在于提供了更为丰富的语言环境。无服务器数据库Serverless databases无服务器计算的缺点是没有持久状态这意味着本地变量的值不会保存。因此代码需要访问的任何持久性数据都必须存储在其他地方大部分无服务器供应商都提供了可以与之交互的数据库。与其他服务不同的是无服务器数据库的数据是无限期存储的。通过配置集群数据库所有的维护、补丁、备份、复制和扩展都将自动完成从而大大节省成本开销。功能即服务您只需要为实际使用的计算时间付费并且能够根据需要对资源进行灵活调整。 三大无服务器提供商都提供了自己的无服务器数据库Amazon有Aurora serverless和DynamoDB, Microsoft有Azure Cosmos DB谷歌有Cloud Firestore。不过这些并不是唯一可用的数据库。无服务器计算和Kubernetes容器有助于在底层支持无服务器技术由供应商负责管理容器的开销因此对用户是不可见的。许多人将无服务器计算视为实现微服务容器化的一种方法甚至开始讨论后容器时代。事实上容器和无服务器计算可能会在未来的许多年中共存而且无服务器服务可以与容器化的微服务存在于同一个应用程序中。最流行的容器编制平台Kubernetes也可以管理无服务器的基础设施。您可以使用Kubernetes在单个集群上集成不同类型的服务。无服务器离线运行Serverless offline这样看来无服务器计算貌似需要与供应商签约合作开发才能体验是不是感觉使用无服务器计算的前景有点吓人。但是不要担心无服务器的代码也是可以在本地硬件上离线运行的。例如AWS SAM就提供了一个本地运行代码的插件Serverless-offline支持离线测试Lambda代码。快来尝试吧!如果你是一个狂立学习flag却屡屡打脸的懒癌晚期或者是一个对云计算方面云里雾里不知所措的好学者亦或是一位资深行业专家都欢迎关注【CSDN云计算公众号】爆发自己学习的洪荒之力吧福利扫描添加小编微信备注“姓名公司职位”加入【云计算学习交流群】和志同道合的朋友们共同打卡学习推荐阅读屡试不爽的互联网架构三大马车抖音微博等短视频千万级高可用、高并发架构如何设计20大5G关键技术Fast.ai从零开始学深度学习 | 资源帖10个简单小窍门带你提高Python数据分析速度附代码程序员爬取 3 万条评论《长安十二时辰》槽点大揭秘暗网竟成比特币最大用户? 上半年5.15亿美元被用于非法活动真香朕在看了