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.pswp.cn/web/80069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80069.shtml
英文地址,請注明出處:http://en.pswp.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, …