写点什么

我的 Serverless 实战——能掰扯面试官的 SSVM 超详细解析!

作者:Java高工P7
  • 2021 年 11 月 12 日
  • 本文字数:2410 字

    阅读完需:约 8 分钟

**【本文正在参与 “100%有奖 | 我的 Serverless 实战”征稿活动】**活动链接:https://marketing.csdn.net/p/15940c87f66c68188cfe5228cf4a0c3f


目录


一、什么是Serverless无服务器架构?


二、Serverless无服务器架构有哪些特点?


三、Serverless无服务器架构的核心概念


四、Serverless有哪些方面的应用?


五、基于 Serverless 的前端开发模式


六、关于(SSVM)Serverless WebAssembly的技术实践


七、通用 Serverless 无服务器架构解析




一、什么是 Serverless 无服务器架构?


==========================


Serverless 应用引擎(Serverless App Engine,


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


简称 SAE)是面向应用的 Serverless PaaS 平台,帮助 PaaS 层用户免运维 IaaS,按需使用,按量计费,实现低门槛微服务应用上云,有效解决成本及效率问题。支持 Spring Cloud、Dubbo 和 HSF 等流行的开发框架,真正实现了 Serverless 架构和微服务架构的完美融合。除了微服务应用外,您还能通过 Docker 镜像部署任何语言的应用。


Serverless 不代表再也不需要服务器了,而是说:开发者再也不用过多考虑服务器的问题,计算资源作为服务而不是服务器的概念出现。Serverless 是一种构建和管理基于微服务架构的完整流程,允许你在服务部署级别而不是服务器部署级别来管理你的应用部署,你甚至可以管理某个具体功能或端口的部署,这就能让开发者快速迭代,更快速地开发软件。关于 Serverless 的官网介绍:网站链接



以亚马逊的 AWS Lambda 为案例,Lambda 能让不用思考任何服务器,也就是说,不用你处理服务器上的部署、服务器容量和服务器的扩展和失败容错,还有服务器上选择什么 OS 操作系统,语言的更新,日志等等问题。你的应用程序只需要和多个第三方的 API 或服务打交道,也可以自我创建一个无服务器的 API。这样就大大减少了开发者在服务器部署和开发上消耗的时间和精力。



二、Serverless 无服务器架构有哪些特点?


============================


根据 Serverless 的使用特性,Serverless 有以下几个特点:


1、Serverless 意味无维护,Serverless 不代表完全去除服务器,而是代表去除有关对服务器运行状态的关心和担心,它们是否在工作,应用是否跑起来正常运行等等。Serverless 代表的是你不要关心运营维护问题。有了 Serverless,可以几乎无需 Devops 了。


2、Serverless 不代表某个具体技术,有些人会给他们的语言框架取名为 Serverless,Serverless 其实去除维护的担心,如果你了解某个具体服务器技术当然有帮助,但不是必须的。


3、Serverless 中的服务或功能代表的只是微功能或微服务,Serverless 是思维方式的转变,从过去:“构建一个框架运行在一台服务器上,对多个事件进行响应。”变为:“构建或使用一个微服务或微功能来响应一个事件。”,你可以使用?django or node.js 和 express 等实现,但是 serverless 本身超越这些框架概念。框架变得也不那么重要了。


4、Serverless 规模扩展性方面由于充分利用云计算的特点,因此其扩展是平滑的,同时由于 Serverless 是基于微服务的,而一些微功能微服务的云计算是零收费,这样有助于降低整体运营费用。



三、Serverless 无服务器架构的核心概念


===========================


可能会有很多人问了,没有服务器,如何来将程序、应用运行起来呢?在这里要介绍 Serverless 包含的两个核心概念:函数即服务,Function as a Service FaaS,后端即服务,Backend as a Service BaaS。接下来对这两个概念为大家做一个介绍。



函数即服务 FaaS




函数即服务 FaaS,作为一种新的计算能力提供方式,让用户抛弃了对服务器的配置和管理,仅需编写和上传核心业务代码,交由平台完成部署、调度、流量分发、弹性伸缩等能力。FaaS 的出现,会从底层开始变革计算资源的形态,提供了一种新的方式来提供计算资源,同时也会给软件架构与应用服务部署带来新的设计思路,进一步降低云计算的使用门槛,推动全行业在服务架构上的创新步伐。


后端即服务 BaaS




后端即服务 BaaS,其实大家已经使用很久了,这里的后端,指的就是各种云产品和云服务,例如对象存储 COS,消息队列CMQ,云数据库 CDB、TDSQL,云缓存 CRedis、CMemcached,甚至到各种以 API 形式提供的服务如万象优图 CI,视频处理 VC。这些产品或服务,用户直接开通即可使用,无需考虑部署、扩容、备份、优化、安全等各种运维工作,做到了开箱即用,无需自己去进行服务器或应用的维护和管理,因此同样也是 Serverless 的一部分。


四、Serverless 有哪些方面的应用?


=========================


数字化建设进程中,与日俱增的企业 IT 需求和可持续 IT 交付能力间的“技术债”日益扩大。如何让 IT 架构更加灵活、敏捷且更轻量级?怎样才能使遗留系统增效运转、新老系统高效联动并加速创新落地?这些都是日前众多互联网企业在进行开发时所思考的问题,因此基于 serverless 的众多无服务器架构的解决方案也由然而生。



Serverless 有三个最突出的应用场景


1、中小企业快速构建云上微服务应用


通过 SAE 帮用户屏蔽底层 IaaS 购买和运维细节,屏蔽底层镜像仓库和 Kubernetes 细节,低门槛通过 WAR/JAR 方式部署微服务应用,大幅提升运维效率,让企业聚焦核心业务本身。


2、应用环境随需灵活启停,节省成本


企业应用通常都有多套环境,除线上环境外,其它环境闲置率高,但重新搭建一套环境的成本也高。SAE 提供了一键启停开发测试环境的能力,即开即用,节省成本,方便运维。


3、利用弹性伸缩来应对不确定的突发流量


互联网、游戏类应用大促活动峰值流量不确定,SLA 和机器成本的平衡点不好找。SAE 提供自动弹性伸缩的能力,帮助应用自动轻松应对流量高峰,保证 SLA 的同时也节省机器成本。


以及静态网站的管理、替代 WordPress(Serverless Blog Project)、个人媒体服务器(less!)、物联网 Iot 或家庭自动框架或项目 (使用?AWS IoT)等都是最有可能应用 Serverless 架构的场景。


五、基于 Serverless 的前端开发模式


===========================

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
我的Serverless实战——能掰扯面试官的SSVM超详细解析!