官术网_书友最值得收藏!

1.1 Serverless簡介

1.1.1 Serverless的發(fā)展背景

軟件部署使開發(fā)商和開發(fā)人員常常需要花費大量的時間來管理和維護服務器基礎設施,并且還需要關注應用程序所需的操作系統(tǒng)和配置信息等。軟件部署的發(fā)展可以劃分為四個時期:裸金屬時期、虛擬機時期、容器化時期、Serverless時期(無服務器時期)。

1)裸金屬時期。此時期的系統(tǒng)管理員要為部署的軟件準備物理服務器,這涉及安裝操作系統(tǒng)和相關的設備驅(qū)動程序、確保有足夠的內(nèi)存/磁盤/處理器可用,還要負責硬件升級等。物理硬件和部署的軟件之間存在強烈耦合,相互依賴性很強。在這里,部署單元是一個實際的服務器。

2)虛擬機時期。此時期的物理服務器上托管多個虛擬機,開發(fā)人員無須直接部署到給定的硬件,而是提供給一個虛擬機(Virtual Machine, VM)。這給升級和遷移帶來了很大的靈活性,使得部署更加可重復和靈活,而此時軟件與硬件開始分離。如果出現(xiàn)硬件故障,系統(tǒng)管理員可以將虛擬機遷移到其他硬件并避免出現(xiàn)問題。在這里,部署單元是虛擬機。

3)容器化時期。這個時期誕生了許多容器化技術,如Docker、OpenVZ、LXC、FreeBSD Jail和Solaris zones等。這些技術使系統(tǒng)管理員能夠“分割”操作系統(tǒng),在同一系統(tǒng)上運行不同的應用程序,而不會相互干擾。它們還可以讓開發(fā)人員擁有與生產(chǎn)環(huán)境緊密匹配的輕量級環(huán)境,從而使不同環(huán)境之間的操作更加一致。此外,此時期還開發(fā)了許多工具來簡化容器的創(chuàng)建和維護,許多公司使用它們來加快開發(fā)和部署的節(jié)奏。在這里,部署單元是一個容器。

4)Serverless時期。開發(fā)人員不需要考慮服務器,只需要專注自己的業(yè)務邏輯。一切服務器的配置均交給平臺執(zhí)行。業(yè)務執(zhí)行是按需收費的,這讓計算資源從固定成本變?yōu)榱丝勺兂杀尽_@對于那些流量波動大的業(yè)務來說很有吸引力。

從軟件部署層面看,在這幾個時期,都有軟件在“他處”執(zhí)行的概念,無論是在本地物理服務器上,還是在云主機的虛擬機上或者是容器上。此外,無服務器從另一個方面給出了一個抽象層次:代碼本身。有了這種新的抽象層次,就不必擔心代碼托管在“哪里”。圖1-1所示是軟件部署發(fā)展歷史的一個縮略圖。

圖1-1 軟件部署發(fā)展歷史

主站蜘蛛池模板: 芦溪县| 锦屏县| 海南省| 永康市| 巴林左旗| 铜山县| 晋州市| 呼伦贝尔市| 怀化市| 尼勒克县| 奉化市| 保康县| 博罗县| 浪卡子县| 高淳县| 钦州市| 徐汇区| 弥勒县| 南昌市| 广丰县| 古交市| 湖口县| 灵武市| 千阳县| 贵阳市| 分宜县| 屏边| 桃园县| 潮州市| 桐柏县| 威远县| 夏邑县| 尼勒克县| 司法| 安吉县| 柳林县| 邳州市| 苍溪县| 曲麻莱县| 丁青县| 常州市|