主頁 >  其他 > 使用 ServerLess 實作云原生

使用 ServerLess 實作云原生

2020-09-19 06:41:08 其他

筆者有幸經歷了 IaaS(OS)、CaaS(Container),在這兩年又聽到了 FaaS(Funtion),這也是運維開發領域里的第三個階段了吧,今天我將從一個不懂得開發的系統工程師視角以及結合之前的幾篇系列文章為各位詮釋這個概念,

本文來自 Serverless 社區用戶「StatLee」投稿

一、簡述

一開始聽到 ServerLess 我以為是類似于 VPS(建站主機)亦或者是 VM、Container 之類的具備完整 OS 或半完整 OS 生態的一個全新開發方式,后來發現我完全理解錯了,如果說傳統的云計算是這樣分層的:

serverless

那么 FaaS(ServerLess 為代表的的 Funtion As A Service)就是把 SaaS 再進行精細化拆分,可以看這張圖就明白了(特別是紅圈部分):

FaaS

傳統以為 Application 就是業務的最終形態,可是隨著以開發領域為首的「微服務」及運維領域為首的「SRE/DevOps」理念出來后,傳統的業務運維明顯已經不能滿足新一代業務的需求,為了更貼合這些新的需求,實作:

  • 模塊拆分化(即一個功能作為一個模塊,而非一個業務作為一個模塊)
  • 最小顆粒化變更(即分層變更,變更時通過合理調度時變更間隔縮短,實作快速迭代)的目的

云廠商最終在以往的「最終形態」上又拆分了 Function 出來,多個 Function 再組成 Application,除了業務上的好處,這樣做的好處還可以支持將 Function 拆分單獨作為某個服務通過簡單的加殼(API 化)提供給外部呼叫,從商業角度講,這樣的模式能夠給 Application 本身創造的價值之外提供了更多的細分變現領域,

所以,為什么 ServerLess 這么火(至少表面看),就是因為 ServerLess 是上述所說 FaaS 的最佳體現,

二、實操

  1. 我們開始創建今天的主角,ServerLess(python 版本隨自身業務需求而變)創建一個云函式:

serverless

創建 SCF(云函式,ServerLess)

從云函式的功能上來看,與騰訊云的功能整合度還是比較高的,在規劃上筆者建議通過私有網路來構造云函式應用,

  1. 對接 cvm apiv3 sdk來實作拉取cvm串列,首先將用到的SDK檔案放在云函式所在目錄下,

  2. 通過 VSCode 插件一鍵部署,這里推薦使用 VSCode 來作為主 IDE,無論是構造 API 的 Django 所用的 TKE 可以通過 Remote Development 插件來進行遠程開發,還是 ServerLess 也可以通過騰訊云提供的 ServerLess ToolKit(當然大部分提供 ServerLess 的云廠商都有提供 Toolkit,安裝 ToolKit 時主要不要在 Remote IDE 視窗下點擊,否則就變成為遠端安裝了)進行開發,基本上做到完全體驗一致,

  3. 通過 CVM SDK 獲取 ins-id、內網 IP,再呼叫 Django 構造的介面進行傳參,

  4. 結果呼叫成功添加資料:

serverless

至此,實操完成,這樣相當把后端一個「同步資訊」的介面搬上了 ServerLess

三、場景

如實驗所述,ServerLess 只能是一個類似于「轉發器」的玩意嗎?并不是的,除了業務模塊是處于「中間(轉發、同步)」的模塊型別之外,其實 ServerLess 也是可以結合其他產品來實作對外輸出功能的,

本身 ServerLess 是沒有對外發布能力的,怎么理解呢?就是一般運維同學上手一看,這玩意兒為什么連個 ip 都沒有,域名哪里定義的,埠又在哪里,如何定義協議型別?

實際上 ServerLess 確實這些都沒有,因為如簡述所說,這是一個細粒化到只需要關注其上 App 中的某個 Function 的一個產品,所以 Function 之下的所有包括 OS、網路、App 都是不具備定制化的,

雖然 ServerLess 本身沒有對外發布能力,但是結合 API 網關就不是這回事兒了,當 ServerLess 遇到 API 網關,通常云廠商是支持 ServerLess 添加(或叫注冊)到API網關的,這就相當于你可以借 API 網關的「力」來使 ServerLess 實作對外發布的功能,

四、總結

ServerLess 的開發模式業界已經很多公司采用,相比于還在使用傳統環境(OS、中間件、選擇應用語言、構建資料層、前后端)來說:

  1. 運維壓力小了很多,因為只需要專注在 ServerLess 本身的運行引數以及架構上的調整、運維,而不再需要關注 Function 以下的運維難點;
  2. 開發人員由于 ServerLess 一般由云廠商提供全鏈路的整合,加上 IDE 插件的支持基本上全程實作云上開發,靈活的版本、環境也可以保證發布出現問題的幾率最小化,同時開發職能的交叉度降到最低開發人員之間的干擾依賴降低
  3. 對于公司的商業模式來說,像擁有大量訪問量、市場受眾的企業客戶不單單可以在業務上實作盈利,某些業務系統模塊的優勢也可以借助 ServerLess 拆分出來實作內部IT支撐系統的變現

ServerLess 也存在一些問題,比如由于 ServerLess 基本上是依托在云廠商之上,對于有混合云的場景,對于S2S 的鏈接質量要求更高,當然這些在 ServerLess 的不斷優化迭代情況下會越來越順暢,所以,無論是 Dev 還是 Ops,擁抱并享受 ServerLess 吧,

One More Thing

3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?

復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express

3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!

傳送門:

  • GitHub: github.com/serverless
  • 官網:serverless.com

歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關于 Serverless 應用的開發!


推薦閱讀:《Serverless 架構:從原理、設計到專案實戰》

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/79601.html

標籤:其他

上一篇:Microsoft 365 解決方案:未經身份驗證的用戶上載檔案小技巧 (2)

下一篇:FusionConputer熱遷移程序記錄

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more