摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭相入市,,阿里云函數(shù)計算,短短數(shù)年時間產(chǎn)品已遍地開花。目前知名的平臺有,,,等。統(tǒng)一的容器調(diào)度模型從當前及容器生態(tài)的發(fā)展來看,容器基本都是運行在云主機之上比如的,阿里云的。
說起當前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動了云計算的發(fā)展,從AWS Lambda到阿里云函數(shù)計算,Serverless一路高歌,同時基于Serverless的輕量計算開始登錄云計算的舞臺,本文將從兩個部分展開:
介紹 Serverless的概念,歷史及其現(xiàn)狀與未來的思考。
Serverless Container的概念及現(xiàn)狀。
前文講到serverless是一種新型的互聯(lián)網(wǎng)架構(gòu),目前尚沒有官方權(quán)威的定義,可以認為:
Serverless無服務器架構(gòu)是基于互聯(lián)網(wǎng)的系統(tǒng),其中應用開發(fā)不使用常規(guī)的服務進程。相反,它們僅依賴于第三方服務(例如AWS Lambda服務),客戶端邏輯和服務托管遠程過程調(diào)用的組合。
AWS Lambda 作為Serverless最早的框架產(chǎn)品由亞馬遜在2014年推出,但最早Serverless概念的并不是由亞馬遜提出,下面我們簡單來聊聊Serverless的歷史。
Serverless 歷史
發(fā)軔之始
2012年云基礎設施服務提供商Iron.io的副總裁Ken 提出軟件的未來 ,首次提出來Serverless概念, 以下是原文的一段摘錄:
Even with the rise of cloud computing, the world still revolves around servers. That won’t last, though. Cloud apps are moving into a serverless world, and that will bring big implications for the creation and distribution of software and applications.
初出茅廬
AWS Lambda產(chǎn)品的發(fā)布可以認為是Serverless的里程碑,再此之前Serverless幾乎是停留在概念期,直到14年Lambda發(fā)布,讓“Serverless”這一范式提高到一個全新的層面,為云中運行的應用程序提供了一種全新的系統(tǒng)體系架構(gòu),Serverless開始正式走向云計算的舞臺。
嶄露頭角
在AWS發(fā)布Lambda之后,眾多IaaS及Pass廠商爭相入市,Google Cloud Functions, Azure Funcions, IBM OpenWhisk,阿里云函數(shù)計算,短短數(shù)年時間Serverless產(chǎn)品已遍地開花。
未來已來
隨著容器技術(shù),IoT,5G,區(qū)塊鏈等技術(shù)的快速發(fā)展, 技術(shù)上對去中心化,輕量虛擬化,細粒度計算等技術(shù)需求愈發(fā)強烈,而Serverless必將借勢迅速發(fā)展,未來Serverless將在云計算的舞臺上大放異彩!
首先,拋一個總結(jié)性觀點:云計算的發(fā)展從IaaS,PaaS,SaaS,到最新的BaaS,F(xiàn)asS,在這個趨勢中serverless(去服務器化)越來越明顯,而Serveless的完善帶給云計算將會是一次完美進化!
總所周知,云計算經(jīng)歷了從IDC -> IaaS -> PaaS -> Serverless/FaaS 的發(fā)展歷程,下面對這些概念做一些基本介紹。
IaaS
PaaS(Platform as a Service) 平臺即服務,服務商提供基礎設施底層服務,提供操作系統(tǒng)(Windows,Linux)、數(shù)據(jù)庫服務器、Web服務器、負載均衡器和其他中間件,相對于IaaS客戶僅僅需要自己控制上層的應用程序部署與應用托管的環(huán)境。
目前知名的PaaS平臺有 Amazon Elastic Beanstalk,Azure,Google App Engine,VMware Cloud Foundry等。
SaaS
SaaS(Software as a Service) 軟件即服務, 服務商提供基于軟件的解決方案,如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud等,客戶不需考慮任何形式的專業(yè)技術(shù)知識,只需要通過服務商平臺獲取軟件使用即可。
BaaS
BaaS(Backend as a Service) 后端即服務,服務商為客戶(開發(fā)者)提供整合云后端的服務,如提供文件存儲、數(shù)據(jù)存儲、推送服務、身份驗證服務等功能,以幫助開發(fā)者快速開發(fā)應用。
FaaS
FaaS(Function as a Service) 函數(shù)即服務,服務商提供一個平臺,允許客戶開發(fā)、運行和管理應用程序功能,而無需構(gòu)建和維護基礎架構(gòu)。 按照此模型構(gòu)建應用程序是實現(xiàn)“無服務器”體系結(jié)構(gòu)的一種方式,通常在構(gòu)建微服務應用程序時使用。
IaaS,PaaS,F(xiàn)aaS 對比
舉個例子,比如小明想開一個水果店
IDC:如果蓋房子,裝修,然后上架水果這些工作都是小明自己來做。
IaaS:如果小明房子是租的,裝修,上架水果是自己做。
PaaS: 如果小明房子是租的,可是房子已經(jīng)裝修好了,但是上架水果要自己來做。
FaaS:如果有一個商家提供裝修好的水果店,小明只負責把水果送過來,其余上架工作都由商家來做。
總結(jié)
從IDC → IaaS,用戶不用關(guān)注真實的物理資源。
從IaaS → PaaS,用戶不再關(guān)注操作系統(tǒng),數(shù)據(jù)庫,中間件等基礎軟件。
從PaaS → BaaS/FaaS, 用戶可以很少甚至不用關(guān)注backend,app可以簡化為一個單頁面程序。
可以說,Serverless是云計算發(fā)展到一定階段的必然產(chǎn)物,云計算作為普惠科技,發(fā)展到最后一定是綠色科技(最大程度利用資源,減少空閑資源浪費),大眾科技(成本低,包括學習成本及使用成本)的產(chǎn)品,而Serverless將很好的詮釋這些!
Serverless/FaaS 模型Serverless是基于事件驅(qū)動的編程范型,其底層的計算平臺一般為輕量計算比如容器計算Docker。
針對該模型本文不再贅述, 下面以AWS Lambda及阿里云函數(shù)計算為例,簡單介紹該模型。
AWS Lambda
大致流程如下:
UI驅(qū)動,通過模擬鼠標點擊觸發(fā)事件
當觸發(fā)事件增多時lambda實例自動擴容
當觸發(fā)事件減少時lambda實例自動縮容
流程大致如下:
UI/Event/Message Driven觸發(fā)事件
用戶Function會package為一個docker鏡像
事件調(diào)度系統(tǒng)配合Docker集群運行Docker容器來執(zhí)行Function
Serverless價值與影響低成本
運營成本,Serverless將用戶的服務器,數(shù)據(jù)庫,中間件委托于BaaS/FaaS,用戶將不再參與基礎設施及軟件的維護,尤其在大規(guī)模的集群運營上成本大幅度降低。
開發(fā)成本,對比IaaS或者PaaS平臺的服務器或者操作系統(tǒng),Serverless的架構(gòu)中,用戶操作的是服務化的組件比如存儲服務,授權(quán)服務等,可以縮短開發(fā)周期,降低開發(fā)難度。
真正的按需計費
Serverless/FaaS區(qū)別于IaaS/PaaS預先分配計算資源的計費方式,其計費方式通常是按請求次數(shù)及運行時間,一方面可以最大程度利用資源,另一方面真正的按需計費可以降低用戶的資源成本。
高擴展
Serverless架構(gòu)一個顯而易見的優(yōu)點即“橫向擴展是完全自動的、有彈性的、且由服務提供者所管理”。
“綠色”計算
據(jù)統(tǒng)計,商業(yè)和企業(yè)數(shù)據(jù)中心的典型服務器僅提供5%~15%的平均最大處理能力的輸出,本質(zhì)上這是對社會資源的一種浪費。而在Serverless架構(gòu)下,提供商將提供更細力度的計算能力最大限度滿足實時需求,資源利用率將大幅度提升,可以認為相對IaaS與PaaS Serverless/FaaS是一種 “綠色” 計算。
NoOps
運維的發(fā)展經(jīng)歷了人肉運維,自動化運維,DevOps,AiOps等,而Serverless帶來一種新的運維模式,這種模式下用戶需要管理的只有Code可以認為NoOps。
事件驅(qū)動以及響應式架構(gòu)
IoT物聯(lián)網(wǎng)場景中低頻請求
請求對及時響應需求不夠
固定時間觸發(fā)計算資源利用低的業(yè)務
流量突發(fā)場景
比如短時間大流量視頻轉(zhuǎn)碼
短周期內(nèi)的流量峰值
跨云與混合云場
邊緣計算
其它 ...
Serverless未來的一些思考細粒度的計算資源
目前主流的Serverless/FaaS技術(shù)底層的計算環(huán)境通常是容器比如Docker,容器技術(shù)是一種比硬件虛擬化更輕量的實現(xiàn),用戶可以在虛擬機上運行大量的容器,可以更大程度的利用計算資源。
而Serverless的需求可能是更細粒度的計算資源,比如最近華為發(fā)布的CCI產(chǎn)品容器的規(guī)格已經(jīng)支持千分之一核,相信千分之一核只是開始,未來Serverless在細粒度資源使用上將發(fā)揮無限可能。
統(tǒng)一的容器調(diào)度模型
從當前Serverless/FaaS及容器生態(tài)的發(fā)展來看,容器基本都是運行在云主機之上比如aws的ec2,阿里云的ecs。
由于云廠商實現(xiàn)方式及不同產(chǎn)品的差異性,容器的調(diào)度框架選擇不盡相同,比如有的廠商其Serverless產(chǎn)品是基于kubernetes管理云主機集群進行容器編排及調(diào)度比如華為的CCI,而有的產(chǎn)品比如阿里云的函數(shù)計算產(chǎn)品是基于自研的Agent進行容器調(diào)度。那么為什么沒有一種產(chǎn)品可以為不同的Serverless服務提供通用的容器調(diào)度能力呢?
生態(tài)圈多樣化
Serverless的發(fā)展必然會帶動其周邊生態(tài)的完善,比如BaaS及FaaS產(chǎn)品的形態(tài)將多樣化輸出,舉個例子:
Serverless架構(gòu)下用戶的Code是沒有服務端的,而這些服務將由云廠商以BaaS的服務形態(tài)提供,隨著Serverless的發(fā)展,必然會催生多樣化的BaaS服務。
產(chǎn)品抽象輸出
Serverless是云計算普惠科技的重磅技術(shù)!Serverless出現(xiàn)將開發(fā)者從復雜的硬件及軟件環(huán)境中解脫出來,而未來可以想象Serverless的產(chǎn)品將會以更加簡單的方式呈現(xiàn)給用戶,舉個例子:大家熟知的樂高積木,不同的小零件按照不同的方式組裝可以得到作品最終是多樣化的。
而Serverless天生具備這種優(yōu)勢,可以想象如果Function以服務化的方式抽象,開發(fā)者開發(fā)一個Cloud App需要做的事情就是在無數(shù)的Function里面挑選自己需要的“積木“,然后通過一種可視化的工具進行"積木"組合!
二、Serverless Container前文講了一些Serverless生態(tài)的概念及現(xiàn)狀,從當前主流Serverless/FaaS 框架如AWS Lambda,IBM OpenWhisk,Iron.io,阿里云函數(shù)計算分析來看,其底層的計算資源通常是Docker容器。可以認為Serverless構(gòu)建于容器(Docker)之上!
什么是Serverless Container
Serverless Container(無服務器容器),用戶不再需要關(guān)注容器集群和服務器,只需關(guān)注Docker容器或者Docker Image即可。
通過分析業(yè)界主流的的Serverless Container產(chǎn)品如 AWS Fargate, Azure ACI, 華為CCI 可以看出
Serverless Container 提供了更為簡單的體驗,用戶不再需要理解容器編排技術(shù)如k8s,swarm
Serverless Container 提供了更細粒度的的能力,比如微核粒度的CPU資源和MB粒度的內(nèi)存資源
Serverless Container 提供了將容器作為基礎計算單元的思路
Serverless Container VS kubernets
kuberntes(k8s) 是谷歌開源的容器管理系統(tǒng),類似的產(chǎn)品還有Docker Swarm, Apache Mesos以及集團內(nèi)的產(chǎn)品Sigma。無疑這些優(yōu)秀的集群管理系統(tǒng)尤其是k8s已經(jīng)在生成得到了充分驗證,從使用角度來說k8s需要用戶具備容器及容器編排,集群管理等多方面的專業(yè)知識,而Serverless Container對用戶屏蔽了容器集群管理,用戶使用起來將更簡單!
結(jié)論:Serverless Container在容器產(chǎn)品形態(tài)上是高于kubernetes的,事實上大部分的Serverless Container產(chǎn)品都基于或者兼容kubernetes。
Serverless Container VS Serverless/FaaS
根據(jù)上文的分析Serverless Container對用戶提供的是一種容器計算資源,用戶不需要關(guān)心容器集群,只需要定制vCpu,mem及Docker Image;而Serverless/FaaS 提供的是一種服務化的計算能力,用戶同樣不用關(guān)心計算集群,只需指定vCpu,mem及Code。
結(jié)論:FaaS及Serverless Container的底層計算資源都是Docker容器!
閱讀原文
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/11841.html
摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭相入市,,阿里云函數(shù)計算,短短數(shù)年時間產(chǎn)品已遍地開花。目前知名的平臺有,,,等。統(tǒng)一的容器調(diào)度模型從當前及容器生態(tài)的發(fā)展來看,容器基本都是運行在云主機之上比如的,阿里云的。 說起當前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動了云計算的發(fā)展,從AWS Lamb...
摘要:云函數(shù),就是模式的具體實現(xiàn)。比如一個廣告微服務,至少可以拆分出實時競價展示計數(shù)報表查詢等云函數(shù)。也就是說,云函數(shù)和微服務中的是同一粒度的。但不同于,每個云函數(shù)都是獨立部署,按需執(zhí)行。可以用適合用,需要衡量改造的代價云函數(shù)帶來的收益。 可訪問誰明浪子心-ShiYis Blog,獲得更好的閱讀體驗。 什么是云函數(shù) 云函數(shù)提供了一種直接在云上運行,無狀態(tài)的、短暫的、由事件觸發(fā)的代碼的能力。 ...
摘要:前端框架總是帶入后端思維,而則是把前端思維帶入了后端運維。前端同學對應該尤為激動。而帶來了進一步優(yōu)化的空間。當服務器面臨攻擊重啟磁盤故障時,打開復雜的工作臺或登陸后一通操作才能恢復。 1. 引言 Serverless 是一種 無服務器架構(gòu),讓用戶無需關(guān)心程序運行環(huán)境、資源及數(shù)量,只要將精力 Focus 到業(yè)務邏輯上的技術(shù)。 現(xiàn)在公司已經(jīng)實現(xiàn) DevOps 化,正在向 Serverles...
摘要:但是,有一件事是肯定的年對全棧開發(fā)者的需求量很大。有一些方法可以解決這個問題,例如模式,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。谷歌正在這方面努力推進,但不要指望在年會看到任何突破。 對于什么是全棧開發(fā)者并沒有一個明確的定義。但是,有一件事是肯定的:2019 年對全棧開發(fā)者的需求量很大。在本文中,我將向你概述一些趨勢,你可以嘗試根據(jù)這些趨勢來確定你可能要投入的...
摘要:但是,有一件事是肯定的年對全棧開發(fā)者的需求量很大。有一些方法可以解決這個問題,例如模式,或者你可以這么想,其實谷歌機器人在抓取單頁應用程序時沒有那么糟糕。谷歌正在這方面努力推進,但不要指望在年會看到任何突破。 對于什么是全棧開發(fā)者并沒有一個明確的定義。但是,有一件事是肯定的:2019 年對全棧開發(fā)者的需求量很大。在本文中,我將向你概述一些趨勢,你可以嘗試根據(jù)這些趨勢來確定你可能要投入的...
閱讀 2335·2023-04-25 14:29
閱讀 1457·2021-11-22 09:34
閱讀 2702·2021-11-22 09:34
閱讀 3392·2021-11-11 10:59
閱讀 1850·2021-09-26 09:46
閱讀 2222·2021-09-22 16:03
閱讀 1920·2019-08-30 12:56
閱讀 479·2019-08-30 11:12