浅析Serverless

近两年来,Serverless 概念在开发者中交流的越来越多,主题分享呈现爆发趋势。有人说:Serverless 正在改变未来软件开发的模式和流程,它就是云计算的未来。

在一个应用中包含了多个功能,如订单创建、订单查询和订单修改等。应用数据存储在外部数据库中。数据库和应用一样,也部署在数据中心的主机上,由用户负责运维。

开发人员进行业务开发时,需要关心很多和服务器相关的服务端开发工作,比如存储和计算资源、缓存、消息服务、数据库,以及防止服务器被安全攻击,负载均衡和横向扩展能力,考虑服务器容灾稳定性等非专业逻辑的开发。这些服务器的运维和开发知识、经验极大地限制了开发者进行业务开发的效率。

传统的架构:

应用被部署在Serverless平台之上。应用的功能点变成若干个函数定义,部署于FaaS之中。数据仍然存放在后端数据库中。应用函数通过访问后端的数据库服务(BaaS)获取订单数据。

Serverless 场景下,客户端需要通过 API 网关 Baas 来访问函数 FaaS 服务,然后在通过函数计算做数据库链接实现数据库的写入和拉取。

Serverless架构下。当用户完成应用开发后,软件应用将被部署到指定的运行环境,这个运行环境不再是具体的一台或多台服务器,而是支持Serverless的云计算平台。Serverless云计算平台保证该主机提供应用正常运行所需的计算资源。在访问量升高时,云计算平台动态地增加应用的部署实例。当应用空闲一段时间后,云计算平台自动将应用从主机中卸载,并回收资源。

Serverless服务架构:

相相同点:
1.两个应用都存在一个逻辑层,负责处理用户请求;
2.两个应用的数据都存储在应用外部的数据库中。
不同点:
1.Serverless架构的应用部署于Serverless平台之上,由Serverless平台提供运行所需的计算资源。
2.在Serverless架构下,由于应用的逻辑分散成了若干个函数,推荐通过API网关对这些函数逻辑进行统一的管控(如流量控制、安全管控、版本管理等)

详解Serverless:

无服务器计算是一种云计算执行模型,云厂商提供程序运行的服务器,并动态管理机器资源的分配。云厂商基于应用程序消耗的实际资源量进行定价,而不是用户预先购买的容量。

Serverless并不能按字面上理解为无服务器,而是说对应用开发者而言,不再需要操心大部分跟服务器相关的事务,比如应用运行环境配置、负载均衡、日志搜集、系统监控等,这些事情统统交给Serverless平台即可,应用开发者唯一需要做的就是编写应用代码,实现业务逻辑。

Serverless主要的两个特征是:免运维,按资源的使用量付费

目前业界的各类Serverless实现按功能而言,主要为应用服务提供了两个方面的支持:函数即服务(Function as a ServiceFaaS)以及后台即服务(Backend as aServiceBaaS

那么下面来说说IaaS,PaaS,Saas,FaaS和BaaS

以做披萨生意为例,如果从买设备,制作,销售都是自己一个人做,未免会太过于劳累,所以需要别人的服务来让这个生意更好做,下面就是一些让别人服务你的方法:

1.IaaS

别人给你提供厨房,炉子,煤气这些基础设施,你去制作

2.PaaS

除了别人给你提供的基础设施之后,还有人帮你做饼皮,自己只需要把其他配料撒上去,之后还有人帮你烤

自己能决定的就是这个披萨的味道

3.SaaS

自己不参与制作,直接用别人做好的披萨,自己只需要包装一下,给披萨打上自己的logo卖出去就可以
 

4.BaaS

提供了一些服务让你选择,别人提供了烤披萨,调配料这些服务,用哪个就可以点哪个

5.FaaS

比提供某一项服务更加具体,具体到某一项服务的具体内容

c技术特点:

按需加载
应用的加载(load)和卸载(unload)由Serverless云计算平台控制。这意味着应用不总是一直在线的。只有当有请求到达或者有事件发生时才会被部署和启动。当应用空闲至一定时长时,应用会被自动停止和卸载。 事件驱动
应用的加载和执行由事件驱动,通过将不同事件来源(EventSource)的事件(Event)与特定的函数进行关联,实现对不同事件采取不同的反应动作。

状态非本地持久化
云计算平台自动控制应用实例的加载和卸载,且应用和服务器完全解耦,应用不再与特定的服务器关联。因此应用的状态不能,也不会保存在其运行的服务器之上,不能做到传统意义上的状态本地持久化

应用函数化
每一个调用完成一个业务动作,应用会被分解成多个细颗粒度的操作。由于状态无法本地持久化,这些细颗粒度的操作是无状态的。

依赖服务化
所有应用依赖的服务都是一个个后台服务(BackendService),应用通过BaaS方便获取,而无须关心底层细节。
 

Serverless的局限性:

可移植性
Serverless应用的实现在很大程度上依赖于Serverless平台及该平台上的FaaS和BaaS服务。不同IT厂商的Serverless平台和解决方案的具体实现并不相同。
安全性
在Serverless架构下,用户不能直接控制应用实际所运行的主机。不同用户的应用,或者同一用户的不同应用在运行时可能共用底层的主机资源。对于一些安全性要求较高的应用,这将带来潜在的安全风险。
性能
当一个Serverless应用长时间空闲时将会被从主机上卸载。当请求再次到达时,平台需要重新加载应用。应用的首次加载及重新加载的过程将产生一定的延时。对于一些对延时敏感的应用,需要通过预先加载或延长空闲超时时间等手段进行处理。
执行时长
Serverless的一个重要特点是应用按需加载执行,而不是长时间持续部署在主机上。目前,大部分Serverless平台对FaaS函数的执行时长存在限制。因此Serverless应用更适合一些执行时长较短的作业。 
技术成熟度
目前Serverless相关平台、工具和框架还处在一个不断变化和演进的阶段,开发和调试的用户体验还需要进一步提升。

 

如何实现FaaS?

微服务和FaaS的差别在于粒度,微服务是功能级别,FaaS 是函数级别。server 要实现FaaS,首先必须将单体应用演进到微服务,然后才能进一步地分解到函数级别,实现FaaS。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

复兴or幻象?VR的2021三重门

来源:脑极体从2020年底开始,无论你日常看一些数码博主的评测,还是喜欢了解科技产业的动态、投融资的报道,都能在媒体中了解到这么一个信号:2021,VR复兴了!当然,这个表述有很多说法&a…

24张GIF图,让你秒懂非标自动化机构的原理

来源:工业机器人1.组合加紧机构↓↓2.凸轮连杆组合输送薄板机构↓↓3.热合联动↓↓4.凸轮双摇杆机构单独运动↓↓5.步进输送机构↓↓6.输出构件作间歇运动↓↓7.输出构件作间歇运动等宽凸轮间歇移动机构↓↓8.双摇杆夹紧机构↓↓9.不自锁推拉式夹紧机构↓↓10.双肘杆…

机器学习的通俗讲解

来源:dataxon译者:Ahong机器学习人人都在谈论,但除了老师们知根知底外,只有很少的人能说清楚怎么回事。如果阅读网上关于机器学习的文章,你很可能会遇到两种情况:充斥各种定理的厚重学术三部曲(我搞定半个定…

边缘计算有哪些关键技术?

来源:智东西、金融界等网站原文链接:https://mp.weixin.qq.com/s/5QAHPMM8SNE3J8fpmDKFaQ如果要问物联网圈最火的概念有哪些?5G与边缘计算一定榜上有名,两者看似风马牛不相及,实则却在冥冥之中自有交集。5G时代&#x…

论文《城市大脑的定义与建设规范探讨》在IEEE(ICBAIE)发表

来源:城市大脑全球标准研究组城市大脑全球标准研究组论文《Discussion on the Definition and Construction Principles of City Brain》,2021年3月在2021 IEEE 2nd International Conference on Big Data, Artificial Intelligence and Internet of Thi…

修改类名后依旧按照原先的类名进行加载

在springMvcMybatis的项目里面 修改了一个类名,之后编译的时候报出了以下的错误 试过 clean也没有作用 黑色涂鸦部分为原先的类名 删掉target文件夹解决了问题 原因是target会保存之前编译好的路径,编译时如果再根据之前的路径去寻找,一定…

谷歌的深度学习在AI芯片中找到了一条关键路径

来源:AI前线 作者:Tiernan Ray译者:Sambodhi策划: 刘燕一年前,ZDNet 与谷歌大脑总监 Jeff Dean谈到 了该公司如何使用人工智能来推进定制芯片的内部开发,从而加快软件开发。Dean 指出,在有些情…

脑机接口猴子通过“意念”打游戏!马斯克:未来能让瘫痪者用意念玩手机

来源:新智元它是Pager,一只9岁的恒河猴,来自Neuralink,最近它刚刚get了新技能——用意念玩乒乓球游戏。6个星期前,Pager的脑袋里被植入了两个叫N1 Link的装置,工作人员用香蕉奶昔诱惑它玩游戏,屏…

struts2_HelloWorld

第一个Struts2程序-Hello 1.创建web工程struts2-01-Hello 2.导入jar包到bin目录,jar地址: https://files.cnblogs.com/files/aihuadung/struts%E6%89%80%E9%9C%80jar%E5%8C%85.zip 3.配置web.xml文件 <?xml version"1.0" encoding"UTF-8"?><!DO…

centos 7 网络设置与图像化界面下载

①打开虚拟机的设置&#xff0c;找到网络设置。再启用网卡1&#xff0c;选择连接方式为Host-only&#xff0c;界面名称选择VirtualBox Host-Only Ethernet Adapter&#xff0c;设置如下图 提示&#xff1a; 1.对虚拟机网络设置&#xff0c;需要先关闭虚拟机&#xff1b; 2.这里…

逻辑的计算进路--从莱布尼茨到图灵的逻辑发展

来源&#xff1a;图灵人工智能【作者单位&#xff1a;北京语言大学信息科学学院中国社会科学院哲学所】摘要&#xff1a;现代逻辑肇始于莱布尼茨&#xff0c;在布尔和弗雷格处发生了分流&#xff0c;形成了所谓的逻辑的代数传统和逻辑的语言传统&#xff0c;然而&#xff0c;无…

c# 窗体启动后自动执行 Form_Load事件注册及调用

很多时候我们需要在程序一开始后立即触发执行一些程序。这时候需要调用Form_Load。 首先编写事件程序块&#xff0c;编写完后即可再里面添加需要执行的代码。 在结构体之后写就行。添加之前的代码如下&#xff1a; using System;using System.Collections.Generic;using Syste…

上海交大与《Science》发布125个最具挑战的科学问题

来源&#xff1a;澎湃新闻“我们可以预测下一次流行病吗&#xff1f;”“我们会找到治疗感冒的方法吗&#xff1f;”“什么是重力&#xff1f;”“人类有一天会不得不离开地球吗&#xff1f;”“什么是成瘾&#xff1f;”《Science&#xff08;科学&#xff09;》/美国科学促进…

离体猪脑实验的困惑

© Thomas Prior来源&#xff1a;利维坦文&#xff1a;Philip Jaekl译&#xff1a;Yord校对&#xff1a;药师令人意外的是&#xff0c;死亡的定义不太牢靠。20世纪50年代之前&#xff0c;人们对死亡的定义通常是心跳停止且没有自主呼吸。但在1968年&#xff0c;哈佛医学院特…

刚刚,我国智能科学技术最高奖揭晓!

第十届“吴文俊人工智能科学技术奖”颁奖典礼现场来源&#xff1a; 深城物联 4月10日&#xff0c;我国智能科学技术最高奖“吴文俊人工智能科学技术奖”十周年颁奖盛典北京举办。军事科学院系统工程研究院研究员、中国工程院院士李德毅荣获“吴文俊人工智能最高成就奖”&#…

Kubernetes原理浅析

传统部署时代&#xff1a; 早期&#xff0c;组织在物理服务器上运行应用程序。无法为物理服务器中的应用程序定义资源边界&#xff0c;这会导致资源分配问题。例如&#xff0c;如果在物理服务器上运行多个应用程序&#xff0c;则可能会出现一个应用程序占用大部分资源的情况&am…

mac上python3安装HTMLTestRunner

下载支持python3版本的HTMLTestRunner.py文件后&#xff0c;拷贝到python3的lib目录下 在终端输入如下命令&#xff1a; 将HTMLTestRunner.py文件拷贝到如下目录后&#xff0c;pycharm中就可以import HTMLTestRunner 转载于:https://www.cnblogs.com/yrxns/p/9857812.html

从Bengio的NPS模型看AGI的实现通路

来源&#xff1a;混沌巡洋舰这两天深度学习祖师Yoshua Bengio 的 Neural Production System 刷新了AI圈子。与以往的深度学习套路不同的是&#xff0c; 这篇文章有效的把符号主义AI对人类认知的模拟与深度学习结合&#xff0c; 得到了一个能够学习规则的神经机器。我们先来看下…

burp的intruder报错Payload set 1: Invalid number settings

使用burp对某一参数进行测试时&#xff0c;当类型为numbers时&#xff0c;报如下错误&#xff1a; 解决方法&#xff1a; 先点击Go back 之后&#xff1a;在Decimal&#xff0c;Hex两个选项之间来回点就好了

机器学习漫谈:深度学习的辉煌

来源&#xff1a;王宏琳科学网博客如今&#xff0c;当有人提到人工智能引起社会变革潜力时&#xff0c;他们很可能是在谈论机器学习中的人工神经网络。当一篇文章谈人工神经网络突破性进展时&#xff0c;作者很可能指的是深度学习。人工神经网络是一种非线性统计建模工具&#…