Serverless(无服务器架构)是指服务端逻辑由开发者实现,应用运行在无状态的计算容器中,由事件触发,完全被第三方管理,其业务层面的状态则存储在数据库或其他介质中。
Serverless可以使开发者更聚焦在业务逻辑,而减少对基础设施的关注。
Serverless通常包含了两个领域 BaaS(Backend as a Service)和 FaaS(Function as a Service)
BaaS是一种广泛依赖于第三方应用和服务的无服务器计算方法。BaaS供应商可以提供加密、用户认证、云数据库的使用。这些服务可以通过调用云供应商提供的API进行访问;相比自己重新开发,这些功能可以更方便地整合到各个类型的系统中。
FaaS 是一种事件驱动的由消息触发的服务,FaaS 供应商一般会集成各种同步和异步的事件(如AWS的SNS),通过订阅这些事件,可以触发指定的函数运行,例如当前使用很广泛的 AWS 的 Lambda函数。
Serverless架构的优点
降低运营成本:
Serverless是非常简单的外包解决方案。它可以让您委托服务提供商管理服务器、数据库和应用程序甚至逻辑。由于这个服务使用者的数量会非常庞大,于是就会产生规模经济效应。在降低成本上包含了两个方面,即基础设施的成本和人员(运营/开发/维护)的成本。
降低开发成本:
Serverless作为一种云服务,使得整个应用程序组件被商品化。
扩展能力:
横向扩展是完全自动的、有弹性的、且由服务提供者所管理。从基本的基础设施方面受益最大的好处是,您只需支付您所需要的计算能力。
更简单的管理:
Serverless架构明显比其他架构更简单。更少的组件,就意味着您的管理开销会更少。
有效利用计算资源:
据《福布斯》的统计,在商业和企业数据中心的典型服务器仅提供5%~15%的平均最大处理能力的输出。这无疑是一种资源的巨大浪费。Serverless让服务提供商提供我们的计算能力最大限度满足实时需求,更有效地利用计算资源。
Serverless架构的缺点
状态管理:
要想实现自由的缩放,无状态是必须的,而对于有状态的服务,使用serverless这就丧失了灵活性。
延迟:
Serverless应用程序是高度分布式、低耦合的,这就意味着延迟将始终是一个问题,单纯使用serverless的应用程序是不太现实的。
本地测试:
Serverless应用的本地测试困难是一个很棘手的问题。虽然可以在测试环境下使用各种数据库和消息队列来模拟生产环境,但是对于无服务应用的集成或者端到端测试很困难。
云服务是基于互联网的相关服务的增加、使用和交互模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云计算中可用的服务种类是很多的,不过主要可以分为以下几类。1. SaaS(软件即服务)。这种类型的公有云在互联网上通过浏览器对应用程序进行交付。最受欢迎的商务级SaaS应用程序有谷歌的G Suite和微软的Office 365而在企业级应用中,Salesforce独占鳌头。但是几乎所有的企业级应用,包括从Oracle到SAP的ERP套件,都采用SaaS模型。通常,SaaS应用可提供广泛的配置选项以及开发环境,使客户能够自己对代码进行修改和添加。
2. PaaS(平台即服务)。它所提供的服务和工作流专门针对开发人员,他们可以使用共享工具、流程和API来加速开发、测试和部署应用程序。Saleforce的Salesforce的Heroku和Force.com是非常受欢迎的公共云PaaS产品;Pivotal的Cloud Foundry和红帽的OpenShift可以在本地部署或通过一些主要的公有云来访问。对于企业来说,PaaS可以确保开发人员对已就绪的资源的访问,遵循一定的流程和只使用一个特定的系列服务,运营商则维护底层基础设施。
3、FaaS(功能即服务)。无服务器计算的云实例化,为PaaS增加了另一个抽象层,以便开发人员在堆栈中完全隔绝一切优先级低于他们代码的东西。不是去搞虚拟服务器、容器和应用运行时间,而是上传功能代码块,让它们被某个事件触发(例如表单提交或上传文件)。所有主要云都会在IaaS之上提供FaaS.FaaS应用的一个特殊的好处是,在事件发生之前不会使用IaaS资源,可通过降低资源使用率来减少费用。
云服务提供商把 IT 系统的基础设施层作为服务出租出去,由消费者自己安装操作系统、中间件、数据库和应用程序;云服务提供商负责机房基础设施、计算机网络、磁盘柜和服务器/虚拟机的建设和管理,而云服务消费者自己完成操作系统、数据库、中间件和应用软件的安装和维护。另外,还要管理数据信息(如初始化、数据备份、恢复等)。
云计算是信息时代技术革命的产物,其中包括很多领域的技术融合,现在常见的云计算会应用于企业上面,对数据处理和运营等方面有很重要的意义。
云计算的分类是:按照服务模式主要是基础设施即服务,平台即服务,和软件即服务这三种,按照运营模式,则主要是公有云,私有云,混合云等。
SaaS,SaaS是SoftwareasaService的简称,随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。
IaaS(infrastructureasaservice,基础设施即服务),提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU,内存,存储,网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。
消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择,存储空间,部署的应用,也有可能获得有限制的网络组件的控制。
PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户,因此,PaaS也是SaaS模式的一种应用,但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。
在2007年国内外SaaS厂商先后推出自己的PAAS平台,FaaS(functionsasaservice,功能即服务),FaaS,无服务器计算的云实例化,为PaaS增加了另一个抽象层,以便开发人员在堆栈中完全隔绝一切优先级低于他们代码的东西。
不是去搞虚拟服务器,容器和应用运行时间,而是上传功能代码块,让它们被某个事件触发所有主要云都会在IaaS之上提供FaaS,AWSLambda,AzureFunctions,谷歌云Functions以及IBM。
OpenWhiskFaaS应用的一个特殊的好处是,在事件发生之前不会使用IaaS资源,可通过降低资源使用率来减少费用,iPaaS数据集成是任何具备一定规模的公司的一个关键问题,尤其对于那些大规模采用SaaS的企业而言。
iPaaS供应商通常提供预先构建的连接器,为流行的SaaS应用程序和本地企业应用程序之间提供共享数据,尽管供应商可能或多或少地关注B2B电子商务集成、云集成或传SOA风格的集成。
IDaaS,在私有数据中心和公有云网站上,与云计算相关的最大的安全问题就是管理用户身份及其相关权利和权限。
IDaaS供应商保持基于云计算的用户配置文件,验证用户身份,并使访问资源或应用程序基于安全策略,用户组和个人的特权,能够集成各种目录服务而且这是至关重要的。
协作平台,协作解决方案如Slack,微软Teams和HipChat已经成为重要的信息沟通平台,是组织内部能够有效地沟通和合作。
基本上,这些解决方案是相对简单的SaaS应用程序,支持聊天形式的消息传递以及文件共享和音视频交流,大多数提供API来促进与其他系统的集成,使第三方开发者创建和共享插件,增强功能。
私有云,私有云是为一个客户单独使用而构建的,因而提供对数据,安全性和服务质量的最有效控制,该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。
私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。
公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过Internet使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务,这种云有许多实例,可在当今整个开放的公有网络中提供服务。
混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向,我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用。
它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)