摘要:初版在年月發(fā)布,隨后在月正式發(fā)布。架構(gòu)屬于平臺(tái)即服務(wù),針對(duì)事件驅(qū)動(dòng),短暫性的工作負(fù)載。架構(gòu)平臺(tái)選擇目前最有效構(gòu)建架構(gòu)方法是在眾多架構(gòu)平臺(tái)中選擇其一,并充分利用它所有的功能,以下將列舉幾個(gè)架構(gòu)平臺(tái)亞馬遜推出了第一個(gè)的云服務(wù)平臺(tái)。
數(shù)人云近來(lái)給大家分享了很多DevOps相關(guān)文章,Serverless架構(gòu)是最近兩年比較火的一個(gè)話題,它可以幫助DevOps實(shí)踐落地,更加靈活,提高工作效率、交付速度等等。
今天數(shù)人云就跟大家一起看看Serverless架構(gòu)的前世今生以及Amazon Web Services、Microsoft Azure、Google Cloud Platform、IBM Bluemix/OpenWhisk四大平臺(tái)和工具。
前言Serverless架構(gòu)在IT行業(yè)蓄勢(shì)待發(fā),并非沒(méi)有道理。盡管這是一個(gè)相對(duì)較新的技術(shù),但已引起了廣泛的關(guān)注,許多新技術(shù)專家指出,Serverless架構(gòu)具有縮短交付時(shí)間,改善操作和安全實(shí)踐等功能,以及創(chuàng)造出一種革命性的付費(fèi)模式——按資源消耗付費(fèi)。
你或許已經(jīng)了解了Serverless架構(gòu),但具體生態(tài)系統(tǒng)是什么樣的,有哪些選擇?本文會(huì)給出指南,將從功能即服務(wù)(FaaS)Serverless架構(gòu)的關(guān)鍵點(diǎn)出發(fā),擴(kuò)展到公有云和私有云的Serverless架構(gòu)構(gòu)特性,同時(shí)回顧構(gòu)建Serverless架構(gòu)的框架和工作堆棧,最后指出Serverless架構(gòu)在整個(gè)云計(jì)算里所處的位置。
一切始于FaaS據(jù)說(shuō)Serverless架構(gòu)出現(xiàn)已經(jīng)很久了,但實(shí)際始于FaaS的到來(lái)。2014年11月AWS預(yù)發(fā)布AWS Lambda,并將FaaS劃入云計(jì)算版圖(AWS 在2015年5月發(fā)布Lambda通用版)。
在FaaS之前,借助GAE,Heroku,AWS Elastic,Beanstalk等是可以運(yùn)行應(yīng)用程序而不去直接管理服務(wù)的。但這些計(jì)算服務(wù)沒(méi)有直接提供面向功能的執(zhí)行模型或針對(duì)每次調(diào)用的計(jì)費(fèi)能力,作為代替,他們通常面向服務(wù)器或面向應(yīng)用提供了彈性擴(kuò)展能力。
繼AWS之后,其他大型公共云提供商開(kāi)始著手建立自己的FaaS平臺(tái)。Azure Functions初版在2016年3月發(fā)布,隨后在11月正式發(fā)布。Google Functions于2016年發(fā)布預(yù)覽版之后在2017年3月發(fā)布了beta版,但正式版的發(fā)布時(shí)間仍是未知的。像這樣的FaaS平臺(tái)還有很多。
只有FaaS還不夠FaaS作為部署和執(zhí)行平臺(tái),提供了一種功能來(lái)執(zhí)行業(yè)務(wù)邏輯的方法,本身并不是特別強(qiáng)大,而Serverless架構(gòu)的價(jià)值在于,在作為集成功能時(shí)候,可與其他服務(wù)一起架構(gòu)完整的框架。
很多人認(rèn)為FaaS和Serverless是一樣的,但這兩種概念有重要的區(qū)別。
FaaS是一個(gè)計(jì)算服務(wù),主要功能有部署、可伸縮性、執(zhí)行和結(jié)算。
Serverless架構(gòu)屬于平臺(tái)即服務(wù)(PaaS),針對(duì)事件驅(qū)動(dòng),短暫性的工作負(fù)載。它結(jié)合了FaaS與其他云服務(wù)來(lái)構(gòu)建復(fù)雜的系統(tǒng),同時(shí)提供可伸縮性、可操作性、綜合安全性以及按使用率來(lái)計(jì)費(fèi)。
Serverless架構(gòu)平臺(tái)選擇目前最有效構(gòu)建Serverless架構(gòu)方法是在眾多Serverless架構(gòu)平臺(tái)中選擇其一,并充分利用它所有的功能,以下將列舉幾個(gè)Serverless架構(gòu)平臺(tái):
Amazon Web Services亞馬遜推出了第一個(gè)FaaS的云服務(wù)平臺(tái)——AWS Lambda。
Serverless架構(gòu)平臺(tái)在很大程度上取決于可以利用的數(shù)量和質(zhì)量的功能。在AWS,功能可以由越來(lái)越多的其他服務(wù)觸發(fā)。這些功能包括S3 buckets,來(lái)自API網(wǎng)關(guān)HTTP請(qǐng)求。DynamoDB表現(xiàn)中的變化,消息到達(dá)SNS的話題和Kinesis streams。最近,AWS把重點(diǎn)放在FaaS上并集成了許多新的服務(wù)。
可以使用AWS Lambda作為物聯(lián)網(wǎng)后端,Alexa的新技能,對(duì)話機(jī)器人使用Lex和workflows with step functions功能。FaaS計(jì)算方法是被推到其他執(zhí)行環(huán)境里,如亞馬遜的內(nèi)容分發(fā)網(wǎng)絡(luò),甚至到物聯(lián)網(wǎng)設(shè)備AWS Greengrass,使用功能來(lái)增強(qiáng)CloudFront的行為。
與其他分布式系統(tǒng)相比,構(gòu)建Serverless架構(gòu)需要優(yōu)秀IT運(yùn)營(yíng)的支持。AWS Lambda無(wú)縫集成CloudWatch、監(jiān)控和日志記錄服務(wù)。除了提供開(kāi)箱即用的日志手機(jī)和指標(biāo)集合,AWS CloudWatch允許使用Lambda函數(shù)自定義操作功能。
功能可以被觸發(fā)CloudWatch事件(可以支持調(diào)度函數(shù)執(zhí)行)CloudWatch日志流,可以通過(guò)社交網(wǎng)絡(luò)服務(wù)對(duì)應(yīng)監(jiān)測(cè)指標(biāo)警報(bào)。
最近,X-Ray,分布式跟蹤服務(wù),開(kāi)始支持AWS Lambda(預(yù)發(fā)布版),這樣就可以監(jiān)視和跟蹤復(fù)雜的數(shù)據(jù)流。AWS IAM,身份和訪問(wèn)控制服務(wù),提供了一個(gè)集成和細(xì)粒度安全模型功能執(zhí)行。
Microsoft AzureAWS支持Serverless架構(gòu)一段時(shí)間之后,Azure作為競(jìng)品正穩(wěn)步發(fā)展中。Azure的功能可以由AzureStorage blob通知HTTP(休息或webhook)請(qǐng)求、Azure Event Hubs事件、信息存儲(chǔ)隊(duì)列以及服務(wù)總線隊(duì)列或主題,或基于一個(gè)時(shí)間表進(jìn)行觸發(fā)。
Azure有更加結(jié)構(gòu)化配置模型的功能。它允許從內(nèi)部集成函數(shù)本身,輸入和輸出綁定附加功能,極大地簡(jiǎn)化或完全移除所需的代碼與其他服務(wù)。AWS的情況與此相反,必須用SDK進(jìn)行任何形式的整合。同樣,Azure也支持外部集成。例如,可通過(guò)Twillio發(fā)送短信或電子郵件使用SendGrid。
Azure的Serverless架構(gòu)平臺(tái)在運(yùn)行上比AWS緩慢。只有在應(yīng)用程序服務(wù)計(jì)劃時(shí)才可監(jiān)視度量,這就需要再虛擬機(jī)里運(yùn)行一個(gè)函數(shù),并管理云租戶。這是真的Serverless架構(gòu)Serverless架構(gòu)嗎?
如果函數(shù)執(zhí)行Provider-managed計(jì)算,沒(méi)有監(jiān)控信息是可用的。相反,Azure提供了一組指南。它定義了函數(shù)隱式安全策略,基于輸入和輸出綁定,而不是像AWS一樣,顯示配置使用一個(gè)專用的服務(wù)。
Google Cloud Platform谷歌尚未作出谷歌云平臺(tái)(GCP)FaaS,但它提供了一些類(lèi)似于AWS和Azure的核心集成功能。可以通過(guò)Cloud Storage觸發(fā)谷歌云儲(chǔ)存功能,HTTP請(qǐng)求,Cloud Pub/ Sub事件,和一些Firebase events(Firebase是谷歌的mobile-back-end-as-a-service平臺(tái))。
GCP在谷歌的Stackdriver監(jiān)控服務(wù)中提供完整操作。日志發(fā)出谷歌函數(shù)會(huì)自動(dòng)存儲(chǔ),在這種情況下Stackdriver。日志記錄和記錄的指標(biāo)Stackdriver監(jiān)控和質(zhì)量提供了Stackdriver調(diào)試器,可以用它來(lái)研究函數(shù)的代碼行為。這在排除故障時(shí)非常有用。GCP的安全模型與AWS有所不同,然而,它還沒(méi)有提供支持細(xì)粒度的安全策略。
IBM Bluemix/OpenWhiskIBM Bluemix/Apache OpenWhisk都屬于PaaS平臺(tái),類(lèi)似于三大公有云云提供商的開(kāi)源FaaS/serverless。OpenWhisk是一個(gè)開(kāi)源項(xiàng)目,具有完整的可視性FaaS功能,可擴(kuò)展也可定制。運(yùn)行Bluemix時(shí),可以在本地基礎(chǔ)設(shè)施或者是云上實(shí)施Open Whisk,或作為一個(gè)完全管理平臺(tái)。
函數(shù)(在OpenWhisk稱為“行動(dòng)”)可以通過(guò)HTTP請(qǐng)求,觸發(fā)消息Apache Kafka或Message Hub,改變Cloudant noSQL數(shù)據(jù)庫(kù)表、預(yù)知事或幾乎任何類(lèi)型的外部系統(tǒng),提供了一個(gè)集成創(chuàng)建。
從IT運(yùn)營(yíng)的角度來(lái)看,OpenWhisk 主要關(guān)注與函數(shù)相關(guān)的活動(dòng)執(zhí)行的可視化,同時(shí)也允許命令基于借口的輪詢活動(dòng)日志。可惜的是,指標(biāo)、日志手機(jī)和存儲(chǔ)尚未公布,安全模型不是很好定義。開(kāi)發(fā)人員可能需要再?zèng)]有大量平臺(tái)支持的情況下做管理。
Other FaaS platform choices
許多其他產(chǎn)品和項(xiàng)目都想在Serverless架構(gòu)中占有一席之地。有些只提供FaaS與HTTP訪問(wèn)(可選功能),而其他人提供一些服務(wù),比如消息傳遞或存儲(chǔ)。最開(kāi)始是BaaS廠商為有自己的服務(wù)器產(chǎn)品更名。幾個(gè)值得注意的點(diǎn)包括:
Iron.io是最完整的的平臺(tái)之一。它提供了一個(gè)稱為IronWorker的FaaS,以及分布式隊(duì)列服務(wù)(IronMQ)和緩存服務(wù)(IronCache)。
PubNub允許任意代,稱為塊,在實(shí)時(shí)消息流中執(zhí)行,它負(fù)責(zé)管理的可伸縮性計(jì)算堆棧。
Webtask.io,移動(dòng)BaaS平臺(tái),可以運(yùn)行使用任意代碼。封裝成“webtasks”和創(chuàng)建松弛機(jī)器人提供了良好的支持。
Hook.io,一款相似的產(chǎn)品,提供自己的鍵值數(shù)據(jù)存儲(chǔ),以及集成與許多云存儲(chǔ)服務(wù)。
你還會(huì)發(fā)現(xiàn)許多開(kāi)源項(xiàng)目,提供了FaaS容器調(diào)度器。這些包括Funktion,F(xiàn)ission,Kubeless,F(xiàn)uncatron,F(xiàn)aaS等。
框架和工具雖然無(wú)Serverless架構(gòu)平臺(tái)聽(tīng)起來(lái)不錯(cuò),但并沒(méi)有太多實(shí)踐經(jīng)驗(yàn)。這就是為什么它需要?jiǎng)?chuàng)建框架和工具。事實(shí)上,Serverless架構(gòu)正在經(jīng)歷爆發(fā)時(shí)期,新產(chǎn)品和功能紛紛出現(xiàn),有很多可能性待發(fā)掘。
Serverless框架(之前的JAWS),與所有主要平臺(tái)提供者提供的集成,是當(dāng)今最受歡迎的。其他的可以考慮包括Chalice(Python,AWS),Zappa (Python,AWS),ClaudiaJS (Node,AWS),Dawson (Node,AWS),Shep (Node,AWS),Sparta (Go,AWS),and Lambada Framework (Java,AWS)。
除了框架,可以找到許多工具可以構(gòu)建和部署功能或Serverless架構(gòu)。例如,可以使用HashiCorp Terraform選擇自己的基礎(chǔ)設(shè)施供應(yīng)商。,(如AWS CloudFormation)。其他受歡迎的工具包括Apex, Gordon和Kappa。
適合的云計(jì)算環(huán)境許多技術(shù)和產(chǎn)品提供了PaaS和BaaS能力之前,FaaS或Serverless架構(gòu)開(kāi)始流行起來(lái)。有很多SaaS產(chǎn)品提供任何可能消耗作為終端用戶的功能或第三方產(chǎn)品,可以集成到一個(gè)應(yīng)用程序或一個(gè)系統(tǒng)。
這些類(lèi)別現(xiàn)在仍然相關(guān),即使FaaS和Serverless架構(gòu)進(jìn)入云計(jì)算環(huán)境。回顧一下:
FaaS是一個(gè)充分控制計(jì)算資源抽象服務(wù),包括執(zhí)行運(yùn)行過(guò)程的代碼。
Serverless架構(gòu)是結(jié)合了FaaS的PaaS平臺(tái),計(jì)算與托管其他云服務(wù),創(chuàng)建可擴(kuò)展的架構(gòu),具有成本效益的操作。
BaaS提供后端瀏覽器或移動(dòng)應(yīng)用的能力。它可以交付Serverless架構(gòu),以及一個(gè)container-as-a-service(CaaS),“基礎(chǔ)架構(gòu)即服務(wù)”(IaaS),或其他技術(shù)棧。
SaaS只是意味著任何軟件系統(tǒng)而不需要提供自己的基礎(chǔ)設(shè)施上運(yùn)行它。SaaS系統(tǒng)可以建立在任何技術(shù)棧上;重要的是用戶知道如何使用它。
毫無(wú)疑問(wèn),Serverless架構(gòu)將這個(gè)詞用于描述所有其他服務(wù),可能混淆了許多人。但是沒(méi)關(guān)系,企業(yè)采用Serverless架構(gòu),業(yè)務(wù)肯定會(huì)受益,并增加業(yè)務(wù)敏捷性。期待Serverless架構(gòu)在IT行業(yè)經(jīng)歷更大的創(chuàng)新。
原文鏈接:An essential guide to the serverless ecosystem | TechBeacon
原文作者:Rafal Gancarz
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/11788.html
摘要:流浪地球里對(duì)剎車(chē)時(shí)代逃逸時(shí)代和流浪時(shí)代的設(shè)定很有意思,類(lèi)比于云計(jì)算行業(yè),我們現(xiàn)在應(yīng)該處于資源時(shí)代的末期,即將進(jìn)入功能時(shí)代。 本文作者:張海龍,CODING 創(chuàng)始人兼 CEO 發(fā)完開(kāi)工利是之后,2019 年算是正式開(kāi)始了。 2019 年經(jīng)濟(jì)減速的陰云籠罩了所有行業(yè),云計(jì)算行業(yè)也難獨(dú)善其身:上游供應(yīng)商英特爾將自身業(yè)務(wù)的疲軟歸咎于數(shù)據(jù)中心設(shè)備行業(yè)市場(chǎng)減速;與此同時(shí)微軟在 1 月 30 日公...
摘要:原文作者無(wú)服務(wù)器架構(gòu)是指一個(gè)應(yīng)用大量依賴第三方服務(wù)后端即服務(wù),,簡(jiǎn)稱,或者把代碼交由托管的短生命周期的容器中執(zhí)行函數(shù)即服務(wù),,簡(jiǎn)稱。這些服務(wù)最早被稱為,下文將對(duì)此簡(jiǎn)稱為。是目前的熱門(mén)實(shí)現(xiàn)之一,下文將對(duì)此簡(jiǎn)稱為。它同樣經(jīng)由網(wǎng)關(guān)暴露給外部使用。 譯注: 為了便于對(duì)照參考,Serverless、BaaS 等術(shù)語(yǔ)文中不做翻譯。 原文很長(zhǎng),這里分成上下兩篇。翻譯過(guò)程在 GitHub 上進(jìn)行。...
摘要:導(dǎo)讀近期靈雀云技術(shù)專家邵明岐翻譯了所著的一書(shū)的部分內(nèi)容,可以說(shuō)是對(duì)科普與觀察的上佳素材。移動(dòng)應(yīng)用程序可以無(wú)縫訪問(wèn)同一個(gè)數(shù)據(jù)庫(kù),以檢索過(guò)去的結(jié)果和排行榜數(shù)據(jù)。這些是統(tǒng)計(jì)信息,例如執(zhí)行持續(xù)時(shí)間和面向客戶的指標(biāo),而不是可用磁盤(pán)空間或使用率。 導(dǎo)讀:近期靈雀云技術(shù)專家邵明岐翻譯了Mike Roberts & John Chapin所著的《What is Serverless》一書(shū)的部分內(nèi)容,可...
摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭(zhēng)相入市,,阿里云函數(shù)計(jì)算,短短數(shù)年時(shí)間產(chǎn)品已遍地開(kāi)花。目前知名的平臺(tái)有,,,等。統(tǒng)一的容器調(diào)度模型從當(dāng)前及容器生態(tài)的發(fā)展來(lái)看,容器基本都是運(yùn)行在云主機(jī)之上比如的,阿里云的。 說(shuō)起當(dāng)前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個(gè)不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動(dòng)了云計(jì)算的發(fā)展,從AWS Lamb...
摘要:嶄露頭角在發(fā)布之后,眾多及廠商爭(zhēng)相入市,,阿里云函數(shù)計(jì)算,短短數(shù)年時(shí)間產(chǎn)品已遍地開(kāi)花。目前知名的平臺(tái)有,,,等。統(tǒng)一的容器調(diào)度模型從當(dāng)前及容器生態(tài)的發(fā)展來(lái)看,容器基本都是運(yùn)行在云主機(jī)之上比如的,阿里云的。 說(shuō)起當(dāng)前最火的技術(shù),除了最新的區(qū)塊鏈,AI,還有一個(gè)不得不提的概念是Serverless。Serverless作為一種新型的互聯(lián)網(wǎng)架構(gòu)直接或間接推動(dòng)了云計(jì)算的發(fā)展,從AWS Lamb...
閱讀 735·2023-04-25 19:28
閱讀 1396·2021-09-10 10:51
閱讀 2392·2019-08-30 15:55
閱讀 3412·2019-08-26 13:55
閱讀 3001·2019-08-26 13:24
閱讀 3330·2019-08-26 11:46
閱讀 2756·2019-08-23 17:10
閱讀 1419·2019-08-23 16:57