吸引的不止是極客
時間:2022-04-20 17:48:01 | 來源:行業(yè)動態(tài)
時間:2022-04-20 17:48:01 來源:行業(yè)動態(tài)
從表面上看,容器編排是一個只有極客們才會喜歡的話題。但Kubernetes基本上自動化了大規(guī)模設(shè)置和管理軟件容器的整個過程。要了解為什么這一點很重要,將有助于了解你了解軟件開發(fā)的演化歷程。
在商業(yè)計算的前40年發(fā)展過程中,軟件是以單一的方式構(gòu)建的,邏輯、數(shù)據(jù)庫訪問、用戶界面和報告功能都集成到一大塊代碼中。這種方法很慢,且容易出錯,因為單行中如果出現(xiàn)錯誤會導(dǎo)致整個應(yīng)用崩潰。
從20世紀90年代末開始,大多數(shù)軟件開發(fā)開始轉(zhuǎn)向服務(wù)的方式,在這種方式中,應(yīng)用被分解為模塊化的單元,通過網(wǎng)絡(luò)相互通信。由于這種服務(wù)模塊可以并行構(gòu)建,因此加快了開發(fā)的速度,而且服務(wù)是可以復(fù)用和共享的。
但是這種方法也存在很多問題。首先,要管理由數(shù)百或數(shù)千個服務(wù)組成的應(yīng)用幾乎是一件不可能的事情,特別是這些服務(wù)運行在不同的物理和虛擬機上的時候。個別服務(wù)的減速或故障也會影響依賴于這些服務(wù)的其他服務(wù),從而帶來難以預(yù)測的性能問題。與特定操作系統(tǒng)版本和數(shù)據(jù)庫相關(guān)的服務(wù)很難與其他人共享的。
容器解決了服務(wù)中固有的許多問題,至少從開發(fā)人員的角度來看。這些自容器的軟件包中包含了應(yīng)用運行所需的所有內(nèi)容,包括操作系統(tǒng)內(nèi)核、開發(fā)人員工具、庫甚至數(shù)據(jù)庫。在2013年正式開源的Docker平臺,提供了第一個運行軟件容器的一致性平臺,這意味著封裝在容器中的代碼可以在任何支持Docker的平臺上也就是說,所有這些平臺。