无服务架构如何发展而来 怎样实现工作

本文涉及的产品
简介:

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

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

20170323023808631.png

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

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

20170323023808471.png

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

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

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

它如何工作?

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

20170323023808638.png

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

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



   


 


  

本文转自d1net(转载)

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
存储 C++ 开发者
C++程序设计基础:构建稳固的编程基石
C++程序设计基础:构建稳固的编程基石
23 1
|
6天前
|
运维 前端开发 JavaScript
平台设计-概念澄清说明
平台所说模块一般指一个独立部署的前端项目
|
5月前
|
存储 缓存 NoSQL
概念、场景技术方案选择的理解
概念、场景技术方案选择的理解
25 0
|
设计模式 程序员 开发者
重构·改善既有代码的设计.01之入门基础
近期在看Martin Fowler著作的《重构.改善既有代码的设计》这本书,这是一本经典著作。书本封面誉为软件开发的不朽经典。书中从一个简单的案例揭示了重构的过程以及最佳实践。同时给出了重构原则,何时重构,以及重构的手法。用来改善既有代码的设计,提升软件的可维护性。
581 1
重构·改善既有代码的设计.01之入门基础
“从幼稚到成熟,是从不负责任到承担责任的过程” | 技术人金句系列
技术人做事情,判断力和分寸感很重要。有时候你遇到的困难和问题,可能别人早就经历过、克服过,并沉淀了与之匹配的“判断力”和“分寸感”。 今天,我们想分享来自大淘宝技术工程师们的《人间清醒语录》,这些金句里凝结了他们多年实践经验的智慧,希望可以给你带来启发和思考。
157 0
“从幼稚到成熟,是从不负责任到承担责任的过程” | 技术人金句系列
|
监控 前端开发 程序员
专家别总来抽象虚的东西,这个东西是要落地执行的,这是我对领域驱动模型的思考与认知。
嗯。这就是一个典型的贫血模型, 哇,真的好形象,这是谁想出来的词汇,真想给他说一句 fuck you! 但是,但是,你还有更好的词汇来形容这种项目结构吗? 所谓贫血模型是指使用的领域对象中只有 `setter` 和 `getter` 方法(POJO),所有的业务逻辑都不包含在领域对象中而是放在业务逻辑层。
131 0
|
传感器 人工智能 边缘计算
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路(一)
《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 	6G 总体设计思路(一)
|
存储 人工智能 物联网
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路(四)
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路(四)
|
机器学习/深度学习 传感器 边缘计算
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路(三)
《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路
|
存储 传感器 人工智能
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路(二)
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 6G 总体设计思路
带你读《6G需求与愿景》第三章6G 设计思路与愿景3.1 	6G 总体设计思路(二)