本文來自IT168網(wǎng)站,作者/陶然。
當(dāng)一個(gè)新技術(shù)出現(xiàn)時(shí),首先被關(guān)注的往往是它的技術(shù)價(jià)值。如果技術(shù)價(jià)值得到了證實(shí),那么我們就到達(dá)了神奇的“跨越鴻溝”時(shí)刻:新技術(shù)進(jìn)一步證實(shí)了其商業(yè)價(jià)值,被廣泛的應(yīng)用,進(jìn)而成為主流技術(shù)。
然而只有極少數(shù)幾項(xiàng)技術(shù),會(huì)再向前邁進(jìn)了一步,從主流技術(shù)進(jìn)一步演變?yōu)楸夭豢缮俚募夹g(shù)。
關(guān)系數(shù)據(jù)庫就是其中之一。20世紀(jì)70年代問世以來,它讓人們快速、便捷地存儲(chǔ)和檢索大量信息成為可能。再比如圖形界面,使PC變成了可能,而且很快就成為企業(yè)發(fā)展業(yè)務(wù)必不可少的基礎(chǔ)設(shè)施。而互聯(lián)網(wǎng)的興起給我們帶來了電子郵件、電子商務(wù),并最終在手持設(shè)備上實(shí)現(xiàn)了移動(dòng)計(jì)算。為了順應(yīng)時(shí)代,幾乎每個(gè)企業(yè)都需要跟進(jìn)這些改變商業(yè)模式的技術(shù)。
所有這些進(jìn)步都發(fā)生在短短幾十年的時(shí)間里。但如果我們回過頭來仔細(xì)想想,這樣一種思路就會(huì)變得清晰起來:現(xiàn)代變革是由那些幫助人們將“原來不可能變?yōu)榭赡?rdquo;的重大應(yīng)用所推動(dòng)的。而Serverless,正日益被企業(yè)和開發(fā)者們投來期許的目光。
Serverless計(jì)算
縱觀技術(shù)發(fā)展,從SQL數(shù)據(jù)庫到移動(dòng)應(yīng)用,到如今幾乎都需要用云計(jì)算架構(gòu)來實(shí)現(xiàn)。“云”已經(jīng)充分證明了它的商業(yè)價(jià)值,就連最傳統(tǒng)的企業(yè)也意識(shí)到上云的必要性,并開始嘗試數(shù)字化轉(zhuǎn)型。但是由于分布式系統(tǒng)固有的復(fù)雜性,云原生架構(gòu)的實(shí)現(xiàn)非常困難,只有擁有深厚技術(shù)積累的企業(yè)才能真正發(fā)揮云的最大潛力。
新的問題總是會(huì)帶來新的解決方案,云計(jì)算正在進(jìn)行著新的演進(jìn)。Serverless計(jì)算已經(jīng)成為云原生的下一個(gè)發(fā)展方向——基于云、容器和微服務(wù)架構(gòu)的交付方式。
Serverless允許企業(yè)將集群的資源分配、錯(cuò)誤修復(fù)、系統(tǒng)維護(hù)、容量管理等復(fù)雜運(yùn)營工作轉(zhuǎn)交給云服務(wù)廠商(或多家云服務(wù)商,因?yàn)镾erverless技術(shù)同樣也可以消除多云和混合部署的復(fù)雜性)。
相比較于傳統(tǒng)云計(jì)算結(jié)構(gòu),Serverless讓開發(fā)人員可以更快速、更輕松地構(gòu)建穩(wěn)定可擴(kuò)展的業(yè)務(wù)系統(tǒng),是一種非常好的資源使用方式。此外,Serverless具有高部署靈活性和縮短開發(fā)周期的能力,能為企業(yè)帶來實(shí)實(shí)在在的業(yè)務(wù)價(jià)值,同時(shí)這些特性體現(xiàn)了Serverless的最重要的價(jià)值:增強(qiáng)企業(yè)的創(chuàng)新能力。
Serverless如何推動(dòng)創(chuàng)新?
Serverless可以簡化繁瑣但必要的IT運(yùn)維工作,從而大幅度消除技術(shù)團(tuán)隊(duì)的創(chuàng)新障礙。隨著DevOps團(tuán)隊(duì)的效率提高,企業(yè)就能夠快速開發(fā)原型以嘗試新的產(chǎn)品或服務(wù),然后根據(jù)市場(chǎng)反應(yīng)進(jìn)行靈活的調(diào)整。
簡單服務(wù):Serverless可以將原本復(fù)雜的運(yùn)維工作簡單化,包括資源調(diào)配、預(yù)測(cè)容量、配置、更新、安全和聯(lián)網(wǎng)。這為中小型企業(yè)和小型技術(shù)團(tuán)隊(duì)降低了門檻,從而實(shí)現(xiàn)了云計(jì)算的普及化。
原生連接性:公司過去從產(chǎn)品中獲取利潤,但今天的利潤往往來自于平臺(tái),而平臺(tái)負(fù)責(zé)的就是應(yīng)用服務(wù)系統(tǒng)與用戶系統(tǒng)的連接。從某種角度上看,得平臺(tái)者得天下,哪些企業(yè)能夠與平臺(tái)進(jìn)一步擴(kuò)大和加深聯(lián)系,哪些企業(yè)就會(huì)贏得先機(jī)。Serverless架構(gòu)是天然適合實(shí)現(xiàn)高效連接的,因?yàn)樗旧砭褪且唤M實(shí)時(shí)執(zhí)行和通訊的功能函數(shù)。
動(dòng)態(tài)系統(tǒng):Serverless實(shí)現(xiàn)了一個(gè)快速的、動(dòng)態(tài)的交付系統(tǒng):構(gòu)建功能,將其交付給市場(chǎng),立即獲得客戶反饋,根據(jù)反饋快速提供功能創(chuàng)新和改進(jìn)。利用集成到云平臺(tái)的Serverless功能和集成,開發(fā)人員可以使用持續(xù)交付(CI/CD的下一階段)每天一次甚至多次的交付新版本。
可嘗試性:Serverless的簡單性、連接性和動(dòng)態(tài)響應(yīng)的特性相互結(jié)合,形成了Serverless最主要的一個(gè)優(yōu)勢(shì):可嘗試性。當(dāng)我們可以以簡單、快速和低成本(就時(shí)間和成本而言)的方式部署應(yīng)用時(shí),我們就能夠快速的嘗試各種有趣的可能性和探索未知領(lǐng)域。團(tuán)隊(duì)可以頻繁地試錯(cuò),快速的拋棄驗(yàn)證失敗的想法,從而找到有正確的產(chǎn)品推進(jìn)方向。Serverless使得創(chuàng)新變得充滿活力、無風(fēng)險(xiǎn)。
隨著Serverless和其他無代碼解決方案的崛起,我們會(huì)看到一種新的混合型職業(yè)的出現(xiàn):技術(shù)型企業(yè)家。Serverless為有創(chuàng)意的工程師創(chuàng)造了新的途徑,在將專業(yè)且復(fù)雜的基礎(chǔ)設(shè)施的運(yùn)營工作剝離之后,他們可以在幾乎零成本的條件下測(cè)試、試驗(yàn)和發(fā)布自己的新想法。
我們同樣也可以預(yù)測(cè)另一個(gè)行業(yè)的出現(xiàn):企業(yè)家型開發(fā)人員,他們可以輕易實(shí)現(xiàn)自己的創(chuàng)新想法,不再因缺乏深厚的編碼經(jīng)驗(yàn)而受阻。無論是哪種方式,Serverless都為獨(dú)立的創(chuàng)業(yè)創(chuàng)新提供了新的途徑--同時(shí)也為未來的投資和創(chuàng)新開辟了的新可能性。
Serverless數(shù)據(jù)庫
Serverless是一種非常好的資源管理方式,但是到目前為止,我們對(duì)Serverless的關(guān)注主要集中在應(yīng)用層面。通過AWS Lambda、Google Cloud Run或Fargate等產(chǎn)品,將應(yīng)用程序托管到云中,由云提供商負(fù)責(zé)應(yīng)用的運(yùn)行和彈性伸縮。對(duì)于業(yè)務(wù)方而言,通過云管理基礎(chǔ)設(shè)施可以說是現(xiàn)階段的首選。
然而,我們卻常常忘記了數(shù)據(jù)庫的作用。要知道,所有的應(yīng)用程序都依賴于數(shù)據(jù),所有的連接都用數(shù)據(jù)來描述。為了應(yīng)對(duì)全球互聯(lián)互通的需求不斷升級(jí),已經(jīng)有不計(jì)其數(shù)依賴于復(fù)雜基礎(chǔ)架構(gòu)的傳統(tǒng)企業(yè)逐步將自托管的數(shù)據(jù)庫進(jìn)行上云化。
可以說,如今沒有哪家公司會(huì)想要在全世界投資建設(shè)自己的私人數(shù)據(jù)中心。如果一家專門的云數(shù)據(jù)庫提供商提供一個(gè)跨大陸的分布式數(shù)據(jù)庫服務(wù),那么還要自己進(jìn)行構(gòu)建、運(yùn)營和維護(hù)這樣的系統(tǒng),就會(huì)變得毫無意義。如果企業(yè)想要在垂直領(lǐng)域保持競(jìng)爭(zhēng)力,就必須采取行動(dòng)升級(jí)其數(shù)據(jù)保存方式。
我們正處于數(shù)字化轉(zhuǎn)型的大潮之中,數(shù)據(jù)驅(qū)動(dòng)著我們所做的一切。Serverless數(shù)據(jù)庫可以實(shí)現(xiàn)接近無限的數(shù)據(jù)和基礎(chǔ)設(shè)施托管。我們會(huì)看到越來越多的數(shù)據(jù)庫以Serverless方式托管,因?yàn)榧夹g(shù)團(tuán)隊(duì)發(fā)現(xiàn)其技術(shù)棧中的絕大部分已經(jīng)基于云原生設(shè)計(jì),但問題卻是:數(shù)據(jù)庫一直在拖后腿。
所有Serverless應(yīng)用程序都具有類似的特點(diǎn):將運(yùn)維工作自動(dòng)化和剝離、基于消費(fèi)量的計(jì)費(fèi)、彈性伸縮、內(nèi)置彈性和容錯(cuò)能力。數(shù)據(jù)庫應(yīng)用程序也不例外,真正的Serverless數(shù)據(jù)庫還應(yīng)該提供三個(gè)附加功能:分布式體系結(jié)構(gòu)、地理(全球)規(guī)模,以及簡單云SQL API。
如果將所有這些特點(diǎn)組合起來,我們就可以看到下一代數(shù)據(jù)庫的樣貌:數(shù)據(jù)庫作為服務(wù)部署,消除ops限制,通過應(yīng)用程序使用的事務(wù)數(shù)和所需存儲(chǔ)的量計(jì)費(fèi),同時(shí)確保一致性和彈性伸縮。
如果上述這些因素可以保證實(shí)現(xiàn),我們完全可以想象得出未來的企業(yè)將創(chuàng)造出比現(xiàn)在更驚艷百倍的產(chǎn)品,來滿足一向喜歡“吃著碗里瞧著鍋里”的消費(fèi)者。
Serverless的未來
見證Serverless的奇跡的時(shí)刻就在眼前。Serverless有可能成為下一代重要的架構(gòu)范式,也可能只是云原生架構(gòu)范式的進(jìn)一步演進(jìn)。無論是哪種方式,我們都可以看到越來越多的開發(fā)人員和架構(gòu)師選擇了Serverless模型,并用它構(gòu)建企業(yè)軟件和服務(wù)的核心。
我們往往無法預(yù)測(cè)下一次架構(gòu)范式轉(zhuǎn)變,同理,我們也不知道將來的《財(cái)富》500強(qiáng)企業(yè)會(huì)變成什么樣子。下一代架構(gòu)范式會(huì)是什么樣子,它們將建立在什么基礎(chǔ)上?我們無法確定。但一點(diǎn)是確定的:未來的挑戰(zhàn)和機(jī)遇將是與今天的情況大有不同,因此從我們現(xiàn)在所處的位置去做判斷可能是有失妥當(dāng)?shù)摹?/p>
在一個(gè)不確定的時(shí)代唯一可行的策略就是主動(dòng)去適應(yīng)變化。無論未來如何發(fā)展,保證生存的方式卻只會(huì)有一種:與不斷變化和不可預(yù)測(cè)的技術(shù)和商業(yè)共同發(fā)展,因此創(chuàng)新能力是企業(yè)生存的必要條件。這意味著企業(yè)要能夠快速迭代,收集客戶的實(shí)時(shí)反饋,并通過簡單低成本的試錯(cuò)進(jìn)行快速響應(yīng)。
而從這個(gè)層面上看,Serverless恰恰可以幫助企業(yè)在業(yè)務(wù)活動(dòng)中隨時(shí)進(jìn)行創(chuàng)新和試錯(cuò),這也就不難理解大家為什么對(duì)它寄予厚望了。