【51CTO.com快译】无服务器计算(通常简称为无服务器)是一种极具潜力的云端技术模型。近年来,它经常出现在应用程序的开发,以及软件体系架构中。为了让无服务器框架发挥巨大的潜力,诸如Google、Microsoft、IBM和Amazon之类的软件巨头,已经开始向客户提供了能够将本地所有运营业务,迁移并托管到他们的旗舰无服务器平台(如:AWS Lambda和Azure Functions)上的方法与工具。
简而言之,无服务器架构是一种事件和请求驱动的技术解决方案。它允许应用开发人员在云端创建可操作的工作环境。该环境提供了实现编码流能够顺畅运行的所有必要的计算资源。该框架在时间紧、且任务相当耗费资源的情况下,显得非常实用。
此外,在选择无服务器服务,以简化应用开发流程的同时,您也可以用它来大幅改善诸如DevOps和敏捷实践等其他业务优化计划。
无服务器和微服务模型的区别?
总的说来,这两种架构的相似之处在于:它们都能够最大程度地降低运营的成本,缩短应用部署的周期,满足不断变化的开发需求,以及优化那些对于时间和资源敏感的日常任务。那么,微服务和无服务器模型之间的不同之处在哪里呢?
首先,微服务属于一种小型的SOA(面向服务的体系架构)技术解决方案。它可以为程序员提供对于托管在云服务器上相关库的完全访问权限,并允许他们部署各种功能模块,以及诸如JSON、RESTful、AMQP、SOAP等多种协议和API。
通常,微服务体系架构是通过诸如Docker之类的可执行程序包,来实现数据的容器化,并在开发人员访问某些给定的API时,按需解压缩所有的必要数据。因此,多个微服务模型可以确保运维人员通过在云平台上的各项操作,来持续部署应用程序。
不过,由于企业配置的那些闲置的微服务也会处于活动状态,因此,用户必须持续按照每个服务每天的标准为占用的容量和资源支付费用。显然这会让企业深感微服务架构价格不菲。
而无服务器的各项功能函数仅在满足了既定事件时,才会被触发。而在完成操作后,功能函数将根据用户输入的命令,执行一系列操作。也就是说,无服务器平台运用一组预处理的算法和规则,来处理计算,并得出相应的结果。可见,这会让应用程序开发人员觉得无服务器架构更有吸引力。毕竟,它是按需提供的云端执行环境的。
通过对比,我们不难发现,微服务更适合于电子商务网站等用例,它们需要优先考虑各种大型数据集的容器化。在优化开发成本和时间方面,无服务器则展示了其巨大的潜力。
此外,如果您的业务流程是基于事件的,而且您不想一直运行某些操作任务的话,那么您最好选择便是无服务器架构。它对于那些时常触发各类警报与通知的物联网驱动型应用来说尤为适用。下面,我们将进一步讨论无服务器的工作原理和各种特性。
无服务器的工作原理
作为由预配置事件驱动的开发模型,无服务器利用多种基于云端的分布式服务,来简化软件部署的工作流。通常,它能够提供如下两种互补的服务模型:
其中,BaaS就是利用第三方多租户架构的功能,来增强用户应用的部署和交付效率。此类通用功能通常是以SDK或API网关的形式被提供出来,并且所有的必需操作都仅能在云中执行。因此,它为传统的本地部署架构有效地提供了代码数据。同时,此方案享有真正快速的开发周期。它能够将全部软件和基础架构的维护责任,移交给BaaS的服务提供商。此外,应用开发人员还可以随时扩展其部署的流程。
而诸如AWS Lambda之类的FaaS平台则属于事件驱动开发架构的类型。它可以通过按使用付费的模型方式,提供强大的托管服务,而且仅在预定的功能或事件被满足的情况下被触发。因此,此类激活FaaS功能的常见触发器包括:各种预定的事件、文件的上载、对存储库新的提交、电子邮件、数据库的更新、以及HTTP API的调用等。
无服务器通过将BaaS和FaaS模型相结合,帮助开发人员处理复杂的资源密集型任务,其中包括:各种托管数据、基础架构、以及业务逻辑元素等广泛的功能。
使用无服务器的好处
综上所述,您是不是会认为无服务架构就绝对比位服务架构好呢?不一定。在实践中,您还是需要根据自己手头业务的实际需求,通过综合比较,再做出恰当的选择。
原文标题:Serverless vs. Microservices Architecture: Is This the Future of Business Computing?,作者:Dana Kozubska
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】
企业邮箱 要带 域名 吗?是的,企业 邮箱 一定要带域名。企业邮箱是指以企业的域...
本教程介绍如何使用弹性伸缩生命周期挂钩挂起ECS实例,并结合运维编排服务OOS的...
关于下一代防火墙,我们认为下一代防火墙并不是简单的功能堆砌和性能叠加,下一...
河南省网站在哪备案?河南 网站备案 要在你购买服务器的服务商网站进行,比如你...
我们知道,有了合适的技术,我们可以做得比仅仅跟上更新要好得多,并且如果我们...
调用AddQueue为指定集群新建一个队列。 调试 您可以在OpenAPI Explorer中直接运...
接口描述 RegisterInstancesWithLoadBalancer 接口用来绑定一台或多台云服务器到...
TOP云 (west.cn)3月16日消息,昨天我们分享了部分此前结拍的.ltd保留 域名拍卖...
最近做的一个项目涉及到了多条件的组合查询,数据存储用的是HBase,恰恰HBase对...
闭包 Closure 在某些编程语言中也被称为 Lambda 表达式 是能够读取其他函数内部...