"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


看懂雲計算、虛擬化和容器,這一篇就夠啦


虛擬化 VS 容器


而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一隻鯨魚揹著很多貨櫃箱。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


看懂雲計算、虛擬化和容器,這一篇就夠啦


虛擬化 VS 容器


而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一隻鯨魚揹著很多貨櫃箱。


看懂雲計算、虛擬化和容器,這一篇就夠啦


相比於傳統的虛擬機,Docker的優勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它佔的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


看懂雲計算、虛擬化和容器,這一篇就夠啦


虛擬化 VS 容器


而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一隻鯨魚揹著很多貨櫃箱。


看懂雲計算、虛擬化和容器,這一篇就夠啦


相比於傳統的虛擬機,Docker的優勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它佔的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。


看懂雲計算、虛擬化和容器,這一篇就夠啦


除了Docker對容器進行創建之外,我們還需要一個工具,對容器進行編排

這個工具,就是K8S

K8S,就是Kubernetes,中文意思是舵手或導航員。Kubernetes這個單詞很長,所以大家把中間8個字母縮寫成8,就成了K8S。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


看懂雲計算、虛擬化和容器,這一篇就夠啦


虛擬化 VS 容器


而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一隻鯨魚揹著很多貨櫃箱。


看懂雲計算、虛擬化和容器,這一篇就夠啦


相比於傳統的虛擬機,Docker的優勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它佔的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。


看懂雲計算、虛擬化和容器,這一篇就夠啦


除了Docker對容器進行創建之外,我們還需要一個工具,對容器進行編排

這個工具,就是K8S

K8S,就是Kubernetes,中文意思是舵手或導航員。Kubernetes這個單詞很長,所以大家把中間8個字母縮寫成8,就成了K8S。


看懂雲計算、虛擬化和容器,這一篇就夠啦



K8S是一個容器集群管理系統,主要職責是容器編排(Container Orchestration)——啟動容器,自動化部署、擴展和管理容器應用,還有回收容器。

簡單來說,K8S有點像容器的保姆。它負責管理容器在哪個機器上運行,監控容器是否存在問題,控制容器和外界的通信,等等。

通過下面這張K8S系統結構圖,就能夠看出K8S和容器之間的關係。


"

“雲計算”這個詞,相信大家都非常熟悉。

作為信息科技發展的主流趨勢,它頻繁地出現在我們的眼前。伴隨它一起出現的,還有這些概念名詞——OpenStack、Hypervisor、KVM、Docker、K8S...


看懂雲計算、虛擬化和容器,這一篇就夠啦



這些名詞概念,全部都屬於雲計算技術領域的範疇。

對於初學者來說,理解這些概念的具體含義並不是一件容易的事情。

所以,今天這篇文章,將給大家做一個通俗易懂的介紹,解釋這些雲計算概念以及它們之間的關係,希望對大家入門有所幫助。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是雲計算

看懂雲計算、虛擬化和容器,這一篇就夠啦


在介紹那些古怪名詞之前,我先介紹一下雲計算

以前電腦被髮明的時候,還沒有網絡,每個電腦(PC),就是一個單機。


看懂雲計算、虛擬化和容器,這一篇就夠啦


這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。

後來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再後來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房裡,然後讓用戶通過網絡,去訪問和使用機房裡的計算機資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



再再後來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)

當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“雲計算(Cloud Computing)”。無數的大型機房,就成了“雲端”。


看懂雲計算、虛擬化和容器,這一篇就夠啦


雲計算


是不是覺得太簡單?別急,開始深入。

雲計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網絡上。但是,雲計算的實現方式,就非常複雜了。

舉個例子,如果你只是在公司小機房擺了一個服務器,開個FTP下載服務,然後用於幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節,全球幾十億用戶訪問阿里巴巴的淘寶網站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網線幾臺服務器能解決的了。

這時,需要設計一個超大容量、超高併發(同時訪問)、超快速度、超強安全的雲計算系統,才能滿足業務平穩運行的要求。

這才是雲計算的複雜之處。

剛才說了,我們把計算機資源放在雲端。這個計算機資源,實際上分為好幾種層次:

第一層次

是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網卡(網絡資源)等。

第二層次

要高級一些,我不打算直接使用CPU、硬盤、網卡,我希望你把操作系統(例如Windows、Linux)裝好,把數據庫軟件裝好,我再來使用。

第三層次

更高級一些,你不但要裝好操作系統這些基本的,還要把具體的應用軟件裝好,例如FTP服務端軟件、在線視頻服務端軟件等,我可以直接使用服務。


這三種層次,就是大家經常聽到的IaaSPaasSaaS


看懂雲計算、虛擬化和容器,這一篇就夠啦


SaaS: Software-as-a-Service(軟件即服務)

PaaS: Platform-as-a-Service(平臺即服務)

IaaS: Infrastructure-as-a-Service(基礎設施即服務)


再補一張圖,可能更直觀:


看懂雲計算、虛擬化和容器,這一篇就夠啦



目前主流的雲計算服務提供商,例如亞馬遜AWS、阿里雲、華為雲、天翼雲、騰訊雲,說白了,都是為大家提供以上三個層次的雲資源。你想要什麼,它們就提供什麼。你想要多少,它們就提供多少。


繼續,繼續。

這麼多樣化多層次的雲計算服務,阿里、華為們又是怎麼提供的呢?

難道說,是人工安排?——

如果你要八核CPU、16GB內存、500GB硬盤的服務器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統),MySQL 5.5.60(一種數據庫系統),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

於是,就有了各種軟件和平臺,負責對資源進行快速調用和集中管理。

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是虛擬化

看懂雲計算、虛擬化和容器,這一篇就夠啦


如果要對物理資源進行管理,第一步,就是“虛擬化”

虛擬化是雲計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)

從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。


看懂雲計算、虛擬化和容器,這一篇就夠啦



物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的 Hypervisor

Hypervisor,漢譯過來是“超級監督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監視器)。它不是一款具體的軟件,而是一類軟件的統稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(例如Linux或Windows),然後在正常操作系統上安裝hypervisor,生成和管理虛擬機。


看懂雲計算、虛擬化和容器,這一篇就夠啦



VMwareKVMXenVirtual Box,都屬於Hypervisor。

VMware大家應該很熟悉,就是VMware Workstation。學習Linux的話,很多人都是在windows系統下安裝WMware,然後創建Linux虛擬機。

看懂雲計算、虛擬化和容器,這一篇就夠啦


但是,真正厲害的,是 KVM(kernel-based virtual machine,基於Linux內核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。


看懂雲計算、虛擬化和容器,這一篇就夠啦


KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互並不良好,不方便使用。

於是,為了更好地管理虛擬機,就需要OpenStack這樣的雲管理平臺。


看懂雲計算、虛擬化和容器,這一篇就夠啦



關於OpenStack,它有點像個商店,負責管理商品(計算資源、存儲資源、網絡資源等),賣給用戶,但它本身不製造商品(不具備虛擬化能力),它的商品,來自於KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

看懂雲計算、虛擬化和容器,這一篇就夠啦


OpenStack的管理界面,比命令行好多了吧?


請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬於IaaS(基礎設施即服務)。這個不難理解吧?

看懂雲計算、虛擬化和容器,這一篇就夠啦

什麼是容器

看懂雲計算、虛擬化和容器,這一篇就夠啦


那麼,容器是什麼呢?大佬們經常說的Docker和K8S,又是什麼呢?

前面我們介紹了虛擬化。人們在使用虛擬化一段時間後,發現它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較複雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務程序,就要遷移整個虛擬機。顯然,遷移過程也會很複雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”

容器也是虛擬化,但是屬於“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創造“隔離環境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統級別的資源隔離,而容器本質上是進程級的資源隔離。


看懂雲計算、虛擬化和容器,這一篇就夠啦


虛擬化 VS 容器


而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一隻鯨魚揹著很多貨櫃箱。


看懂雲計算、虛擬化和容器,這一篇就夠啦


相比於傳統的虛擬機,Docker的優勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它佔的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。


看懂雲計算、虛擬化和容器,這一篇就夠啦


除了Docker對容器進行創建之外,我們還需要一個工具,對容器進行編排

這個工具,就是K8S

K8S,就是Kubernetes,中文意思是舵手或導航員。Kubernetes這個單詞很長,所以大家把中間8個字母縮寫成8,就成了K8S。


看懂雲計算、虛擬化和容器,這一篇就夠啦



K8S是一個容器集群管理系統,主要職責是容器編排(Container Orchestration)——啟動容器,自動化部署、擴展和管理容器應用,還有回收容器。

簡單來說,K8S有點像容器的保姆。它負責管理容器在哪個機器上運行,監控容器是否存在問題,控制容器和外界的通信,等等。

通過下面這張K8S系統結構圖,就能夠看出K8S和容器之間的關係。


看懂雲計算、虛擬化和容器,這一篇就夠啦



除了K8S之外,還有很多種容器管理平臺,例如ComposeMarathonSwarmMesos等。

Docker和K8S,關注的不再是基礎設施和物理資源,而是應用層,所以,就屬於PaaS。明白了吧?

好啦,今天就先到這裡了。再說下去,估計很多人又要暈啦。

正如文章開頭所說,今天主要是介紹KVM、Hypervisor、OpenStack、Docker、K8S這些名詞的意思,它們在雲計算系統中的位置,以及它們之間的關係。雲計算涉及到大量的需求。同一個需求,會有很多不同的技術來實現。同一個技術,往往又有多個不同的廠家互相競爭。所以,概念和名詞就會特別多,發展變化也會很快。

不管怎麼說,梳理清楚最關鍵的名詞概念,是學好雲計算的第一步。(來源:鮮棗課堂)

"

相關推薦

推薦中...