“云計算”這個詞,相信大家都非常熟悉了。
作為IT行業的熱門技術,它頻繁出現在各大媒體的新聞報道中。BAT這樣的互聯網企業,也經常把它掛在嘴邊。
相信很多人都想學習云計算,跟上技術潮流。如果對云計算有一定了解的話,應該會或多或少地聽到這些名詞——OpenStack、Hypervisor、KVM、Docker、K8S...
01、什么是云計算
在介紹那些古怪名詞之前,我先簡單介紹一下云計算。
以前電腦被發明的時候,還沒有網絡,每個電腦(PC),就是一個單機。
這臺單機,包括CPU、內存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統和應用軟件,完成自己的工作。
后來,有了網絡(Network),單機與單機之間,可以交換信息,協同工作。
再后來,單機性能越來越強,就有了服務器(Server)。人們發現,可以把一些服務器集中起來,放在機房里,然后讓用戶通過網絡,去訪問和使用機房里的計算機資源。
再再后來,小型網絡變成了大型網絡,就有了互聯網(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯網數據中心)。
當越來越多的計算機資源和應用服務(Application,例如看網頁,下電影)被集中起來,就變成了——“云計算(Cloud Computing)”。無數的大型機房,就成了“云端”。
云計算
SaaS: Software-as-a-Service(軟件即服務)
PaaS: Platform-as-a-Service(平臺即服務)
IaaS: Infrastructure-as-a-Service(基礎設施即服務)
再補一張圖,可能更直觀:
目前主流的云計算服務提供商,例如亞馬遜AWS、阿里云、華為云,說白了,都是為大家提供以上三個層次的云資源。你想要什么,它們就提供什么。
繼續,繼續。
02、什么是虛擬化
如果要對物理資源進行管理,第一步,就是“虛擬化”。
虛擬化是云計算的基礎。簡單來說,虛擬化就是在一臺物理服務器上,運行多臺“虛擬服務器”。這種虛擬服務器,也叫虛擬機(VM,Virtual Machine)。
從表面來看,這些虛擬機都是獨立的服務器,但實際上,它們共享物理服務器的CPU、內存、硬件、網卡等資源。
像VMware、KVM、Xen、Virtual 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(基礎設施即服務)。這個不難理解吧?
03、容器VS虛擬機
而大家常聽說的Docker,就是創建容器的工具,是應用容器引擎。
Docker的中文意思,就是碼頭工人。而它的LOGO,就是一只鯨魚背著很多貨柜箱。
相比于傳統的虛擬機,Docker的優勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它占的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。
除了Docker對容器進行創建之外,我們還需要一個工具,對容器進行編排。
這個工具,就是K8S。
K8S,就是Kubernetes,中文意思是舵手或導航員。Kubernetes這個單詞很長,所以大家把中間8個字母縮寫成8,就成了K8S。
-
云計算
+關注
關注
39文章
7849瀏覽量
137893
原文標題:云計算到底是怎么玩的?
文章出處:【微信號:WW_CGQJS,微信公眾號:傳感器技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論