閒聊雲服務計算技術–OpenStack

ForestXie發表於2019-02-28

這個話題是我一直想寫的內容,畢竟裡面包含了我一部分青春在裡面,還是要簡單紀念一下的。由於雲服務的技術發展實在是太快,所以要寫完所有自己接觸過的相關內容單靠1,2篇文章,會顯得篇幅過長了,所以準備依靠一個系列來完成所有內容。

與雲服務結緣

在2012年開始,我開始和團隊搭建ECG自己的Selenium Grid的叢集(這裡面也可以寫蠻多內容的,我自己用Perl做的第一個實際專案,未來有機會介紹給大家),最先我們是採用的VMware workstation來生成和管理我們的VM,當時機房在歐洲的Amsterdam, 坦白的說,用起來還是不錯的。不過呢,隨著我們有更多的美洲專案,在歐洲機房來跑服務,速度上有一些力不從心了。所以開始準備找新的解決方案。

13年的時候 ,雲端計算其實已經非常火了,正在不斷地改變傳統IDC的結構,逐步取代以昂貴硬體為中心的資料中心,重新定義了計算、儲存以及網路。我也開始試用一些AWS的公有云服務(儘管在國內用得並不方便),將自己的一些應用服務放在上面,甚至我們也在利用AWS提供的服務來做持續整合釋出。不得不說,雲服務尤其是IaaS層,AWS是最領先的,基本已經成為了行業的標準,所以國內的很多雲產商都是從“模仿”AWS開始的。但AWS畢竟是公有云,即便AWS技術先進,但並不開源,只能用它的服務,不能構建自己的私有云。所以對於一些大公司而言,考慮安全性,他們更願意建設自己的私有云,把東西放在自己的硬體上,使用自己的私有網路。

進入OpenStack

之前不是說,AWS不開源嗎?這可好,Open Stack就是模仿AWS做出的一套開源架構,正如當年Google的三駕馬車 GFS, MapReduce, Bigtable, 對應開源社群做出了hdfs, Hadoop和HBase的感覺。

Open Stack通過將異構的物理資源抽象成統一的虛擬資源池,然後根據使用者的需求再進行靈活的虛擬資源分配,為使用者提供虛擬資源服務,即提供IaaS服務,其目的是為了提高資源利用率。其底層的核心技術有:虛擬化技術,實現資源抽象;資源動態排程技術,高效分配虛擬資源;高速網路通訊技術,實現使用者與雲平臺的順暢互動;安全技術。

Openstack的出現,終於讓我們看到了曙光,有一個開源的雲基礎資源管理平臺專案,各家企業能夠利用Openstack快速構建自己的私有云, 那時候,各大私有云廠商都會考慮Openstack,比如國內的華為,為OpenStack還是貢獻了很多很多程式碼的,正是越來越多的企業客戶對私有云的需求,推進了Open Stack社群的發展。

作為網際網路的元老企業,eBay在這一塊還是肯投入的,所以基本從13年開始,內部已經在推Open Stack了,也逐步推出了自身的基於Open Stack的私有云服務。也利用這個機會,結識了一些eBay當時做OpenStack的牛人們。 記得內部推出私有云後,我們也將Selenium Grid叢集搬到上面來,雖然過程中也有很多坑,但是解決了我前面提到的地域訪問問題,畢竟機器在美國,還是比從歐洲走快不少的。

Open Stack目前的問題

雖然我前面花了幾大段吹了吹Open Stack,但是實際上如果要將Open Stack搬進來自己玩,放在生產環境上用,還是有很多技術挑戰要解決的,比如高可用CAP方案,系統監控,故障隔離,快速部署等等,這些都沒有現成的方案,需要自己二次開發使用。

下集預告

Open Stack解決了基於虛擬機器的虛擬化,但在實際使用場景中,我們使用虛擬化技術其實是為了按需分配資源來完成服務的部署和使用,同時對服務所依賴的環境進行隔離,不被其它服務感知或干擾。為什麼不考慮讓多個虛擬機器公用一個作業系統核心,只隔離開服務執行環境同時控制服務使用的系統資源呢?基於容器的虛擬化就是這樣一種技術,所以在下一篇,我會來和大家聊聊這塊技術實現的代表- Docker。

掃描二維碼或手動搜尋微信公眾號【架構棧】: ForestNotes

歡迎轉載,帶上以下二維碼即可

閒聊雲服務計算技術–OpenStack

相關文章