自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

快速上手 Serverless|入門第一課

網(wǎng)絡(luò)
Serverless是一種構(gòu)建和管理基于微服務(wù)架構(gòu)的完整流程,允許用戶在服務(wù)部署級別而不是服務(wù)器部署級別來管理用戶的應(yīng)用部署。

一、 從云計(jì)算到 Serverless

自世界上第一臺通用計(jì)算機(jī) ENIAC (圖左)誕生以來,計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展就從未停止過前進(jìn)的腳步。2003年-2006年,谷歌先后發(fā)表了這三篇非常經(jīng)典的論文(圖右),指明了HDFS(分布式文件系統(tǒng))、MapReduce(并行計(jì)算)和HBase(分布式數(shù)據(jù)庫)的技術(shù)基礎(chǔ)及未來機(jī)會,為云計(jì)算發(fā)展方向奠定了基礎(chǔ)。

所以說從。ENIAC 到谷歌的3篇經(jīng)典論文,計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展是在不斷的前進(jìn)。而到了云計(jì)算時代,可以說計(jì)算機(jī)科學(xué)與技術(shù)的發(fā)展是在飛速的前進(jìn)。

云計(jì)算的概念

對于云計(jì)算的界定,學(xué)術(shù)界的和工業(yè)界有不同的理解,回顧下云計(jì)算的發(fā)展歷程:

1、2006年,谷歌首席執(zhí)行官在搜索引擎大會上首次提出云計(jì)算的概念;同年亞馬遜將其彈性計(jì)算能力作為云服務(wù)器進(jìn)行售賣,標(biāo)志著云計(jì)算這種新興商業(yè)模式正式誕生;

2、2008年,微軟發(fā)布云計(jì)算平臺 Windows Azure,嘗試將技術(shù)和服務(wù)托管化、線上化;

3、2009年,《伯克利云計(jì)算白皮書》發(fā)表,文中明確指出云計(jì)算的定義:云計(jì)算包含互聯(lián)網(wǎng)上的應(yīng)用服務(wù)以及在數(shù)據(jù)中心提供這些服務(wù)的軟硬件設(shè)施。

明確定義后,伯克利提出了關(guān)于云計(jì)算展望,同時也指出云計(jì)算所面臨的10個問題,如服務(wù)的可用性,數(shù)據(jù)的丟失或者數(shù)據(jù)安全性和可審計(jì)性等。

二、Serverless 概念

Serverless 定義

Serverless 翻譯成中文是無服務(wù)器,所謂的無服務(wù)器并非是說不需要依靠服務(wù)器等資源,而是說開發(fā)者再也不用過多考慮服務(wù)器的問題,可以更專注在產(chǎn)品代碼上,同時計(jì)算資源也開始作為服務(wù)出現(xiàn),而不是作為服務(wù)器的概念出現(xiàn),Serverless是一種構(gòu)建和管理基于微服務(wù)架構(gòu)的完整流程,允許用戶在服務(wù)部署級別而不是服務(wù)器部署級別來管理用戶的應(yīng)用部署。與傳統(tǒng)架構(gòu)的不同之處在于,它完全由第三方管理,由事件觸發(fā),存在于無狀態(tài)(Stateless),暫存(可能只存在于一次調(diào)用的過程中)在計(jì)算容器內(nèi),Serverless 部署應(yīng)用無須涉及更多的基礎(chǔ)設(shè)施建設(shè),就可以基本實(shí)現(xiàn)自動構(gòu)建、部署和啟動服務(wù)。

Serverless 架構(gòu)

左邊是傳統(tǒng)意義上來說比較常見的 Web 應(yīng)用的架構(gòu), 它是由客戶端、服務(wù)端、數(shù)據(jù)庫等元素組成。

以往做此類項(xiàng)目時,開發(fā)者需要在服務(wù)端做很多操作,如購買服務(wù)器、考慮購買數(shù)量、寬帶、操作系統(tǒng)、部署在哪幾個區(qū)、環(huán)境、軟件等等問題。隨后還需要人為對這臺服務(wù)器的健康要實(shí)時去監(jiān)控,不斷的去感知。

而在 Serverless 架構(gòu)下,開發(fā)者只需要關(guān)心我們的業(yè)務(wù)代碼即可,在項(xiàng)目整個的開發(fā)、上線、維護(hù)過程中,用戶并不需要關(guān)注服務(wù)器層面的維護(hù),也無需為流量的波峰波谷進(jìn)行運(yùn)維資源的投入,這一部分將由云廠商來負(fù)責(zé);同時在 Serverless 架構(gòu)下,用戶也無需為閑置資源進(jìn)行額外支出。

Serverless 優(yōu)點(diǎn)

Serverless 架構(gòu)擁有零服務(wù)器運(yùn)維和空閑時無計(jì)算成本等特點(diǎn);其交付心智可以體現(xiàn)為將復(fù)雜留給云廠商,把便捷帶給更多開發(fā)者。綜上所述 Serverless 的優(yōu)勢可以體現(xiàn)在如下:

1)降本提效

云廠商為使用者提供服務(wù)器的管理和運(yùn)維工作,為使用者提供數(shù)據(jù)庫、對象存儲等 Baas 服務(wù),讓用戶將更多的注意力放在自身的業(yè)務(wù)邏輯上,提升研發(fā)效率,縮小項(xiàng)目的創(chuàng)新周期,同時 Serverless 的使用者不用更多的擔(dān)心自身的服務(wù)器運(yùn)維,基礎(chǔ)設(shè)施的運(yùn)維等工作,更不用為這部分有額外的費(fèi)用支出,無需承擔(dān)更多的運(yùn)維工作成本等;Serverless 架構(gòu)提供了較為完善、全面的按量付費(fèi)模型,使用者只需要按照自己實(shí)際使用的資源量付費(fèi)即可;Serverless 架構(gòu)在這一層面有較為明確的優(yōu)勢。

降低運(yùn)維成本
降低人力成本
提高研發(fā)效率
降低創(chuàng)新周期
按量付費(fèi)、降低支出成本

2)安全、方便、可靠

把更專業(yè)的事情交給更專業(yè)的人去做,Serverless 架構(gòu)將更多服務(wù)器運(yùn)維、安全相關(guān)的事情交給云廠商來做,大規(guī)模提升項(xiàng)目整體的安全性;同時,Serverless 架構(gòu)明顯比其它架構(gòu)更簡單,因?yàn)楦嗟?Baas 服務(wù)都是云廠商提供的,使用者將會管理更少的組件,這意味著 Serverless 的使用者可以更簡單更方便的管理項(xiàng)目;同時 Serverless 架構(gòu)擁有著彈性能力,即自動伸縮的能力,該能力可以讓項(xiàng)目在流量增加的時候,自動進(jìn)行擴(kuò)容,在流量降低的時候,自動進(jìn)行縮容,進(jìn)而保證整個業(yè)務(wù)的安全、穩(wěn)定。專業(yè)團(tuán)隊(duì)為用戶保障安全,保障性能,這使得 Serverless 架構(gòu):

安全風(fēng)險(xiǎn)更低
資源開銷更小
符合“綠色”計(jì)算思想
更加方便管理
彈性伸縮,服務(wù)更可靠
總體來說,托管給云廠商之后呢,不僅可以大規(guī)模的提升項(xiàng)目整體的安全性和穩(wěn)定性,Serverless 架構(gòu)也是明顯比其他架構(gòu)更為簡單的。

面臨的挑戰(zhàn)

Serverless架構(gòu)雖然出現(xiàn)多年但是真正步入“元年”并得以快速發(fā)展的時間其實(shí)很短暫;因此Serverless架構(gòu)擁雖有諸多優(yōu)點(diǎn),但是也面臨一些困難和挑戰(zhàn),包括但不限于冷啟動問題嚴(yán)重、開發(fā)工具不完善、廠商鎖定等現(xiàn)象。但是近些年 Serverless 架構(gòu)熱度持續(xù)上升,人們對它寄予厚望,各個廠商也加大投入,相信目前的問題都是暫時的,Serverless 架構(gòu)會朝著更好用、更易用的方向不斷演進(jìn)。

Serverless 架構(gòu)為使用者提供全新的編程范式的同時,當(dāng)用戶在享受 Serverless 帶來的第一波技術(shù)紅利的時候, Serverless 的缺點(diǎn)也逐漸地暴露了出來,例如函數(shù)的冷啟動問題,就是如今頗為嚴(yán)峻且備受關(guān)注的問題。由于 Serverless 架構(gòu)具有彈性伸縮的能力, Serverless 服務(wù)的供應(yīng)商會根據(jù)用戶服務(wù)的流量波動進(jìn)行實(shí)例的增加或縮減,其示意圖如圖所示。

以阿里云函數(shù)計(jì)算為例,當(dāng)系統(tǒng)接收到第一個觸發(fā)函數(shù)的事件時,它將啟動一個容器來運(yùn)行代碼。如果此時收到了新的事件,而第一個容器仍在處理上一個事件,平臺將啟動第二個代碼實(shí)例來處理第二個事件, Serverless 架構(gòu)的這種自動的零管理水平縮放,將持續(xù)到有足夠的代碼實(shí)例來處理所有的工作負(fù)載為止。當(dāng)然,不僅僅是并發(fā)情況下會比較容易觸發(fā)函數(shù)冷啟動,在函數(shù)的前后兩次觸發(fā)時間間隔超過了實(shí)例釋放時間的閾值時,也會觸發(fā)函數(shù)的冷啟動,如下圖所示。

然而這里就涉及一個問題,當(dāng)新的請求或者說是事件到來時,在廣義上可能出現(xiàn)以下兩種情況:

存在空閑且可以直接復(fù)用的實(shí)例:熱啟動。
不存在空閑且可以直接復(fù)用的實(shí)例:冷啟動。
在本地執(zhí)行一個函數(shù),通常情況下是環(huán)境都已經(jīng)準(zhǔn)備妥當(dāng),每次執(zhí)行只需要執(zhí)行函數(shù)對應(yīng)的方法即可,但是 Serverless 架構(gòu)下并不是,本地與 FaaS 的函數(shù)調(diào)用區(qū)別示意圖如圖所示。

三、典型應(yīng)用場景

Serverless 架構(gòu)自提出到現(xiàn)在經(jīng)過若干年的發(fā)展,已經(jīng)在很多領(lǐng)域中有著非常多的最佳實(shí)踐,CNCF 總結(jié)出一些 Serverless 架構(gòu)所適合的場景。

實(shí)時文件處理

視頻應(yīng)用、社交應(yīng)用等場景下,用戶上傳的圖片、音視頻往往總量大、頻率高,對處理系統(tǒng)的實(shí)時性和并發(fā)能力都有較高的要求。例如,對于用戶上傳的圖片,可以使用多個函數(shù)對其分別處理,包括圖片的壓縮、格式轉(zhuǎn)換等,以滿足不同場景下的需求。

數(shù)據(jù)ETL處理

通常要對大數(shù)據(jù)進(jìn)行處理,需要搭建 Hadoop 或者 Spark 等相關(guān)大數(shù)據(jù)的框架,同時要有一個處理數(shù)據(jù)的集群。通過 Serverless 技術(shù),只需要將獲得到的數(shù)據(jù)不斷的存儲到對象存儲,并且通過對象存儲相關(guān)觸發(fā)器觸發(fā)數(shù)據(jù)拆分函數(shù)進(jìn)行相關(guān)數(shù)據(jù)或者任務(wù)的拆分,然后再調(diào)用相關(guān)處理函數(shù),處理完成之后,存儲到云數(shù)據(jù)庫中。

函數(shù)計(jì)算近乎無限擴(kuò)容的能力可以使用戶輕松地進(jìn)行大容量數(shù)據(jù)的計(jì)算。利用Serverless架構(gòu)可以對源數(shù)據(jù)并發(fā)執(zhí)行多個 mapper 和 reducer 函數(shù),在短時間內(nèi)完成工作,整個流程可以簡化為以下圖中所示;相比傳統(tǒng)工作方式,使用 Serverless 架構(gòu)更能避免資源的閑置浪費(fèi),從而節(jié)省成本。

機(jī)器學(xué)習(xí)(AI推理預(yù)測)

在AI模型完成訓(xùn)練后,對外提供推理服務(wù)時,可以使用 Serverless 架構(gòu),通過將數(shù)據(jù)模型包裝在調(diào)用函數(shù)中,在實(shí)際用戶請求到達(dá)時再運(yùn)行代碼。相對于傳統(tǒng)的推理預(yù)測,這樣做的好處是無論是函數(shù)模塊還是后端的 GPU 服務(wù)器,以及對接的其他相關(guān)的機(jī)器學(xué)習(xí)服務(wù),都是可以進(jìn)行按量付費(fèi)以及自動伸縮,從而保證性能的同時也確保了服務(wù)的穩(wěn)定。

Web 應(yīng)用/移動應(yīng)用后端

Serverless 架構(gòu)和云廠商所提供的其他云產(chǎn)品進(jìn)行結(jié)合,開發(fā)者能夠構(gòu)建可彈性擴(kuò)展的移動或 Web 應(yīng)用程序,輕松創(chuàng)建豐富的無服務(wù)器后端,而且這些程序可在多個數(shù)據(jù)中心高可用運(yùn)行,無需在可擴(kuò)展性、備份冗余方面執(zhí)行任何管理工作。

音視頻轉(zhuǎn)碼

在視頻應(yīng)用、社交應(yīng)用等場景下,用戶會上傳一些視頻,通常上傳的視頻會進(jìn)行一些轉(zhuǎn)碼,包括轉(zhuǎn)換為不同的清晰度。 Serverless 技術(shù)與對象存儲相關(guān)產(chǎn)品組合后,可利用對象存儲相關(guān)觸發(fā)器,即上傳者將視頻上傳到對象存儲中,觸發(fā) Serverless 架構(gòu)的計(jì)算平臺(FaaS 平臺)對其進(jìn)行處理,處理之后將其重新存儲到對象存儲中,這個時候其他用戶就可以選擇編碼后的視頻進(jìn)行播放,還可以選擇不同的清晰度,如圖所示。

綜上所述, Serverless 架構(gòu)的典型應(yīng)用場景更多是由 Serverless 架構(gòu)的特點(diǎn)決定的。當(dāng)然,隨著時間的不斷推移, Serverless 架構(gòu)也在不斷演進(jìn),特點(diǎn)會更加突出,劣勢會被彌補(bǔ)。

四、Serverless 產(chǎn)品介紹

公有云產(chǎn)品

自 Serverless 概念被提出,其從不為人知到引人注目經(jīng)歷了數(shù)年,Serverless 架構(gòu)也在飛速發(fā)展,在 Serverless 架構(gòu)中,計(jì)算機(jī)服務(wù)通常由 Faas 平臺提供。AWS Lanmbda、Google Cloud Functions、阿里云函數(shù)計(jì)算等都是有代表性的工業(yè)化產(chǎn)品。

CNCF 列出的 Faas 平臺

阿里云 Serverless

Serverless 架構(gòu)對底層的技術(shù)基礎(chǔ)要求很高,而從圖中可以看出阿里云關(guān)于 Serverless 架構(gòu)的整體形態(tài)是十分完善的,并且一直在自建自研的路上不斷精進(jìn)。阿里云 Serverless 產(chǎn)品在阿里巴巴經(jīng)濟(jì)體內(nèi)部已經(jīng)實(shí)現(xiàn)落地,在淘寶、支付寶、閑魚、飛豬、釘釘,包括在語雀都有很好的體現(xiàn)。

函數(shù)計(jì)算是國內(nèi)生態(tài)最完整、功能最豐富的 Serverless 產(chǎn)品,開發(fā)者一步上云、一鍵 Serverless 化將成為現(xiàn)實(shí)。上圖是阿里云 Serverless 從產(chǎn)品維度的一些分析,下圖則表達(dá)了 Serverless 從功能或者架構(gòu),底層基礎(chǔ)設(shè)施,和在計(jì)算層面所展現(xiàn)出來的典型業(yè)務(wù)能力。例如說彈性伸縮、負(fù)載均衡、流量控制、高可用部署、版本灰度故障恢復(fù)等。像在運(yùn)行時的容器鏡像服務(wù),阿里云在去年便已推出,隨后AWS 、騰訊等,也都相繼推出容器鏡像。圖中詮釋了阿里云 Serverless 是如何通過底層,逐漸的向上層建設(shè),讓開發(fā)者可以更簡單、更方便的使用 Serverless 的全過程。

開源產(chǎn)品

不僅僅在工業(yè)界有諸多廠商不斷為 Serverless 架構(gòu)努力,在開源領(lǐng)域也有諸多優(yōu)秀的 Serverless 項(xiàng)目。包括 OpenWhisk、Fission、Knative 以及 Kubeless 等在內(nèi)的眾多優(yōu)秀的開源 FaaS 平臺都已得到 CNCF 的認(rèn)可。

責(zé)任編輯:梁菲 來源: 阿里云云棲號
相關(guān)推薦

2009-09-25 10:24:40

Androind入門教OPhone

2021-08-04 13:19:28

云原生存儲編排

2014-06-04 10:42:34

Swift蘋果iOS

2020-12-25 17:25:29

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)人工智能

2011-06-03 16:42:47

SEO

2011-07-26 13:58:17

LINQ

2012-11-19 13:06:56

2013-11-19 12:53:33

OA信息化

2022-08-19 07:13:45

SQL方法編程

2021-12-10 08:13:02

MatplotlibpythonAPI

2022-08-21 07:17:16

LinkerdKubernetes服務(wù)網(wǎng)格

2020-11-27 09:40:53

Rollup前端代碼

2017-03-06 11:02:59

產(chǎn)品軟件Power Desig

2025-01-17 07:00:00

2022-02-24 07:56:42

開發(fā)Viteesbuild

2021-10-15 10:00:31

Serverless Knative

2024-06-27 11:08:45

2010-05-18 10:17:11

2017-07-05 17:50:52

KotlinJava程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號