Serverless架构
什么是Serverless架构
Servlerless 架构是新兴的架构体系,在Serverless 架构中,开发者无需考虑服务器的问题,计算资源作为服务而不是服务器的概念出现,这样,开发者只需要关注面向客户的客户端业务程序开发,后台服务由第三方服务公司完全或者部分提供。 开发者调用相关的服务即可,Serverless 是一种构建和管理基于微服务架构的完整流程,允许我们在服务部署级别而不是服务器部署级别来管理应用部署,甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速的交付软件。
这种新兴的云计算服务交付模式位为开发人员和管理人员带来了许多好处。它提供了合适的灵活性和控制性级别,因而在IaaS 和PaaS 之间找到了一条中间的路,由于服务器端几乎没有什么要管理的,Serverless 架构正在彻底改变软件开发和部署领域,比如推动了NoOps模式的发展。
1 UI驱动的应用
这种架构中,服务端不得不实现诸多系统逻辑,例如认证,页面导航,搜索交易等。 都需要在服务端完成,而客户端则显得比较单一如果采用Serverless架构来对该应用进行改造,则架构如下表示:
相比于 传统面相客户端的三层应用架构,Serverless 有一下几个方面的差异:
- 删除了认证逻辑,采用第三方BaaS服务来替代
- 使用另外一个BaaS 允许客户端直接访问架构与第三方上的数据子库,通过这种方式提供给客户等安全的访问数据库模式。
- 客户端慢慢转化为单页面应用
- 某些我们想保留在服务端的UX 相关内容,我们不需要运行一个专用服务而是通过FaaS 通过API Gateway 对HTTP访问提供响应
- 将Purchase 功能用另一个FaaS 功能取代,因为安全原因,放在服务端还不如放在客户端重新实现,当然前段还是API Gateway
2 消息驱动的应用
消息驱动的应用是一个纯后台数据处理服务,如下图正在编写一个面向用户的应用,需要对UI 请求快速响应,但是同时还想获取所发生的行为。设想 一个Ad Server (在线广告系统) 当用户点击一个广告时,希望快速导向目标,但是同时又需要收集点击量以便向广告商收取费用。
在传统构架中,Ad Server 同步的响应客户,但是同时还会异步的处理“点击量”的应用发送一个消息更新到便于以后向广告收费的数据库。
而采用Serverless 架构的情况下 会是这样的
这个架构和第一个例子有些许不同,但是这里我们用FaaS 功能取代了一个一直运行的应用,此FaaS 运行于第三方服务商提供的消息驱动上下文之间,需要注意的是,提供商提供了消息代理和FaaS 两者将更加紧密的合作在一起。
Serverless架构的更多相关文章
- 【转】Serverless架构
这是来自martinfowler.com的Serverless架构一文的大意翻译. 什么是Serverless? Serverless首先是用于描述我们的应用程序是明显或充分地依赖第三方应用或服 ...
- Serverless 架构:用服务代替服务器
Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...
- 了解Serverless架构
1 概述 Serverless中文译为“无服务”是一种新兴起的架构模式,公司ESB产品引入Rest微服务服务机制过程,笔者刚好参与其中,其中Serverless作为一个新起的概念,跟微服务架构相关,为 ...
- 转帖: Serverless架构模式简介
Serverless架构模式简介 原贴地址:https://blog.csdn.net/chdhust/article/details/71250099?utm_medium=referral&a ...
- Serverless架构详解:开发者如何专注于业务代码本身?
本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 演讲嘉宾:黄文俊,曾负责企业级存储.企业级容器平台等产品的架构与开发,目前主要负责SCF腾讯无服务器云函数产品相关. ...
- 采用Serverless架构搭建Web应用
本文会向你介绍一种新的可能,一种无服务器的方案来搭建Web应用.使用这个方案大部分运维方面的问题就不需要你自己操心了,而且也省去运行服务器的费用.本文从无服务的优势与限制两方面带您初识Serverle ...
- Serverless 架构的优点和缺点
Serverless 的优势 在我使用 Serverless Framework 开发 AWS Serverless 应用的过程中,最方便的莫过于,第一次部署和第二次.第三次部署没有什么区别.只需要执 ...
- 阿里云云开发平台助力风变科技Serverless架构升级实战
阿里云云开发平台助力风变科技Serverless架构升级实战 背景 风变科技 一个希望通过技术去推动下一代基础教育的组织.旗下产品包括第一代的熊猫书院(读书类产品).第二代的熊猫小课(泛学科综合学习平 ...
- COS 数据湖最佳实践:基于 Serverless 架构的入湖方案
01 前言 数据湖(Data Lake)概念自2011年被推出后,其概念定位.架构设计和相关技术都得到了飞速发展和众多实践,数据湖也从单一数据存储池概念演进为包括 ETL 分析.数据转换及数据处理的下 ...
随机推荐
- 二叉树的相关在线编程(python)
问题一: 输入一个整数数组, 判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No. 假设输入的数组的任意两个数字都互不相同. 正确的后序遍历结果: sequence = [ ...
- solr之环境配置二
安装配置Tomcat 下载Tomcat压缩包 我下载的是7.0.55版本. 1.Tomcat 7.0 的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,目录结构为:C: ...
- 并发编程(三)—— ReentrantLock的用法
ReentrantLock是Java并发包中提供的一个可重入的互斥锁.ReentrantLock和synchronized在基本用法,行为语义上都是类似的,同样都具有可重入性.只不过相比原生的Sync ...
- TypeError: unorderable types: str() >= int()
1.问题描述 age=input('please enter your age') if age >=18: print('your age is',age) print('adult') el ...
- SQL数据库连接语句
一般的远程访问的写成这样: Data Source=IP ;Initial Catalog=数据库名 ;UserID= 用户名 ;Password=密码 本地访问的写成这样: Data Source= ...
- Asp.Net SignalR 多平台的Client与Server
多平台 SignalR在.Net的大环境下都可以做到即时通讯,也就是说都可以使用,客户端也不仅是js.下面就来一个控制台的Client 我们需要在nuget上下载包 Microsoft.AspNet. ...
- 17-Flink消费Kafka写入Mysql
戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...
- ELK-Elasticsearch安装
1.安装JDK必须安装JDK并且要求版本至少是1.8以上包含1.8的版本. 2.创建 es 用户这里需要注意的是,es 规定 root 用户不能启动 es,所以需要创建一个用户来启动 es # 创建用 ...
- ASP.NET Core 2.1 : 十一. 如何在后台运行一个任务
在大部分程序中一般都会需要用到后台任务, 比如定时更新缓存或更新某些状态.(ASP.NET Core 系列目录) 一.应用场景 以调用微信公众号的Api为例, 经常会用到access_token,官方 ...
- 互联网寒冬,阿里Ant Design还开坑,程序员该何去何从?
金山都成立三十年了,不得不感叹中国在这三十年中,互联网确实是一步一步的在改变人们生活的方方面面,随着国家的发展,一大批企业搭上了互联网这趟高速列车走过了这几十年的风风雨雨,当然也造就了一批批传统行业无 ...