WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

新闻资讯 > Linux > 正文
无服务架构如何发展而来 怎样实现工作
作者: 佚名 2017-03-23 20:09 【IT168】

无服务器架构的方式,通过实现最优的发展、运营和管理开销,改写了目前软件设计和部署的基本现状。它的基本概念来源于微服务架构(MSA),通过被赋予最前沿的架构模式,实现了硬件闲置可能的最低水平。

尽管该技术已经取得了显著的进步,但仍需要经过深思熟虑,来适应企业确切的无服务计算解决方案需求。

最开始的时候,软件系统的实现需要部署在物理服务器上,但这样无法在给定时间内最优利用底层硬件的计算能力。后来,在计算资源具备共享能力之后,通过在其中切换CPU和I/O运行,可以使多个虚拟计算机同时运行在同一个硬件上。

这项技术的发展在行业内引起很多变革,最重要的就是云计算的诞生。目前,虚拟机是部署软件时最可控、可扩展和可编程的独立计算环境单元。Linux容器技术出现在2006年左右,当时谷歌实现了可控组与Linux内核特性的协调。

Linux容器从那之后就一直存在了。然而,只有大型的拥有卓越技术的企业——如谷歌,才有能力使用它。到2012年,欧洲一个软件架构研究组织才提出了微服务架构的概念。2013年,Docker强势填补了容器生态系统中的裂缝——可达性、可用性和支持服务,然后,容器终于开始流行起来。

Linux容器为将大型单片集成系统分解为独立自足式的服务打开了新的视野,并且实现了细粒度的资源利用率。为了推进发展,如Kubernetes和Mesosphere 一样的容器集群管理系统开始在同一周期出现,并提供端对端的容器即服务能力(CaaS)能力。

到2015年,AWS通过发布AWS Lambda推动了又一次跳跃式发展,它可以通过按需运行微服务进一步节省软件部署成本,也可以在没有工作负载时关闭它们。这个概念类似与节能汽车的启停功能,为了降低燃耗而自动关闭内燃机。

它如何工作?

“无服务器”这个术语乍一看很荒谬,其实它实际上是指在没有任何基础设施参与的情况下进行软件的部署。无服务器平台会按照需求使服务构建、部署和启动的整个过程自动化。用户只需要登记他们所需的业务功能和资源需求。

很明显,这样的功能可以分为两个主要类型:通过客户请求触发的功能和需要在后台通过时间或事件触发的功能。一般来说,这样的无服务器系统可以用一个容器集群管理器(CCM)和可按需去旋转容器的动态路由来实施。不过,也需要考虑路由的延迟、容器创建时间、语言支持、支持协议、接口函数、函数初始化事件、配置参数传递和提供证明文件等问题。

虽然这种部署方式需要容器在没有工作负载时关闭,但事实上,收到服务请求后,终止容器的这点时间代价会是非常昂贵的,因为在这么短的时间间隔里仍会有更多的请求不断传入。因此在多数情况下,无服务计算容器会在预配置周期内维持以重复使用,处理更多的服务请求。这一点,类似于PaaS平台中的自动定量行为。一旦某个服务规模扩大,该实例就会被维持一个时间周期,以保证能在不立即关闭它们的情况下处理更多请求。


标签:Linux 

LecVideo
论坛与活动