Serverless IaaS, PaaS, SaaS, DaaS, BaaS, Faas等概念【转】

2024-02-11 09:59

本文主要是介绍Serverless IaaS, PaaS, SaaS, DaaS, BaaS, Faas等概念【转】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引用:https://blog.csdn.net/xianghongai/article/details/79572220
https://www.jdon.com/soa/serverless.html
http://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=32598&page=1#/

什么是Serverless无服务器架构?

  Serverless不代表再也不需要服务器了,而是说:开发者再也不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。

  以亚马逊的AWS Lambda为案例,Lambda能让不用思考任何服务器,也就是说,不用你处理服务器上的部署、服务器容量和服务器的扩展和失败容错,还有服务器上选择什么OS操作系统,语言的更新,日志等等问题。你的应用程序只需要和多个第三方的API或服务打交道,也可以自我创建一个无服务器的API。

  Serverless有以下几个特点:

  1. Serverless意味无维护,Serverless不代表完全去除服务器,而是代表去除有关对服务器运行状态的关心和担心,它们是否在工作,应用是否跑起来正常运行等等。Serverless代表的是你不要关心运营维护问题。有了Serverless,可以几乎无需Devops了。

  2. Serverless不代表某个具体技术,有些人会给他们的语言框架取名为Serverless,Serverless其实去除维护的担心,如果你了解某个具体服务器技术当然有帮助,但不是必须的。

  3. Serverless中的服务或功能代表的只是微功能或微服务,Serverless是思维方式的转变,从过去:“构建一个框架运行在一台服务器上,对多个事件进行响应。”变为:“构建或使用一个微服务或微功能来响应一个事件。”,你可以使用 django or node.js 和express等实现,但是serverless本身超越这些框架概念。框架变得也不那么重要了。

  Serverless规模扩展性方面由于充分利用云计算的特点,因此其扩展是平滑的,同时由于Serverless是基于微服务的,而一些微功能微服务的云计算是零收费,这样有助于降低整体运营费用。

  将来下述具体应用将可能使用Serverless架构:

  • 静态网站的管理
  • 替代WordPress(Serverless Blog Project)
  • 个人媒体服务器(less!)
  • 物联网Iot或家庭自动框架或项目 (使用 AWS IoT)

无服务器架构

  无服务器架构是传统的云计算平台延申,是 PaaS向更细粒度的BaaS和FaaS的发展,Serverless=BaaS+FaaS+...! Serverless 真正实现了当初云计算的目标!

BaaS是后端即服务,FaaS是函数即服务!根据Martin Fowler网站 无服务器架构定义:
  1. BaaS:无服务器首先用于描述显着或完全包含第三方云托管应用程序和服务的应用程序,以管理服务器端逻辑和状态。这些通常是“富客户端”应用程序 - 认为单页网络应用程序或移动应用程序 - 使用庞大的云可访问数据库生态系统(例如,Parse,Firebase),身份验证服务(例如,Auth0,AWS Cognito),以及等等。这些类型的服务以前被描述为“ 后端即服务 ”。
  2. FaaS:无服务器也可以指服务器端逻辑仍然由应用程序开发人员编写的应用程序,但是,与传统体系结构不同,它在无状态计算容器中运行,这些容器是事件触发的,短暂的(可能只持续一次调用),并且完全由第三方。想到这一点的一种方法是“作为服务的功能”或 “FaaS”。AWS Lambda是目前功能即服务平台最受欢迎的实现之一,但还有很多其他也是。

  Serverless是在传统容器技术和#服务网格上发展起来,更侧重让使用者只关注自己的业务逻辑即可。

  2018年Google推出Serverless世界的利器:#Knative ,可在任何公有私有云上实现无服务器架构,这样用户使用无服务器编程可以不限于特定的云平台如亚马逊AWS。

  

无服务器Serverless架构(Martin Fowler) 

中立观点:无服务器架构的特点 | ThoughtWorks

无服务器使用场景举例

什么是云原生cloud native应用?

云计算与无服务器有什么区别?

幽默:容器派与无服务器派的争斗

无服务器是一种学说,而不是技术

云原生是一个营销词语!

营销谎言:微信小程序目前并不是Serverless!

中台是一个营销概念!

#Serverless无服务器

#Kubernetes    #Docker #服务网格 

微服务专题 云计算专题 EDA事件驱动架构

 

*aaS

aaS 是 As-a-Service 即为服务 的意思。

As a Service

IaaS (Infrastructure as a Service)

基础设施即服务

wikipedia:基础设施即服务

服务商提供底层/物理层基础设施资源(服务器,数据中心,环境控制,电源,服务器机房),客户自己部署和执行操作系统或应用程序等各种软件。

云端公司把IT环境的基础设施建设好,然后直接对外出租硬件服务器或者虚拟机。消费者可以利用所有计算基础设施,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、防火墙、负载均衡器等)的控制。

云端公司一般都会有一个自助网站,用户可以向云端公司签订租赁协议以获取一个账号,登录之后可以管理自己的计算设备:开关机、安装操作系统、安装应用软件等。 IaaS型租用方式对用户来说优点很明显,就是非常灵活,也是自由度最大的一种类型。用户可以决定安装什么操作系统,以及是否需要安装或者安装什么类型的数据库,安装什么软件等等。就像自己买了台电脑,如何使用是你全权做主。 不过缺陷也很明显,除了管理维护量大之外,还有一个缺陷就是:计算资源严重浪费。操作系统、数据库以及中间件本身就要消耗大量的计算资源,而这些消耗对于租户而已是必须的但是又是无用的,因为用户只是想要运行软件。


PaaS (Platform as a Service)

平台即服务

wikipedia:平台即服务

服务商提供基础设施底层服务,提供操作系统(Windows,Linux)、数据库服务器、Web服务器、域控制器和其他中间件,以及服务模型中的备份服务等中件层服务。例如IIS,.NET,Apache,MySQL …,客户自己控制上层的应用程序部署与应用托管的环境。

云端公司要做事情就是运行软件所需要的下7层部署完毕,然后再PssS上划分小块(习惯称之为容器)对外出租,租户只需要安装和使用软件就可以了。 平台软件层包括操作系统、数据库、中间件和运行库,但是并不是每一个软件都需要这4部分的支持,需要什么是由软件决定的。所以PaaS又分为2种,半平台PaaS和全平台PaaS。

1、半平台PaaS:只安装操作系统,其他的租户自己去解决。这样会比较麻烦,因为你需要有较强的技术实力,而且需要耗费部分资源去安装软件运行需要的、的中间件、运行库、数据库。

2、全平台PaaS:安装应用软件依赖的全部平台软件,也就是4部分全部准备完毕。不过大家也知道,世界上的应用软件如此庞大,支撑他们的语言、数据库、中间件、运行库可能都不一样,PaaS云端公司不可能全部都去安装,所以他们支持的软件是有限的。

相对于IaaS来说,PaaS租户的灵活性降低了,只能在云端提供的有限平台范围内做软件,但是有点也很明显,能够最大化利用租用的资源和不需要租户有高深的IT技术。


SaaS (Software as a Service)

软件即服务

wikipedia:软件即服务

服务商提供基于软件的解决方案,满足客户最终需求;如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud、G Suite等应用,客户不需考虑任何形式的专业技术知识,获得完整的软件包,使他们的日常工作和生活变得更轻松。

对比PaaS略微有一点不同,应用软件是云端公司来安装、运维的,租户使用软件,需要管理的是这些软件产生的数据信息。

一般来说SaaS适用的软件都有如下的特点:
(1)复杂:软件庞大、安装复杂、使用复杂、运维复杂,单独购买架构昂贵,例如ERP、CRM、BI等。
(2)模块化:按功能模块划分,需要什么功能就组什么模块。
(3)多租户:多个企业用户同时操作,使用同一个软件而不是互相干扰。当然,数据是逻辑隔离的,不同用户的数据检索字段之一必然是用户身份信息。
(4)I18N & L10N:多币种多语言多时区的支持


BaaS(Backend as a Service)

后端即服务

服务商客户(开发者)提供整合云后端的服务,如提供文件存储、数据存储、推送服务、身份验证服务等功能,以帮助开发者快速开发应用。


FaaS(Function as a service)

函数即服务

无服务器计算,当前使用最广泛的是AWS的Lambada。

服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构的复杂性。 按照此模型构建应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。


DaaS(Data as a service)

数据即服务

云端公司负责建立全部的IT环境,收集用户需要的基础数据并且做数据分析,最后对分析结构或者算法提供编程接口,让数据成为服务。

DaaS是大数据时代的象征,能做DaaS服务的云端公司需要从数据积累、数据分析和数据交付三方面积累自身的核心竞争力。


NaaS(Network as a service)

网络即服务

指客户可以通过互联网访问第三方网络传输服务,并采用基于订阅模式的付费方式。

在中国移动“5G+发布会”上,中国移动发布了网络即服务(NaaS, Network as a Service)能力体系,,通过打造一个核心基石、六大创新能力,实现开放化的网络即服务。,从而为各行各业数字化转型升级注入“5G+”新动能,助力社会、经济高质量发展。

中国移动副总裁李正茂解释到全面诠释了一个核心基石、六大创新能力的网络即服务理念:网络即服务能力体系所包含的一个核心基石是打造覆盖全国、技术先进、品质优良的5G精品网络。六大创新能力则是在构建5G精品网络的基础上,推动5G与“AICDE”(人工智能、物联网、云计算、大数据、边缘计算)紧密融合,提供人工智能即服务(AIaaS)、物联网即服务(IoTaaS)、云计算即服务(CloudaaS)、大数据即服务(DataaaS)、边缘计算即服务(MECaaS)、安全即服务(SecurityaaS),从而向各行各业提供开放化的网络即服务。


As a Service


  • wikipedia:As a service
  • IaaS, PaaS, SaaS or BaaS? It’s up to you!

这篇关于Serverless IaaS, PaaS, SaaS, DaaS, BaaS, Faas等概念【转】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/699500

相关文章

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Java Instrumentation从概念到基本用法详解

《JavaInstrumentation从概念到基本用法详解》JavaInstrumentation是java.lang.instrument包提供的API,允许开发者在类被JVM加载时对其进行修改... 目录一、什么是 Java Instrumentation主要用途二、核心概念1. Java Agent

Kotlin 协程之Channel的概念和基本使用详解

《Kotlin协程之Channel的概念和基本使用详解》文章介绍协程在复杂场景中使用Channel进行数据传递与控制,涵盖创建参数、缓冲策略、操作方式及异常处理,适用于持续数据流、多协程协作等,需注... 目录前言launch / async 适合的场景Channel 的概念和基本使用概念Channel 的

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

一文带你迅速搞懂路由器/交换机/光猫三者概念区别

《一文带你迅速搞懂路由器/交换机/光猫三者概念区别》讨论网络设备时,常提及路由器、交换机及光猫等词汇,日常生活、工作中,这些设备至关重要,居家上网、企业内部沟通乃至互联网冲浪皆无法脱离其影响力,本文将... 当谈论网络设备时,我们常常会听到路由器、交换机和光猫这几个名词。它们是构建现代网络基础设施的关键组成

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)