severless扫盲

最近老是遇到这个话题,抽一点时间系统的学习下,severless是属于云计算部分,但是和前端息息相关(大家都这么说)~

 

serverless是什么?

  字面意思是无服务器,亦或是少服务器的。让用户无需关心程序运行环境、资源及数量,只要将精力 Focus 到业务逻辑上的技术。

  对业务前端同学:

  1. 会改变前后端接口定义规范。
  2. 一定会改变前后端联调方式,让前端参与服务器逻辑开发,甚至 Node Java 混部。
  3. 大大降低 Nodejs 服务器维护门槛,只要会写 JS 代码就可以维护 Node 服务,而无需学习 DevOps 相关知识。

  对一个自由开发者:

  1. 未来服务器部署更弹性,更省钱。
  2. 部署速度更快,更不易出错

 

serverless架构

  Serverless 架构由两部分组成,即 Faas 和 BaaS。

  FaaS(Function-as-a-Service)即为函数运行平台,用户无需搭建庞大的服务系统,只需要上传自己的逻辑函数如一些定时任务、数据处理任务等到云函数平台,配置执行条件触发器、路由等等,完成基础函数的注册。

  BaaS(Backend-as-a-Service)包含了后端服务组件,它是基于 API 的第三方服务,用于实现应用程序中的核心功能,包含常用的数据库、对象存储、消息队列、日志服务等等。

 

 

 

 

  还有一些其他的XaaS名词

  PAAS - Platform as a service

  平台即服务,用户只要上传源代码就可以自动持续集成并享受高可用服务,如果速度足够快,可以认为是类似 Serverless。但随着以 Docker 为代表的容器技术兴起,以容器为粒度的 PASS 部署逐渐成为主流,是最常用的应用部署方式。比如中间件、数据库、操作系统等。

  DAAS - Data as a service

  数据即服务,将数据采集、治理、聚合、服务打包起来提供出去。DASS 服务可以应用 Serverless 的架构。

  IAAS - Infrastructure as a Service

  基础设施即服务,比如计算机存储、网络、服务器等基建设施以服务的方式提供。

  SAAS - Software as a Service

  软件即服务,比如 ERP、CRM、邮箱服务等,以软件为粒度提供服务。

 

serverless可以做什么

  1. 定时任务 通过时间触发对应的函数任务,完成开发者业务逻辑的处理。
  2. 数据加工 通过事驱动件机制,在特定的条件下触发,对系统的日志进行整合,或者对多媒体文件进行加工等等。
  3. 低频请求 用户可以按照频次付费,而无需构建一个应用来应对这些必要的但是量小的请求。
  4. IoT 物联网场景下,大部分是用户对设备的操控,用户对时延的容忍度较高,也是典型的事件触发且低频场景。
  5. 认知计算 适用于某些 AI 场景,如聊天机器人。

  

 

参考阅读

  写给前端工程师的Serverless入门

  精读《Serverless 给前端带来了什么》

 

  

 

posted @ 2019-12-20 10:57  Rachid  阅读(879)  评论(0编辑  收藏  举报