IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Serverless 架构 / 1 介绍 -> 正文阅读

[系统运维]Serverless 架构 / 1 介绍

参考文献:Serverless Architectures


最早的软件产品是本地单机的,即只有客户端软件
而现代的软件产品,大多数都是由客户端与服务器端软件两部分组成的,B/S 中的浏览器照样也是客户端软件
SaaS(Software as a Service):服务器端与客户端软件(或浏览器脚本)均由乙方开发,甲方只管用
BaaS(Backend as a Service):乙方只提供后端(服务器端)服务 API,前端(客户端)还需要甲方自己负责开发
FaaS(Functions as a Service):乙方只提供运行函数式软件的容器,容器会在恰当的时候调用这些函数,甲方自己开发函数式软件与需要的客户端软件
IaaS(Infrastructure as a Service):乙方只提供虚拟化服务化之后的硬件资源,其它的一切由甲方负责
PaaS(Platform as a Service):本质上是一个 SaaS 产品,只是这个产品的作用是作为一个平台,管理与展示下边一堆 SaaS、BaaS、FaaS、IaaS 产品
Serverless 强调无服务器,即甲方不关心服务器端的硬件软件,但需要自己关心客户端软件或脚本开发
理论上与 BaaS 的意思最接近,但实际包括 BaaS 与 FaaS
一是因为在 FaaS 中甲方需要关心的服务器端内容比较轻量级,二是因为一般 BaaS 与 FaaS 产品配套出现(毕竟甲方总是需要在服务器端定制化一些逻辑)
本质上 Serverless 是云服务商用来推销 BaaS、FaaS 组合产品的营销噱头


1 介绍

Serverless 计算,简称 Serverless,在软件架构的世界里是一个热门话题
云供应商中的三巨头 —— 亚马逊、谷歌、微软 —— 都对 Serverless 有大量的投入
我们可以看到许多相关的书籍、开源项目、讨论会以及软件供应商

Serverless 是什么

像软件行业中的许多其它趋势一样,对于什么是 Serverless 没有一个明确的定义
对于新手来说,Serverless 包含两个不同但有重叠的领域:

  1. Serverless 最开始用来描述那些大量或全部采用第三方的、云托管的应用程序和服务来管理服务器端的逻辑和状态的应用程序
    通常是 “ 富客户端 ” 应用程序(如单页应用或移动端 APP)
    这些应用程序会利用巨大的云服务生态,如云数据库(如:Parse, Firebase)、鉴权服务(如:Auth0、AWS Cognito)等等
    这些类型的服务以前被描述为 “ (Mobile) Backend as a Service ”,简称 BaaS
  2. Serverless 也可以表示服务器端逻辑仍然由开发者开发的应用程序
    但和传统架构不同的是,这些应用程序运行在一个无状态的计算容器中
    这类应用程序通常是事件触发的、短暂的(可能只在被调用时运行)、完全由第三方管理的
    可以将其称为 FaaS(Functions as a Service)(注意:FaaS 这个名称最初来自 @marak 的一篇推特,现在已经不再公开可见)
    AWS Lambda 就是 Functions-as-a-Service 平台最出名的实现之一,另外还有很多其它的实现

BaaS 与 FaaS 在运维属性上有着相似之处(如:不需要自己管理服务端资源),而且经常被一起使用
大型云供应商都有同时包含 BaaS 与 FaaS 产品的 “ Serverless 系列产品 ”
例如亚马逊的 Serverless 产品页面
谷歌的 Firebase BaaS 数据库可以通过 Google Cloud Functions for Firebase 显式地支持 FaaS

AWS 上的无服务器
Cloud Functions for Firebase

关于 BaaS 与 FaaS 的结合,还有一个类似的例子
Auth0,开始时提供了实现许多用户管理功能的 BaaS 产品
然后接着又推出了相应的 FaaS 服务:Webtask
这家公司在这个思想的基础上进行了更进一步的扩展
允许其它 SaaS 和 BaaS 公司轻松地向已有产品中加入 FaaS 能力,从而让这些公司可以创建一个统一的 Serverless 产品

Serverless 名称的来历

“ Serverless(无服务器) ” 这个名称容易引起困惑,因为一个 Serverless 产品既有服务器端硬件又有运行中的服务器端软件
但与普通的方式相比,不同点在于,构建与支持一个 ‘Serverless’ 应用的组织,不用关心这些服务器端的硬件与进程
它们将这些责任外包给其他人

这个词语出现在 Ken Fromm 的一篇 2012 年的文章
Badri Janakiraman 说他在这段时间也听说过这个词,当时涉及的场景是:
用三方的 持续集成 与源码控制系统服务,取代在自己公司的服务器上维护
但这个用途主要是针对开发团队基础设施(即:软件团队使用的工具)的
而不是指将外部服务与开发团队开发的产品相结合的方式,而这个方式才更接近如今 Serverless 的含义

这个词在 2015 年变得越来越流行
在 2014 年 AWS Lambda 发布之后,2015 年七月亚马逊又发布了 API Gateway
这里是 Ant Stanley 根据 API Gateway 公告写的一个关于 Serverless 的例子
2015 年十月,在亚马逊 re:Invent 大会上有一个标题为 The Serverless Company using AWS Lambda 的演讲
提到了 PlayOn! Sports

AWS-re Invent

将近 2015 年的年末,‘Javascript Amazon Web Services (JAWS)’ 开源项目将自己改名为 Serverless Framework

到 2016 年年中,Serverless 已经成为这个领域中占主导地位的名词,进而诞生了 Serverless Conference 系列
各种各样的 Serverless 供应商,开始从产品市场到职位描述的每一件事情拥抱这个名词
Serverless 逐渐作为一个专有名词固定下来


参考文献:Serverless Architectures

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:36:28  更:2021-09-26 10:39:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:37:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码