很多人聽說過云計算,這已經不算新名詞了。還有一個詞叫虛擬化,它是云計算的奠基了。本文嘗試用通俗易懂的方式,講述OpenStack是什么。
OpenStack是什么?
OpenStack是云計算管理的工具,就像k8s之于Docker。OpenStack對服務器的虛擬化依然是調用底層操作系統的虛擬化接口(hypervisor),其重點在于管理,關注的是對虛擬機的管理。
可以說,OpenStack是一款開源的虛擬機管理軟件,既然對虛擬機管理,那么虛擬機需要的資源,比如CPU/內存/磁盤/網絡/鏡像等都在其功能范圍內,還有為了保障虛機的安全做的鑒權/快照/遷移等服務(組件)。
為什么要用OpenStack
1. 云計算的趨勢
云計算的一個本質就是把物理設備虛擬化,通俗的講就是在物理機上部署虛擬機。為什么要使用虛擬機?首先,現在的服務器CPU內存多得不行,比如一臺服務器就128核1T的RAM,每個業務都使用物理機簡直是浪費。其次,機房的建設周期長,成本高,比如你公司今天要建個網站,你就要下訂單買服務器、找機房托管、機房給你施工布線、服務器初始化。。。簡直把人煩死。最后,虛擬機容易定制化,想要多少內存要多少臺鼠標點一點就出來了。既然虛擬機這么重要,那么就要有管理軟件吧。
2. 方便對虛擬機的管理
我們自己在PC上折騰的虛擬機,一般都是用虛擬機軟件,比如VirtualBox/VMware,甚至有用Hyper-V, 從而能夠在windows體驗linux操作系統甚至macOS操作系統。回憶一下,你創建虛擬機是不是一臺一臺的創建,還需要規劃分配多少CPU多少內存多少硬盤的。那么想象一下,在一個數據中心,一次要創建100臺虛擬機,你怎么辦?這時候虛擬機管理軟件應運而生。批量生成虛擬機的軟件統稱MANO,即操作維護平臺。后續有機會將展示如何使用MANO創建虛機。有興趣可以關注我。
3. 開源、免費
我們也知道市面上云平臺管理軟件應該很多,但是為什么要使用OpenStack呢?因為“免費”,是真的免費。任何人可以從網上下載到OpenStack的軟件,然后安裝使用,比如我前面一篇文章寫的。實際上,國內的大部分云計算平臺都是使用OpenStack為基礎改造優化的,比如華為的FusionSphere 、騰訊的TStack云平臺、華三的云操作系統等,國內的涉及云計算的大廠,大都是OpenStack的基金會的會員。我這里說大廠使用開源的東西,并不代表這些云廠家不厲害,實際上,OpenStack從開源版本到可商用的穩定版本,需要花費企業大量的人力去改造,包括代碼、架構、邏輯和UI的優化,我們現在使用公有云業務的時候,看不到界面上有太多OpenStack的風格,這是UI經過了重構。畢竟OpenStack的Dashboard(就是OpenStack管理界面)還是有很多可優化的地方。

華為FusionSphere官網
4. 和AWS兼容
OpenStack可以說一直是AWS的追隨者。AWS就是亞馬遜云平臺。AWS的設計思路、功能都極大促進的OpenStack的發展(說得好聽的叫借鑒,不好聽的叫抄,軟件設計上畢竟idea想法最重要)。因為追隨AWS,很多開發者有意兼容AWS的API接口。所以很多組件可以直接對接AWS,