自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

虛擬化簡史,理解Docker,虛擬機(jī)原理

云計(jì)算 虛擬化
在早期,一臺物理機(jī)上通常只運(yùn)行一個操作系統(tǒng),并且大多數(shù)應(yīng)用程序(像數(shù)據(jù)庫、web 服務(wù)器和網(wǎng)站)通常只用來解決用戶的一個需求。

 在早期,一臺物理機(jī)上通常只運(yùn)行一個操作系統(tǒng),并且大多數(shù)應(yīng)用程序(像數(shù)據(jù)庫、web 服務(wù)器和網(wǎng)站)通常只用來解決用戶的一個需求。

[[275028]]

這意味著當(dāng)需要部署 pet.com 和 food.com 兩個應(yīng)用時,常見的做法就是使用兩臺物理機(jī),在每臺物理機(jī)上單獨(dú)部署一套數(shù)據(jù)庫,web 服務(wù)器和網(wǎng)站。 

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

當(dāng)請求負(fù)載增加時,需要通過加入新的物理機(jī)來實(shí)現(xiàn)應(yīng)用程序的水平擴(kuò)容。總的來說,用戶應(yīng)用和物理機(jī)保持著一一對應(yīng)的關(guān)系。

使用這種擴(kuò)容方式,可能需要花費(fèi)幾天的時間等待新的機(jī)器就緒,才能部署新的應(yīng)用。并且為了扛住高峰時的請求壓力,通常都會使用過量的物理機(jī)來部署應(yīng)用,這導(dǎo)致整體的資源利用率不高。簡而言之,在那時提供互聯(lián)網(wǎng)服務(wù)需要付出高昂的成本。

應(yīng)用虛擬化(如:Virual Host)

為了解決應(yīng)用程序和物理機(jī)只能一一對應(yīng)的問題, web 服務(wù)器和數(shù)據(jù)庫這樣的基礎(chǔ)層應(yīng)用,開始提供邏輯隔離功能,即允許在一個基礎(chǔ)層上同時支撐多個用戶應(yīng)用。在 web 服務(wù)器世界中,這稱為虛擬主機(jī)(virtual hosts),一個 web 服務(wù)器可以基于域名為多個網(wǎng)站提供服務(wù)。而在數(shù)據(jù)庫領(lǐng)域中,單個數(shù)據(jù)庫服務(wù)可以提供完全隔離的多個邏輯數(shù)據(jù)庫。

基于應(yīng)用虛擬化技術(shù),可以將幾個邏輯上隔離的用戶應(yīng)用部署在同一臺物理機(jī)上。

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

趣聞:在 90年代末,Apache 正是依靠虛擬主機(jī)功能擊敗了網(wǎng)景的Netscape Enterprise Server,占據(jù)了 web 網(wǎng)站服務(wù)市場。

與單應(yīng)用單物理機(jī)模型一樣,當(dāng)請求負(fù)載增加時,仍然需要新加入多臺物理機(jī)來實(shí)現(xiàn)水平擴(kuò)容,但是現(xiàn)在能夠在一臺物理機(jī)上部署多個用戶應(yīng)用。

同時,一些應(yīng)用程序如數(shù)據(jù)庫,也開始嘗試使用集群功能來實(shí)現(xiàn)更高級的水平擴(kuò)展能力。雖然這些技術(shù)提高了資源利用率,但也顯著地增加了程序架構(gòu)和部署的復(fù)雜度。對于開發(fā)人員來說,此時部署和擴(kuò)容一個應(yīng)用程序有些過于復(fù)雜了。

換句話說,那時的互聯(lián)網(wǎng)服務(wù)是復(fù)雜并且脆弱的。

虛擬機(jī)

隨著 Linux 在服務(wù)器領(lǐng)域越來越流行,操作系統(tǒng)虛擬化也逐漸發(fā)展起來,它允許在一臺物理機(jī)上同時運(yùn)行多個操作系統(tǒng)。在這種新的模型下,一臺物理機(jī)上的每個應(yīng)用程序都可以擁有自己的操作系統(tǒng)和運(yùn)行環(huán)境。 

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

注:從技術(shù)層面講,虛擬機(jī)技術(shù)是由 IBM 在 60 年代開創(chuàng)的;但是可以公平地說 Linux(和 Windows,在某些方面)普及了操作系統(tǒng)虛擬化的概念。

這個新模型不僅最大化的提升了資源利用率,而且通過邏輯上的隔離顯著地簡化了應(yīng)用程序架構(gòu)。但是虛擬機(jī)時代最具革命性的結(jié)果,是以 AWS 為主導(dǎo)的云計(jì)算業(yè)務(wù)。

有了這項(xiàng)新的服務(wù),開發(fā)人員就可以專注于他們最了解的東西:軟件。讓少數(shù)的硬件和網(wǎng)絡(luò)專家負(fù)責(zé)構(gòu)建和擴(kuò)展支撐軟件運(yùn)行的基礎(chǔ)設(shè)施。

隨著軟件基礎(chǔ)設(shè)施變得越來越復(fù)雜,應(yīng)用程序也開始逐漸從傳統(tǒng)的三層單體架構(gòu)轉(zhuǎn)向微服務(wù)架構(gòu)。此時,如何設(shè)計(jì),部署和管理一套可擴(kuò)展的微服務(wù)系統(tǒng)變得相對復(fù)雜,并且與高度依賴于底層的云計(jì)算基礎(chǔ)設(shè)施。

容器

后來,人們使用了一個相當(dāng)古老的Linux功能,把進(jìn)程“裝箱”到了一個操作系統(tǒng)不同的資源子集當(dāng)中,于是,虛擬化的下一個篇章——容器化——誕生了。容器技術(shù)的快速發(fā)展主要是由現(xiàn)在無處不在的 Docker 容器引領(lǐng)的。

使用容器化技術(shù), 現(xiàn)在僅需要幾秒鐘就可以完成在物理機(jī)時代需要幾天時間,在虛擬機(jī)時代需要幾分鐘的工作,并且只占用很少的硬件資源。

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

雖然容器化技術(shù)顯著的改善了服務(wù)粒度,提高了資源利用率,優(yōu)化了復(fù)雜應(yīng)用的軟件架構(gòu)并且實(shí)現(xiàn)了開發(fā)和生產(chǎn)環(huán)境的運(yùn)行時統(tǒng)一。但是隨著大量新功能的引入,也帶來了服務(wù)部署和管理復(fù)雜度的挑戰(zhàn)。服務(wù)擴(kuò)容仍然需要依賴云計(jì)算廠商提供的特定方法來擴(kuò)容底層的虛擬機(jī)。何時創(chuàng)建容器,將容器部署在何處也是非常復(fù)雜的問題。

毫無疑問,容器化技術(shù)是有用的,但是似乎需要其他技術(shù)來輔助實(shí)現(xiàn)它真正的價值。

Kubernetes

Kubernetes 由此誕生并解決了容器化技術(shù)面臨的問題。Kubernetes 是基于容器的服務(wù),提供了一種標(biāo)準(zhǔn)的、環(huán)境無關(guān)的方式來描述、管理和運(yùn)行一個完整的可擴(kuò)展的大型系統(tǒng)。

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

在此之前,服務(wù)的開發(fā)環(huán)境、預(yù)生產(chǎn)環(huán)境和生產(chǎn)環(huán)境都有著很大的不同。Kubernetes 使用新的方式能夠以簡單、規(guī)范的形式描述、運(yùn)行一個可擴(kuò)展的大型完整系統(tǒng),極大地降低了構(gòu)建和管理微服務(wù)系統(tǒng)的成本。

需要注意的是,這些重要的技術(shù)里程碑都是通過不斷的演化和相互疊加而來的,并且通常是配合使用的。從技術(shù)的角度上看,技術(shù)革命更多地產(chǎn)生于進(jìn)化,而不是破壞性顛覆。比如,容器通常運(yùn)行在虛擬機(jī)上,虛擬機(jī)需要運(yùn)行在操作系統(tǒng)上,而操作系統(tǒng)運(yùn)行在物理機(jī)上。

總結(jié)一下,我們可以看到虛擬化技術(shù)是如何演進(jìn)的。

小白科普:虛擬化簡史,理解Docker,虛擬機(jī)原理

雖然從技術(shù)角度上看, Kubernetes 是基于之前的技術(shù)演化而來,并非顛覆性的新技術(shù),但是它卻在商業(yè)角度上產(chǎn)生了革命性的價值。

我通常會很謹(jǐn)慎的對待各種新技術(shù),因?yàn)榇蠖鄶?shù)時候它們只是曇花一現(xiàn)。但是 Kubernetes 就像 Linux,虛擬機(jī)和 Git 曾經(jīng)在他們各自領(lǐng)域一樣,正在逐漸成為一項(xiàng)穩(wěn)固的基礎(chǔ)性技術(shù)。

簡而言之,Kubernetes 可能是目前所有云應(yīng)用程序開發(fā)組織能夠做出的最安全的投資,如果應(yīng)用得當(dāng),可以顯著提高應(yīng)用開發(fā)和交付的速度和質(zhì)量。

 

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2010-07-26 09:02:38

2012-05-18 10:22:23

2012-11-14 09:57:46

JavaJava虛擬機(jī)JVM

2009-08-18 22:06:59

VMware虛擬機(jī)軟件

2013-07-17 09:32:58

2015-08-20 14:29:38

Docker虛擬機(jī)

2024-03-26 07:30:07

Java虛擬機(jī)源文件

2016-09-01 12:37:13

OpenStack虛擬機(jī)Metadata

2015-08-20 10:31:55

DockerLinux開源

2017-05-31 14:52:53

虛擬機(jī)Docker容器

2019-07-24 16:04:47

Java虛擬機(jī)并發(fā)

2024-03-29 11:42:21

Java虛擬機(jī)

2015-07-15 11:46:52

Docker云服務(wù)虛擬機(jī)

2017-03-21 15:30:02

虛擬機(jī)DockerHyper

2020-04-05 11:01:03

虛擬機(jī)備份組網(wǎng)

2020-01-17 10:52:37

無服務(wù)器容器技術(shù)

2023-09-03 17:05:20

虛擬機(jī)

2012-04-10 10:29:29

2014-02-21 11:20:34

KVMXen虛擬機(jī)

2017-03-02 09:49:38

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號