Serverless 架构到底要不要服务器?

Serverless 是什么?

Serverless 架构是不是就不要服务器了?回答这个问题,我们需要了解下 Serverless 是什么。

Serverless 架构近几年频繁出现在一些技术架构大会的演讲标题中,很多人对于 Serverless,只是从字面意义上理解——无服务器架构,但是它真正的含义是开发者再也不用过多考虑服务器的问题,当然,这并不代表完全去除服务器,而是我们依靠第三方资源服务器后端,从 2014 年开始,经过这么多年的发展,各大云服务商基本都提供了 Serverless 服务。比如使用 Amazon Web Services(AWS) Lambda 计算服务

国内 Serverless 服务的发展相对 AWS 要晚一点,目前也都有对 Serverless 的支持。比较著名的云服务商有阿里云、腾讯云。它们提供的服务也大同小异:函数计算、对象存储、API 网关等,非常容易上手。

架构是如何演进到 Serverless ?

看看过去几十年间,云计算领域的发展演进历程。总的来说,云计算的发展分为三个阶段:虚拟化的出现、虚拟化在云计算中的应用以及容器化的出现。云计算的高速发展,则集中在近十几年

总结来说有如下的里程碑事件:

通过虚拟化技术将大型物理机虚拟成单个的 VM 资源。

将虚拟化集群搬到云计算平台上,只做简单运维。

把每一个 VM 按照运行空间最小化的原则切分成更细的 Docker 容器。

基于 Docker 容器构建不用管理任何运行环境、仅需编写核心代码的 Serverless 架构。

从裸金属机器的部署应用,到 Openstack 架构和虚拟机的划分,再到容器化部署,这其中典型的就是近些年 Docker 和 Kubernetes 的流行,进一步发展为使用一个微服务或微功能来响应一个客户端的请求 ,这种方式是云计算发展的自然过程。

这个发展历程也是一场 IT 架构的演进,期间经历了一系列代际的技术变革,把资源切分得更细,让运行效率更高,让硬件软件维护更简单。IT 架构的演进主要有以下几个特点:

硬件资源使用颗粒度变小

资源利用率越来越高

运维工作逐步减少

业务更聚焦在代码层面

1. Serverless 架构的组成

Serverless架构分为 Backend as a Service(BaaS) 和 Functions as a Service(FaaS) 两种技术,Serverless 是由开发者实现的服务端逻辑运行在无状态的计算容器中,它是由事件触发、完全被第三方管理的。

2. 什么是 BaaS?

Baas 的英文翻译成中文的含义:后端即服务,它的应用架构由大量第三方云服务器和 API 组成,使应用中关于服务器的逻辑和状态都由服务提供方来管理。比如我们的典型的单页应用 SPA 和移动 APP 富客户端应用,前后端交互主要是以 RestAPI 调用为主。只需要调用服务提供方的 API 即可完成相应的功能,比如常见的身份验证、云端数据/文件存储、消息推送、应用数据分析等。

3. 什么是 FaaS?

FaaS 可以被叫做:函数即服务。开发者可以直接将服务业务逻辑代码部署,运行在第三方提供的无状态计算容器中,开发者只需要编写业务代码即可,无需关注服务器,并且代码的执行是由事件触发的。其中 AWS Lambda 是目前最佳的 FaaS 实现之一。

Serverless 的应用架构是将 BaaS 和 FaaS 组合在一起的应用,用户只需要关注应用的业务逻辑代码,编写函数为粒度将其运行在 FaaS 平台上,并且和 BaaS 第三远程桌面方服务整合在一起,最后就搭建了一个完整的系统。整个系统过程中完全无需关注服务器。

Serverless 架构的特点

总得来说,Serverless 架构主要有以下特点:

实现了细粒度的计算资源分配

不需要预先分配资源

具备真正意义上的高度扩容和弹性

按需使用,按需计费

由于 Serverless 应用与服务器的解耦,购买的是云服务商的资源,使得 Serverless 架构降低了运维的压力,也无需进行服务器硬件等预估和购买。

Serverless 架构使得开发人员更加专注于业务服务的实现,中间件和硬件服务器资源都托管给了云服务商。这同时降低了开发成本,按需扩展和计费,无需考虑基础设施。

Serverless 架构给前端也带来了便利,大前端深入到业务端的成本降低,开发者只需要关注业务逻辑,前端工程师轻松转为全栈工程师。

Serverless 有哪些应用场景?

应用场景与 Serverless 架构的特点密切相关,根据 Serverless 的这些通用特点,我们归纳出下面几种典型使用场景:弹性伸缩、大数据分析、事件触发等

(0)

相关推荐

  • 你学BFF和Serverless了吗

    在聊Serverless之前跟大家先谈谈BFF,BFF顾名思义就是 Backend For Frontend ,用中文解释就是服务于前端的后端,那么为什么会有BFF? 前端同学和后端同学都各有各的道理 ...

  • 腾讯云Severless:打破云计算的“边际递减”效应

    著名学者霍曼斯提出过一个"边际效应"的理论,是指连续地增加某一种投入,所新增的产出或收益反而会逐渐减少.意思是说,某个行业的发展超出到一定的水平后,追加的投入所带来的产出会&quo ...

  • 独家对话阿里云函数计算负责人不瞋:你所不知道的Serverless

    Serverless其实离我们并没有那么遥远 " 作者 | 杨丽 出品 | 雷锋网产业组 如果你是一名互联网研发人员,那么极有可能了解并应用过Serverless这套技术体系.纵观Serve ...

  • Serverless无服务器架构详解

    本文对serverless架构的基础概念,工作原理,应用场景以及具体产品进行详细解析. 基础概念 serverless:无服务器架构,即在无需管理服务器等底层资源的情况下完成应用的开发和运行,是云原生 ...

  • 一文了解四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构

    如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存.晋升空间.这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面. 一.单体架构 单体架构 ...

  • 今日头条技术架构到底有多牛

    可可| 开发者前线 链接:https://blog.csdn.net/mucaoyx/article/details/84498468   今日头条创立于2012年3月,到目前仅4年时间.从十几个工程 ...

  • “12306”的架构到底有多牛逼?

    作者:绘你一世倾城 来源:juejin.im/post/5d84e21f6fb9a06ac8248149 " 每到节假日期间,一二线城市返乡.外出游玩的人们几乎都面临着一个问题:抢火车票! ...

  • 微信支付的系统架构到底有多厉害?

    源 /cnblog    文 / jack jiang 背 景 作为一个重要业务,微信支付在客户端上面临着各种问题.其中最核心问题就是分平台实现导致的问题: iOS 和安卓实现不一致 容易出 Bug ...

  • VIE架构到底是怎么回事?

    很怀念小时候,那时报纸.杂志.电视和广播是我们的灯塔,图书馆是我们的星辰大海.那时我们的记忆力好于体力,没有云存储,只有脑回路. 这是申鹤公众号第589天的第589篇原创文章 新浪.腾讯.百度,京东. ...

  • 比亚迪的BNA架构到底是什么东西?e平台又是指什么?

    比亚迪最近一直在宣传BNA架构,同时又不断宣传e平台,不少人表示费解,这两者到底有什么关系和区别?这里笔者为大家简要科普一下. BNA架构一种更先进模块化造车理念--在提升车辆性能.品质的同时,大幅降 ...

  • 华为达芬奇架构到底好在哪里?

    华为达芬奇架构好在哪里?从使用效果看,华为手机的AI能力就能体现实实在在的好效果.如果从技术角度看,达芬奇架构可以在同样的单位功耗下提供更多的AI算力,而现在的科技时代正是人工智能AI快速发展的时代, ...

  • 启辰星的VSA智能模块架构到底什么样?且来听一听 | Future关注

    自从东风启辰旗下全新车型启辰星在广州车展亮相以来,就引来了消费者的强烈关注,毕竟这是东风启辰VSA智能模块架构下的首款力作,大家难免好奇这个全新架构究竟有何过人之处,能让东风启辰如此重视. 为了让更多 ...

  • “12306”的架构到底有多牛逼?负载 lvs

    作者丨 绘你一世倾城 来源: https://juejin.im/post/5d84e21f6fb9a06ac8248149 " 每到节假日期间,一二线城市返乡.外出游玩的人们几乎都面临着一 ...