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