Serverless,云计算3.0阶段

        Hi~各位读者朋友们,感谢您阅读本文,我是笠泱,本期简单分享下Serverless。Serverless是一种云计算服务模式,为业务代码提供运行环境及调度服务。开发者只需专注于编写业务逻辑代码,无需管理底层基础设施(如服务器、存储和网络)。

什么是Serverless

        “Serverless无服务器”术语最早出现在 2012 年,这一词的出现意味着开发人员不再需要考虑那么多的物理容量或其他基础设施资源管理责任,通过消除后端基础设施的复杂性,让开发人员可将注意力从服务器级别转移到任务级别。

        Serverless无服务器被广泛关注,要追溯到亚马逊云科技2014 年推出的 Amazon Lambda 服务,随后各大厂商纷纷进入无服务器市场,Serverless逐渐被更多开发者所熟知,并逐渐成为一个发展“热词”。

Serverful架构

        在传统Serverful架构下,产品架构复杂度较高,并伴随着固定成本的投入,运维成本高,开发效率低。

Serverless架构

        相对于Serverful,Serverless可以让业务人员无需关注服务器,仅聚焦于业务逻辑代码,平台为您准备好计算资源,可靠地运行任务,并通过弹性伸缩应对流量峰谷,只需为任务实际消耗的资源付费。

Serverless优势

Serverless分类

        各大云平台的Serverless产品类型大同小异,以阿里云为例,主要分为函数计算(Function Compute,简称FC)和应用引擎 (Serverless App Engine,简称SAE)。

        函数计算FC 是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码或镜像。函数计算为您准备好计算资源,可靠地运行任务,通过弹性伸缩应对流量峰谷,并提供日志查询、性能监控和报警等功能。

        应用引擎SAE 是一款零代码改造、极简易用、自适应弹性的应用全托管平台。SAE能够让您免运维IaaS和K8s,秒级完成从源代码、代码包、Docker镜像部署任意语言的在线应用(例如微服务、Job任务)到SAE,并自动伸缩实例按使用量计费,开箱即用日志、监控、负载均衡等配套能力。

计费方式

        CU :全称Cost Unit,单位为CU,是阿里云推出的一种计费单位,其他计费项的资源使用量可以转换成CU使用量。

        vCPU、内存等资源使用量与CU使用量的转换逻辑为:CU使用量=资源使用量×CU转换系数

        具体计费规则详见:SAE计费规则与计费项_Serverless 应用引擎(SAE)-阿里云帮助中心

        从上图我们可以看到Serverless采用了阶梯单价、按量付费模式,并且还支持根据活跃或闲置、昼夜分时灵活计价,将云的弹性几乎做到了极致。

工作流程

SAE 常用架构

SAE使用流程如下:

1、在首次部署SAE应用前,需要完成规划VPC、vSwitch、命名空间(区分测试、预发、生产等环境)的准备工作。除通过控制台部署应用外,SAE还支持通过Jenkins、IDE插件、Maven插件、Terraform、OpenAPI和云效等多种方式来部署应用。

2、通过以下方式访问SAE应用。

        方式一:绑定CLB访问,一个端口支持绑定一个应用。具体操作,请参见为应用绑定CLB。

        方式二:配置网关路由访问,一个端口支持绑定多个应用。具体操作,请参见为应用配置网关路由(CLB)。

        方式三:绑定EIP访问,一个实例支持绑定一个EIP。具体操作,请参见基于EIP配置SAE实例公网访问和访问公网的能力。

3、为SAE应用配置更多进阶功能。例如,企业级权限控制、弹性(降本增效)、Java微服务增强、高可用、存储等功能。

FC 工作流程

函数计算(Function Compute,简称FC)是事件驱动的全托管计算服务。

FC使用流程如下:

1、开发者使用编程语言编写应用和函数。函数计算支持的开发语言,请参见代码开发概述。

2、开发者上传应用到函数计算。

上传途径包括以下方式:

  • 通过函数计算控制台上传。
  • 通过Serverless Devs工具上传。更多信息,请参见什么是Serverless Devs。
  • 通过API或SDK上传。更多信息,请参见SDK参考。

3、触发函数执行。可以通过控制台或调用API触发,开发者也可以给函数计算配置事件源,终端用户执行事件发生时,自动触发函数执行。

4、函数计算支持根据用户请求量自动扩缩容。

5、根据实际执行时长和资源使用量进行计费。函数执行结束后,可以通过账单来查看函数执行产生的费用。

如何迁移

Serverless实践

开通

以阿里云的函数计算为例函数计算FC_无服务器计算_Serverless_容器与中间件-阿里云

创建

基于基础环境

基于自定义镜像

Demo演示

以Web函数为例创建一个示例代码的函数

测试通过后,点击部署代码

可以根据提供的URL在公网访问

实现灰度发布

        需注意的是JAVA 为编译型语言,直接修改代码不能直接生效!需要在FC的控制台右上角“导出代码”,然后根据 HELP.md 中的说明编译代码并重新上传。修改源代码让请求返回"Hello World - v2.0版本",然后mvn clean package重新编译。

上传v2.0版本的代码

创建别名,启用灰度发布

curl测试发现v1.0和v2.0版本各有50%概率被访问到

        另外值得注意的是实例是阿里云函数计算 FC 用来运行函数的最小单元。您的请求就是通过函数实例来进行处理的。请求开始执行前,函数计算会为每个请求分配一个最合适的实例。注意:当前列表中仅展示了当前版本或别名的实例,您可以通过页面上方的版本或别名下拉框进行切换。提示:按量实例在处理完请求后会被冻结,如果一段时间内(一般为3~5分钟)不再处理请求,会自动销毁。点击这里了解如何手动停止实例。

通过函数计算平台可以快速创建各式各样的应用,并相互组合调用构成完整的业务链。

本期总结

        本期内容简要介绍了Serverless技术,传统的Serverful模式下企业需要参照流量峰值长期保留固定IaaS资源,导致日常业务中的资源浪费,Serverless可以做到最小化闲置资源为原则,根据应用实际使用的资源按量计费,避免业务在不活跃时段的费用开销,大大降低资源成本,做到灵活策略,其底层技术就是容器、容器编排、K8S、HPA/VPA等技术,减少服务器租赁和运维成本以及基础环境的搭建成本,同时能获取业务极致弹性。。

        最后,感谢您的阅读!系列文章会同步更新在微信公众号@云上的喵酱、阿里云开发者社区@云上的喵酱、CSDN@笠泱,您的点赞+关注+转发是我后续更新的动力!

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

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

相关文章

eSearch:一款集截图、OCR与录屏于一体的多功能软件

eSearch:一款集截图、OCR与录屏于一体的多功能软件 软件介绍 eSearch是一款专为Windows 10和11用户设计的多功能软件,集截图、OCR文字识别、录屏等功能于一体,且完全免费。其便捷版无需安装,运行后最小化至托盘图标,…

React学习———useContext和useReducer

useContext useContext是React的一个Hook,用于在函数组件中访问上下文(context)的值。它可以帮助我们在组件树中共享状态,而不需要通过props一层层传递 特点 用于跨组件共享状态需要配合React.createContext和Context.Provider…

安卓刷机模式详解:Fastboot、Fastbootd、9008与MTK深刷

安卓刷机模式详解:Fastboot、Fastbootd、9008与MTK深刷 一、刷机模式对比 1. Fastboot模式 简介:传统安卓底层刷机模式,通过USB连接电脑操作优点:支持大多数安卓设备,操作相对简单缺点:需要设备进入特定…

HDFS的概述

HDFS组成构架: 注: NameNode(nn):就是 Master,它是一个主管、管理者。 (1) 管理 HDFS 的名称空间; (2) 配置副本策略。记录某些文件应该保持几个副本; (3) 管理数据块&#xff0…

配置Spark环境

1.上传spark安装包到某一台机器(自己在finaShell上的机器)。 2.解压。 把第一步上传的安装包解压到/opt/module下(也可以自己决定解压到哪里)。对应的命令是:tar -zxvf 安装包 -C /opt/module 3.重命名。进入/opt/mo…

Java笔记五

1 Math类 1.1 概述 tips:了解内容 查看API文档,我们可以看到API文档中关于Math类的定义如下: Math类所在包为java.lang包,因此在使用的时候不需要进行导包。并且Math类被final修饰了,因此该类是不能被继承的。 Math…

QT 插槽实现

方法 1:使用 default property 实现标签插入 通过定义 default property,可以使组件直接嵌套在目标组件中,类似于插槽机制。 CustomSlotExample.qml import QtQuick 2.15 import QtQuick.Controls 2.15// 定义一个支持插槽的自定义组件 Re…

spark在shell中运行RDD程序

在hdfs中/wcinput中创建一个文件:word2.txt在里面写几个单词 启动hdfs集群 [roothadoop100 ~]# myhadoop start [roothadoop100 ~]# cd /opt/module/spark-yarn/bin [roothadoop100 ~]# ./spark-shell 写个11测试一下 按住ctrlD退出 进入环境:spark-shel…

Redis 主从复制的实现原理是什么?

Redis主从复制的实现原理可通过以下核心机制与流程解析: 一、核心目标与角色分工 Redis主从复制通过**单一主节点(Master)**处理写操作,**多个从节点(Slave)**同步数据并提供读服务,实现&…

量化交易 - 网格交易策略实现与原理解析

📈 网格交易策略实现与原理解析 🧠 什么是网格交易策略? 网格交易(Grid Trading)是一种经典的量化交易策略,其核心思想是在价格的不同区间(“网格”)中设置买入和卖出操作&#xf…

前端npm的核心作用与使用详解

一、npm是什么? npm(Node Package Manager) 是 Node.js 的默认包管理工具,也是全球最大的开源代码库生态系统。虽然它最初是为 Node.js 后端服务设计的,但如今在前端开发中已成为不可或缺的基础设施。通过npm,开发者可以轻松安装、管理和共享代码模块。 特性: 依赖管理…

Vue3学习(组合式API——生命周期函数基础)

目录 一、Vue3组合式API中的生命周期函数。 &#xff08;1&#xff09;各阶段生命周期涉及函数简单介绍。 <1>创建挂载阶段的生命周期函数。 <2>更新阶段的生命周期函数。 <3>卸载阶段的生命周期函数。 <4>错误处理的生命周期函数。 &#xff08;2&…

道通EVO MAX系列无人机-支持二次开发

道通EVO MAX系列无人机-支持二次开发 EVO Max 系列采用Autel Autonomy自主飞行技术&#xff0c;实现复杂环境下的全局路径规划、3D场景重建、自主绕障和返航&#xff1b;高精度视觉导航能力&#xff0c;使其在信号干扰强、信号遮挡、信号弱等复杂环境下&#xff0c;依然获得高精…

网张实验操作-防火墙+NAT

实验目的 了解防火墙&#xff08;ENSP中的USG5500&#xff09;域间转发策略配置、NAT&#xff08;与路由器NAT配置命令不同&#xff09;配置。 网络拓扑 两个防火墙连接分别连接一个内网&#xff0c;中间通过路由器连接。配置NAT之后&#xff0c;内网PC可以ping公网&#xf…

FPGA: UltraScale+ bitslip实现(方案+代码)

收获 一晃五年~ 五年前那个夏夜&#xff0c;我对着泛蓝的屏幕敲下《给十年后的自己》&#xff0c;在2020年的疫情迷雾中编织着对未来的想象。此刻回望&#xff0c;第四届集创赛的参赛编号仍清晰如昨&#xff0c;而那个在家熬夜焊电路板的"不眠者"&#xff0c;现在…

机器学习笔记2

5 TfidfVectorizer TF-IDF文本特征词的重要程度特征提取 (1) 算法 词频(Term Frequency, TF), 表示一个词在当前篇文章中的重要性 逆文档频率(Inverse Document Frequency, IDF), 反映了词在整个文档集合中的稀有程度 (2) API sklearn.feature_extraction.text.TfidfVector…

UV 快速入门和使用案例

UV 快速入门和使用案例 作者&#xff1a;王珂 邮箱&#xff1a;49186456qq.com 文章目录 UV 快速入门和使用案例简介一、安装1.1 安装包安装1.2 从 PyPI 安装二、使用2.1 创建项目2.2 包管理2.3 工具2.4 Python 版本 简介 官网&#xff1a; 项目&#xff1a; https://githu…

质控脚本来喽

好久不更新&#xff0c;上个硬货。脚本需提前准备宿主和rrna的bowtie2索引文件&#xff0c;原始数据的命名方式为{sample}_raw_1/2.fq.gz&#xff0c;保存有原始数据路径的文件&#xff0c;保存样品列表的文件。 最后打个广告&#xff0c;欢迎畜牧学方向的研究生报考兰州大学。…

Linux Bash | Capture Output / Recall

注&#xff1a;本文为 “Linux Bash | Capture Output / Recall” 相关文章合辑。 英文引文&#xff0c;机翻未校。 中文引文&#xff0c;略作重排。 Automatically Capture Output of the Last Command Into a Variable Using Bash 使用 Bash自动将最后一个命令的输出捕获到…

编程题 03-树2 List Leaves【PAT】

文章目录 题目输入格式输出格式输入样例输出样例 题解解题思路完整代码 编程练习题目集目录 题目 Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. 输入格式 Each input file contains one test case. For each case, …