簡(jiǎn)單概述Serverless

Serverless是計(jì)算的趨勢(shì)忿偷,它使諸如Web應(yīng)用程序之類的代碼執(zhí)行與維護(hù)服務(wù)器以運(yùn)行該代碼的需求脫鉤涉馁。 創(chuàng)建沐扳,供應(yīng)和維護(hù)服務(wù)器上運(yùn)行的應(yīng)用程序的操作開銷(傳統(tǒng)意義上)非常重要。 減少或消除這項(xiàng)工作可以幫助組織管理成本并為員工騰出時(shí)間绘面。 Serverless還提供了創(chuàng)新的計(jì)費(fèi)模型和更容易的可擴(kuò)展性砸捏。

在《Serverless是什么诈铛?》中摊溶,作者M(jìn)ike Roberts和John Chapin指出了使Serverless變得獨(dú)一無二的核心見解:

使用完全Serverless的應(yīng)用程序拭卿,您不再需要將架構(gòu)的任何部分視為在主機(jī)上運(yùn)行的資源骡湖。 您的所有邏輯(無論您是自己編寫代碼還是與第三方服務(wù)集成)都在完全彈性的操作環(huán)境中運(yùn)行。 您的狀態(tài)也以類似的彈性形式存儲(chǔ)峻厚。 Serverless并不意味著服務(wù)器已經(jīng)消失响蕴。 這意味著您不再需要擔(dān)心它們。

Serverless可以歸納為:

  1. 是一種無服務(wù)器架構(gòu)

  2. Baas(后端即服務(wù))和Faas(函數(shù)即服務(wù))的綜合體

  3. 基于事件驅(qū)動(dòng)的編程泛型

目前常見的業(yè)界產(chǎn)品有AWS Lambda惠桃、Google Cloud Functions浦夷、Azure Functions、IBM OpenWhisk辜王、阿里云函數(shù)計(jì)算劈狐。隨著容器技術(shù),IoT呐馆,5G肥缔,區(qū)塊鏈等技術(shù)的快速發(fā)展, 技術(shù)上對(duì)去中心化摹恰,輕量虛擬化辫继,細(xì)粒度計(jì)算等技術(shù)需求愈發(fā)強(qiáng)烈,而Serverless必將借勢(shì)迅速發(fā)展俗慈。

價(jià)值及影響

  • 低成本:運(yùn)營(yíng)成本和開發(fā)成本

  • 真正的按需付費(fèi)

  • 高橫向擴(kuò)展

  • 只需要傳統(tǒng)5%~15%的計(jì)算能力

  • NoOps

應(yīng)用場(chǎng)景

  • 事件驅(qū)動(dòng)及響應(yīng)式架構(gòu)

    • IoT物聯(lián)網(wǎng)場(chǎng)景中低頻需求

    • 請(qǐng)求對(duì)及時(shí)響應(yīng)需求不強(qiáng)

    • 固定時(shí)間觸發(fā)計(jì)算資源利用低的的業(yè)務(wù)

  • 流量突發(fā)場(chǎng)景

  • 跨云和混合云

  • 邊緣計(jì)算

  • 代碼運(yùn)行周期短,長(zhǎng)的不適合

不同風(fēng)格的Serverless

Serverless技術(shù)有幾種不同的版本遣耍。盡管AWS Lambda被視為啟動(dòng)這一運(yùn)動(dòng)的特定技術(shù)闺阱,但其他供應(yīng)商提供了減少運(yùn)營(yíng)開銷的平臺(tái)。Serverless產(chǎn)品通常分為兩種:

  • 后端即服務(wù)(BaaS)-BaaS提供了Serverless方法來處理諸如存儲(chǔ)舵变,身份驗(yàn)證和用戶管理之類的事情酣溃。

  • 功能即服務(wù)(FaaS)-FaaS平臺(tái)以離散的“功能”單元運(yùn)行代碼瘦穆,并根據(jù)需要調(diào)用它們。

Serverless的API

最終用戶可以使用API網(wǎng)關(guān)之類的云基礎(chǔ)架構(gòu)來構(gòu)建可根據(jù)需要調(diào)用的整個(gè)服務(wù)赊豌,而不必不斷監(jiān)聽扛或。云提供商會(huì)將傳入的請(qǐng)求路由到正確的Serverless功能,該功能將完成工作并將響應(yīng)寫回最終用戶碘饼。

這樣就可以開發(fā)僅在使用時(shí)才收費(fèi)的API熙兔,并且可以通過最小的更改大規(guī)模擴(kuò)展。 Slobodan Stojanovic和Aleksandar Simovic的書《使用Node.js的Serverless應(yīng)用程序》提供了一個(gè)示例艾恼,說明了為什么要對(duì)API使用Serverless:

要了解Serverless住涉,請(qǐng)考慮一下洗衣機(jī)。洗衣服的設(shè)備聽起來像是一個(gè)瘋狂的起點(diǎn)钠绍,但是如今擁有一臺(tái)服務(wù)器類似于擁有一臺(tái)洗衣機(jī)舆声。每個(gè)人都需要干凈的衣服,最合乎邏輯的解決方案似乎是購(gòu)買洗衣機(jī)柳爽。但是大多數(shù)時(shí)候媳握,洗衣機(jī)都插上電源,什么也不做磷脯。最多每周使用5到15個(gè)小時(shí)蛾找。服務(wù)器也是如此。大多數(shù)情況下争拐,您的普通應(yīng)用服務(wù)器只是在等待接收請(qǐng)求腋粥,什么也不做。

Serverless存儲(chǔ)

傳統(tǒng)上架曹,管理Web應(yīng)用程序的數(shù)據(jù)存儲(chǔ)一直是操作應(yīng)用程序中最困難的部分之一隘冲,而數(shù)據(jù)庫(kù)管理有時(shí)看起來像是一門絕技。但是绑雄,Serverless數(shù)據(jù)存儲(chǔ)(如Firebase和Aurora)的引入使開發(fā)人員不必?fù)?dān)心優(yōu)化實(shí)例類型展辞,執(zhí)行備份以及其他可操作的數(shù)據(jù)庫(kù)問題。

相反万牺,云提供商將為最終用戶處理托管數(shù)據(jù)存儲(chǔ)的事宜罗珍。提供者經(jīng)常具有按需付費(fèi)的計(jì)費(fèi)模型。默認(rèn)情況下脚粟,數(shù)據(jù)存儲(chǔ)速度很快覆旱,并且通常具有吸引開發(fā)人員的靈活性,例如缺少預(yù)定義的架構(gòu)核无。

Serverless云事件

在云環(huán)境中扣唱,應(yīng)用程序在諸如Amazon Web Services之類的平臺(tái)中誕生并終生存在。這與更“傳統(tǒng)”的應(yīng)用程序形成對(duì)比,這些應(yīng)用程序可能旨在在自營(yíng)數(shù)據(jù)中心的通用商品硬件上運(yùn)行噪沙。由于基于云的應(yīng)用程序在更高的抽象級(jí)別上運(yùn)行炼彪,因此它們也可以與“事件”一起使用,這些事件可以通知最終用戶抽象化基礎(chǔ)架構(gòu)中正在發(fā)生的事情正歼,從而避免了從較低層次的文件系統(tǒng)中找出問題的負(fù)擔(dān)辐马。蜜蜂。當(dāng)工程師需要對(duì)云平臺(tái)上發(fā)生的事件做出反應(yīng)時(shí)局义,Serverless才真正發(fā)揮作用喜爷。作為提高云事件效率的一個(gè)示例,開發(fā)人員可能希望在將新文件推送到S3存儲(chǔ)桶時(shí)執(zhí)行某些操作旭咽,例如修改其尺寸并將新文件發(fā)布到其他地方贞奋。

通過將云提供商的本機(jī)抽象用于這些事件,可以大大減輕開發(fā)和部署負(fù)擔(dān)穷绵。這允許具有創(chuàng)造性的新架構(gòu)轿塔,這些架構(gòu)可以很好地?cái)U(kuò)展,甚至可以編織到大數(shù)據(jù)轉(zhuǎn)換管道中仲墨」寸裕可以在Peter Sbarski的AWS上的Serverless架構(gòu)中找到使用S3事件的示例。

其他Serverless用例

Symphonia的聯(lián)合創(chuàng)始人Mike Roberts在接受采訪時(shí)說目养,Serverless還具有其他用例俩由。例如,可以被建模為一組異步“實(shí)時(shí)”(即比人類感知的速度更快)事件的任何系統(tǒng)都可以受益于使用Serverless快速響應(yīng)所有這些事件癌蚁。對(duì)于請(qǐng)求模式不一致的用例幻梯,例如webhooks,這可能會(huì)派上用場(chǎng)努释。 Webhook可能不會(huì)經(jīng)常觸發(fā)碘梢,但是當(dāng)它發(fā)生時(shí),讓Serverless功能執(zhí)行工作而不是服務(wù)器上的進(jìn)程來全天候保留計(jì)算能力可能會(huì)為企業(yè)帶來巨大的成本和運(yùn)營(yíng)節(jié)省伐蒂。

公司喜歡嘗試Serverless的一個(gè)領(lǐng)域是操作和與呼叫相關(guān)的自動(dòng)化煞躬。警報(bào),自動(dòng)縮放逸邦,響應(yīng)用戶消息的聊天機(jī)器人恩沛,以及所有這些都適合于非對(duì)稱調(diào)用的工作環(huán)境,這些工作很有用缕减,但由于并不直接面向最終用戶雷客,因此可以進(jìn)行試驗(yàn)。一旦證明這些系統(tǒng)成功桥狡,公司可能會(huì)更愿意推出面向用戶的服務(wù)

何時(shí)使用Serverless

Serverless必須提供的最大好處之一是它能夠減少將某些產(chǎn)品推向市場(chǎng)所需的時(shí)間佛纫。 不必過多擔(dān)心訂購(gòu)和配置服務(wù)器妓局,可以使工程師解放精力总放,專注于其他任務(wù)呈宇,例如快速交付軟件。 同樣局雄,隨著Serverless產(chǎn)品繼續(xù)在堆棧中向上移動(dòng)甥啄,使Web應(yīng)用程序更易于組合在一起,可以大大減少人工成本炬搭,因?yàn)樾枰帉懞途S護(hù)的代碼更少蜈漓。

減少勞力不僅可以直接帶來金錢上的收益,還可以帶來更快樂宫盔,更有生產(chǎn)力的開發(fā)商融虽。 當(dāng)開發(fā)人員知道從構(gòu)思到生產(chǎn)的想法可能會(huì)遇到更少的絆腳石和操作負(fù)擔(dān)時(shí),可能會(huì)交付更多的軟件灼芭,并且更有可能生產(chǎn)出更好的產(chǎn)品有额。

Serverless的障礙

Serverless是一種相對(duì)較新的技術(shù),最佳實(shí)踐仍在完善中彼绷。因此巍佑,Serverless非常適合那些有前瞻性思維的人,他們不介意袖手旁觀寄悯,并且對(duì)歧義和風(fēng)險(xiǎn)感到滿意萤衰。

Serverless新手應(yīng)該注意的一個(gè)特定領(lǐng)域是其不可預(yù)測(cè)的使用模型。使用AWS EC2之類的傳統(tǒng)設(shè)置的賬單費(fèi)用更具可預(yù)測(cè)性猜旬,因?yàn)樵撡M(fèi)用基于提前知道的大多數(shù)事情脆栋,例如實(shí)例類型,運(yùn)行多少小時(shí)以及帶寬使用情況洒擦。另一方面椿争,Serverless對(duì)水平可伸縮性有很高的限制,這使得擴(kuò)展更容易秘遏,但也使計(jì)費(fèi)費(fèi)用的積累變得更加容易丘薛。同樣,調(diào)用Serverless功能可能很便宜邦危,將其輸出寫入日志實(shí)用程序的成本最終可能會(huì)比預(yù)期更快地產(chǎn)生高成本洋侨。例如,隨著AWS Lambdas向其寫入日志倦蚪,AWS CloudWatch日志記錄成本將迅速增加希坚。如果第三方監(jiān)視工具(例如Datadog)也從CloudWatch攝取此數(shù)據(jù),則可能會(huì)產(chǎn)生進(jìn)一步的費(fèi)用陵且。

最后裁僧,了解Serverless供應(yīng)商的實(shí)際承諾可能很模糊个束。對(duì)于傳統(tǒng)服務(wù)器,事先就可以很好地了解有關(guān)分配給計(jì)算機(jī)的可用性和資源的協(xié)議聊疲,并在合同中進(jìn)行了詳細(xì)說明茬底。在Serverless的情況下,冷啟動(dòng)時(shí)間获洲,錯(cuò)誤的函數(shù)調(diào)用以及其他“陷阱”可能潛伏在角落阱表。這些最終可能會(huì)破壞您的預(yù)期用例。例如贡珊,邁克·羅伯茨(Mike Roberts)表示最爬,要求亞毫秒級(jí)響應(yīng)時(shí)間的應(yīng)用程序仍然不是當(dāng)今大多數(shù)Serverless產(chǎn)品的理想選擇。像任何新的范例一樣门岔,明確的期望和解決缺陷的方法可能會(huì)隨著時(shí)間而逐漸成熟爱致,但是目前,Serverless用戶只能自己進(jìn)行試驗(yàn)寒随。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末糠悯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子牢裳,更是在濱河造成了極大的恐慌逢防,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒲讯,死亡現(xiàn)場(chǎng)離奇詭異忘朝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)判帮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門局嘁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晦墙,你說我怎么就攤上這事悦昵。” “怎么了晌畅?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵但指,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我抗楔,道長(zhǎng)棋凳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任连躏,我火速辦了婚禮剩岳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘入热。我一直安慰自己拍棕,他們只是感情好晓铆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绰播,像睡著了一般骄噪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上幅垮,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天腰池,我揣著相機(jī)與錄音,去河邊找鬼忙芒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讳侨,可吹牛的內(nèi)容都是我干的呵萨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼跨跨,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼潮峦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勇婴,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忱嘹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后耕渴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拘悦,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年橱脸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了础米。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡添诉,死狀恐怖屁桑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情栏赴,我是刑警寧澤蘑斧,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站须眷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏准浴。R本人自食惡果不足惜捎稚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望罐农。 院中可真熱鬧涵亏,春花似錦蒲凶、人聲如沸旋圆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瓤球。三九已至敏弃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虹茶,已是汗流浹背蝴罪。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工要门, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留廓啊,地道東北人谴轮。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓第步,卻偏偏與公主長(zhǎng)得像缘琅,于是被迫代替她去往敵國(guó)和親刷袍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子樊展,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容