溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Serverless 技術(shù)選型該如何理解

發(fā)布時間:2021-12-16 11:53:40 來源:億速云 閱讀:150 作者:柒染 欄目:云計算

本篇文章為大家展示了Serverless 技術(shù)選型該如何理解,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

下面通過本文給大家介紹一下,阿里云都有哪些可供大家選擇的 Serverless 產(chǎn)品。

Serverless 產(chǎn)品及分層

眾所周知,最早提出 Serverless 的是 AWS,其在 Serverless 領(lǐng)域的旗艦產(chǎn)品是 function compute。同樣阿里云也有函數(shù)計算的產(chǎn)品,幫助用戶構(gòu)建 Serverless 函數(shù)。但 Serverless 不僅僅是函數(shù),如下圖所示,其實用戶會期望在應用、容器等層面也能夠享受到 Serverless 的好處,包括按量付費、極致彈性等,這樣也更符合用戶原有的使用習慣。

Serverless 技術(shù)選型該如何理解

在上圖中,大家能夠看到,阿里云針對函數(shù)、應用和容器都推出了對應的 Serverless 產(chǎn)品,用戶可以針對自己的使用場景選擇不同的產(chǎn)品。

函數(shù)計算

1. 函數(shù)計算介紹

Serverless 技術(shù)選型該如何理解

上圖展示了函數(shù)計算的使用方式。從用戶角度,他需要做的只是編碼,然后把代碼上傳到函數(shù)計算中。這個時候還不會產(chǎn)生費用,只有到被調(diào)用的時候才有費用。調(diào)用的方式可以是產(chǎn)品提供的 API/SDK,也可以通過一些事件源,比如阿里云的 OSS 的事件。比如用戶往 OSS 里的某一個 bucket 上傳了一個文件,希望這個文件被自動處理;比如上傳一個 zip 包,希望能夠自動解壓到另外一個 bucket,這都是很典型的函數(shù)場景。

另外,函數(shù)計算能夠提供非常好的彈性能力,最終的費用是根據(jù)時長和內(nèi)存數(shù)進行計費的,如果調(diào)用量小的話,只會有很少的費用。并且它在語言方面也非常豐富,常用的 nodejs、php、python、java 都直接支持。同時提供自定義的運行環(huán)境,可以支持任意的可執(zhí)行的語言。

2. 函數(shù)計算典型場景

Serverless 技術(shù)選型該如何理解

從使用場景來說,主要有三類:

  • Web 應用??梢允歉鞣N語言寫的,這種可以使用 Serverless 框架新編寫的程序,也可以是已有的應用。比如小程序后端、或者發(fā)布到 API 市場的 API 后端應用等。

  • 對計算能力有很強的彈性訴求的應用。比如 AI 推理、音視頻處理、文檔轉(zhuǎn)換等。

  • 事件驅(qū)動型的應用。比如通過其他阿里云產(chǎn)品驅(qū)動的場景、Web Hook、定時任務等。函數(shù)計算已經(jīng)與很多產(chǎn)品進行了打通,比如對象存儲、表格存儲、定時器、CDN、日志服務、云監(jiān)控等,可以非??焖俚亟M裝出一些業(yè)務邏輯。

3. 函數(shù)計算核心競爭力

Serverless 技術(shù)選型該如何理解

函數(shù)計算對客戶的一個最大的價值,就是能夠讓用戶只關(guān)注自己的業(yè)務邏輯開發(fā),完全不需要管理運維,諸如計算資源、網(wǎng)絡設置等都不需要關(guān)心。在隔離性上提供 vm 級別的隔離,保證用戶在運行時的數(shù)據(jù)安全、運行時安全等;在可用性方面默認提供 3az 的高可用架構(gòu),保證客戶默認就是高可用的最佳實踐架構(gòu);在彈性方面,可以做到毫秒級的彈性效率,滿足客戶突發(fā)的流量沖擊;在計費方面也非常靈活,真正按照用戶的請求情況進行收費,也支持對 long run 的應用更友好的預付費模式。

Serverless 應用引擎

1. SAE 概述

Serverless 技術(shù)選型該如何理解

SAE 是業(yè)內(nèi)首款面向應用的 Serverless Paas 平臺。這個產(chǎn)品以面向應用的視角,幫助用戶在不做任何修改的前提下把存量應用上到云端。在資源層,用戶不再需要自己管理和運維機器及集群,只需要關(guān)注自己應用所需要使用的規(guī)格以及實例數(shù),不再需要關(guān)心底層是虛機還是容器。

SAE 從資源層面提供計算資源、彈性、隔離性等能力,讓用戶只需要關(guān)注自己的應用。在應用層,SAE 提供了監(jiān)控、日志、微服務治理等能力,幫助用戶解決應用可觀測性和治理需求。同時提供網(wǎng)絡配置、流量控制能力,提供了和 CICD 良好的集成,用戶可以使用已有 CICD 部署到 SAE,比如 jenkins、云效等,可以說覆蓋了應用上云的完整場景。

2. SAE 典型場景

Serverless 技術(shù)選型該如何理解

SAE 有幾個典型的使用場景,一個是存量業(yè)務上云,特別是微服務、java 應用,同時也支持其他語言的單體應用,都能夠通過 SAE 這個平臺運行在阿里云上,并且不需要做任何代碼的修改。在行業(yè)方面,SAE 特別適合有比較大的流量波動的在線業(yè)務,比如電商大促、在線教育等行業(yè)的場景。另外 SAE 作為應用平臺也可以被上層的行業(yè) Saas 所集成,幫助用戶更快地構(gòu)建行業(yè) Saas。

3. SAE 特性

Serverless 技術(shù)選型該如何理解

通過上面的場景介紹,我們可以看到 SAE 除了 Serverless 體驗本身所帶來的極致彈性、免運維等特性之外,重點在應用層給用戶提供全棧的能力,包括對微服務的增強支持,以及整合了和應用息息相關(guān)的能力,包括配置、監(jiān)控、日志、流量控制等。再加上用戶零代碼的改動,是企業(yè)在線業(yè)務平滑上云非常好的選擇。

Serverless Kubernetes

1. ASK 概述

Serverless 技術(shù)選型該如何理解

另一個阿里云提供的 Serverless 產(chǎn)品是 Serverless K8s。但是 K8s 怎么還能 Serverless 呢?這就需要先了解一下技術(shù)架構(gòu)的演進歷程。

最早的時候大家都把 Docker 鏡像部署在虛機里,用戶需要購買 ECS,然后部署鏡像,最后是網(wǎng)絡的一些配置,比如 SLB、EIP 等。在這個過程中,用戶需要自己完成部署動作,擴容需要自己重復上面的動作,或者自己構(gòu)建一套自動化腳本,相對來說成本和穩(wěn)定性都比較低。

之后有了 K8s 來幫大家解決容器編排的問題。這種標準化的方式確實大大提高了大家的生產(chǎn)力。用戶通過使用 deployment、service 等標準的 K8s 的方式進行編排,并進行部署。但 K8s 的運維和管理還是相對比較復雜的,技能要求比較高,用戶需要運維 ECS 以及通過 ECS 構(gòu)建出來的 K8s。另外一個痛點時 K8s 集群里的 ECS 是需要預先購買的,如果客戶的負載有比較大的波動,就會出現(xiàn)比較多的資源浪費。雖然技術(shù)上也有解決方案,比如 worker node 的彈性,但這對于初級用戶來說,還是有比較高的復雜度。

那有沒有一種方案可以讓用戶既能享受到 K8s 提供的容器編排能力,又能夠不需要關(guān)心 ECS 和 K8s 的運維、管理和彈性問題呢?這就是 Serverless K8s 的方案。對應到阿里云的產(chǎn)品就是 ASK。在 ASK 的方案里,用戶創(chuàng)建一個 ASK 集群,但不需要指定任何 ECS 節(jié)點,然后通過標準的 K8s 容器編排、deployment 等部署鏡像。ASK 會根據(jù)用戶的負載需求,自動在底層資源池構(gòu)建需要的 POD 并進行彈性伸縮,用戶不再需要關(guān)心容量規(guī)劃、ECS 機器運維、資源限制等 LaaS 層的問題,非常便利。

2. ASK 典型場景

Serverless 技術(shù)選型該如何理解

那 ASK 主要用在哪些場景里呢?首先可以用來跑在線業(yè)務,部署模式靈活,可以是 deployment、helm chart 等所有的 K8s 原生模式,特別是能夠很好地應對突發(fā)流量,極致彈性,可以在 30 秒完成 500 個容器實例的彈性。這樣的彈性效率,可以很好地支撐大數(shù)據(jù)計算類的任務,比如 Spark、Presto 等,也可以在需要的時候即時獲取資源,支撐 10000 以上 Pod 的規(guī)格,有效降低客戶成本。

另外一個非常適合的場景是用來構(gòu)建隨需啟動的構(gòu)建任務,比如在 ASK 中運行 jenkins、Gitlab-Runner 等。在有構(gòu)建任務的時候,即時啟動。沒有任務的時候 0 消費,成本做到最低。這里只是列出了一些例子的場景,實際上基于 ASK 的這個特性,用戶可以運行很多 K8s 原生的需要極致彈性的工作負載。

3. ASK 特性

Serverless 技術(shù)選型該如何理解

ASK 完全容器部署,通過容器進行隔離。在使用的過程中,用戶無需運維 ECS 或者 K8s 集群,也不需要考慮集群升級、容量規(guī)劃、OS 及系統(tǒng)軟件問題等事情,理論上可以提供無限的彈性容量。因為是完全按照使用量進行收費,所以就不需要為限制資源付費。

上述內(nèi)容就是Serverless 技術(shù)選型該如何理解,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI