您的位置:商铺首页 >> 行业资讯 >> 详情

无服务器 概念详解

时间:2017-03-13 12:46

  “无服务器”是一种特殊类型的软件体系结构,在没有可见的进程、操作系统、服务器或者虚拟机的环境中执行应用逻辑。值得一提的是,这样的环境实际上运行在操作系统之上,并使用物理服务器或者虚拟机,但是,提供和管理基础设施完全是服务提供商的责任。因此,软件开发人员才能专注于编写代码。

  换句话说,开发者要考虑彼此之间以及与外部通信的服务或功能。实施这些服务后,开发人员使用传统方法时将它们组合成多个分布式进程:安装、运行、监视和更新特定操作系统上运行的特定服务器或虚拟机的这种进程。在“无服务器”方法中,第三方服务提供商包揽了一切:从进程,到操作系统,再到服务器。

  当第三方服务提供商负责底层IT基础架构时,开发人员不再负责购买专用服务器或虚拟机。同时,服务提供商可以自由决定如何有效地利用其基础设施来满足其所有客户端的请求。做为结果,服务提供商通常不需要为特定客户端运行永久工作负载;相反,软件同时处理来自所有客户的要求,只花费有限的时间来处理来自特定客户的每个请求。因此,这样的提供商通常基于请求的总数,在指定时间段内的请求的频率或为来自客户的所有请求所花费的总时间来对他们的客户收费。

  同样的方法适用于不同类型的负载,因为第三方服务提供商通常具有弹性、可扩展的服务。当客户开始使用第三方服务时,与在本地或云中购买、配置和管理自己的基础设施相比,预期的请求数量可能较少,客户支付的费用显著降低。对于大量的请求(预期或意外的负载峰值),客户不需要添加服务器来横向扩展其应用程序。相反,服务提供商确实关心增加的负载。当然,处理更多请求的成本会更高,但在大多数情况下,它仍然比使用专用IT基础设施更有效。

  BaaS和FaaS

  通常与无服务器一起提到的两种方法是后端即服务(BaaS)和函数即服务(FaaS)。

  BaaS

  越来越多的实现所需功能,提供服务器端逻辑并管理其内部状态的第三方服务导致应用程序没有特定应用程序,服务器端逻辑,并使用第三方服务的一切。在这方面,这样的应用是无服务器的。

  第三方服务的一些示例包括身份认证即服务(Auth0、AWS Cognito),日志即服务(Loggly、Logsense、Amazon Elasticsearch Service)和分析即服务(Amazon Kinesis、Keen IO)等等。

  FaaS

  当应用程序仍需要特定的服务器端逻辑时,开发人员可以使用传统架构的现代替代方案:FaaS。通过这种方法,开发人员专注于实现由事件触发的短期无状态函数,并且可以与对方和外部世界进行通信。FaaS提供者进行休息配置,以处理所有请求所需的功能的多个实例,终止不再需要的实例,监视所有这些实例并提供身份和日志服务。FaaS是微服务架构的理想之选,因为FaaS提供了组织运行微服务所需的一切。

  Auth0 Webtask、AWS Lambda、Google Cloud Functions和Azure Functions是FaaS实现的示例。IronFunctions是一个来自Iron.io的雄心勃勃的计划,目标是在很受欢迎的云提供商以及内部部署上运行AWS Lambda功能。

  朗思通普是一家HP服务器铂金代理商,专业代理销售惠普服务器、惠普存储等商用产品与配件,并为各级客户提供HP存储服务器配置、安装、维护等解决方案与服务。