我建議你了解一點(diǎn)兒Serverless | IDCF

來(lái)源:碼農(nóng)翻身 作者:碼農(nóng)翻身劉欣
一個(gè)新技術(shù)的出現(xiàn)不是無(wú)中生有,從石頭中憑空蹦出來(lái)的,而是在原有基礎(chǔ)上的繼承和發(fā)展。
Serverless也不例外,我們回顧下IT基礎(chǔ)設(shè)施的發(fā)展,就會(huì)發(fā)現(xiàn),Serverless自然就會(huì)浮現(xiàn)出來(lái),你自己就可以發(fā)明它(但是卻實(shí)現(xiàn)不了它)。
一、局域網(wǎng)時(shí)代
上世紀(jì)90年代,你是一家IT部門(mén)的負(fù)責(zé)人,公司需要建立一個(gè)信息管理系統(tǒng),
這時(shí)候的系統(tǒng)都是局域網(wǎng)的, 是C/S模式的, 業(yè)務(wù)邏輯主要在客戶(hù)端軟件中, 需要被安裝到各個(gè)電腦上去,然后訪(fǎng)問(wèn)同一個(gè)數(shù)據(jù)庫(kù)。

在部署這個(gè)系統(tǒng)之前,你需要做很多的工作:
搭建局域網(wǎng), 購(gòu)買(mǎi)交換機(jī),路由器。 買(mǎi)服務(wù)器,安裝操作系統(tǒng),比如Window NT。 安裝數(shù)據(jù)庫(kù)軟件,例如Oracle。 然后再把那些Delphi/VB/PowerBuilder寫(xiě)的客戶(hù)端安裝到電腦上, 整個(gè)系統(tǒng)跑起來(lái)了。

二、數(shù)據(jù)中心

三、虛擬化
為什么要用物理服務(wù)器? 誰(shuí)要是能提供虛擬機(jī)給我就好了! 用完了就可以“扔掉”!
物理服務(wù)器不用買(mǎi)了,申請(qǐng)?zhí)摂M機(jī)就可以了。什么樣的CPU, 多少內(nèi)存,多大的硬盤(pán),對(duì)應(yīng)的價(jià)格也不同。
操作系統(tǒng)會(huì)按照你的要求自動(dòng)給你安裝好。網(wǎng)絡(luò)自然不用操心, 要多大帶寬直接買(mǎi)就行。
四、理想模式
不要再考慮什么物理服務(wù)器/虛擬機(jī)了, 把代碼上傳到云端,直接運(yùn)行。 按使用情況(如CPU時(shí)間、內(nèi)存大小)來(lái)收費(fèi)。

五、Serverless 的特點(diǎn)
程序員編寫(xiě)完成業(yè)務(wù)的函數(shù)代碼。 上傳到支持Serverless的平臺(tái),設(shè)定觸發(fā)的規(guī)則。 請(qǐng)求到來(lái),Serverless平臺(tái)根據(jù)觸發(fā)規(guī)則加載函數(shù),創(chuàng)建函數(shù)實(shí)例,運(yùn)行。 如果請(qǐng)求比較多,會(huì)進(jìn)行實(shí)例的擴(kuò)展,如果請(qǐng)求較少,就進(jìn)行實(shí)例的收縮。 如果無(wú)人訪(fǎng)問(wèn),卸載函數(shù)實(shí)例。


用戶(hù)的會(huì)話(huà)狀態(tài)肯定是無(wú)法保持的,像session sticky 這樣的功能就別想了。函數(shù)無(wú)法做本地的持久化,沒(méi)法訪(fǎng)問(wèn)本地硬盤(pán)的任何東西(服務(wù)器看不見(jiàn)了,怎么能看見(jiàn)硬盤(pán)呢?)。 所有想持久化的東西必須得保存到外部的系統(tǒng)或者存儲(chǔ)中,例如Redis,MySQL等。很明顯,這些東西也應(yīng)該以“服務(wù)”的方式來(lái)呈現(xiàn),即Backend as a Service (BaaS)。


評(píng)論
圖片
表情

