有了Mesos,Verizon終于不用再羨慕Google了

jopen 9年前發布 | 7K 次閱讀 Mesos
 

【編者的話】本文主要介紹了電信巨頭Verizon是如何通過使用Mesos和容器技術,將其原來的數據中心變成自動化、高利用率,高運營效率的 現代化數據中心。據稱其數據中心的資源利用率可以提高到50%~60%,并且現場演示了在72秒內部署50000個docker容器,使得應用集群部署的 效率至少提高了一個數量級。

有了Mesos,Verizon終于不用再羨慕Google了

Verizon選擇Mesos技術的來龍去脈

世界上的互聯網巨頭們(Google、非死book)已經在過去的十年中將其基礎構架搭建為統一的整體,并不斷提高其數據中心的運行效率。正是有了這樣的刺激,商業上的創新才會被激發出來。

即使是像Verizon這樣,雖然它的通信和服務器托管部門對于管理海量的服務器、存儲和網絡并不陌生(更不用提保障其運行),也逐漸認識到建造一個更自動化的數據中心比一個更大的要好。

大概一年多以前,我們看到了源自于搜索引擎巨頭Google的大型基礎架構的集群管理工具和容器技術。Verizon Labs作為價值1270億的通信巨頭Verizon的研發中心,并不僅僅是對新的集群管理工具感興趣。Larry Rau,Verizon Labs的技術總監,被公司選出來負責建立一個與時俱進的基礎架構。通過大量的調研和測試,Verizon Labs最終選擇了Mesos集群管理和應用框架,并開始在上面推出和運行多種類型的服務。

電信公司在技術領域是一個保守和激進的綜合體,他們一直都是這樣。因為在互聯網巨頭出現之前,電話通信交換網絡及其計費系統已經承擔了這個星球上 最大的任務量。(這就是為什么C語言編譯器和UNIX操作系統都誕生在AT&T貝爾實驗室)歷史上,電信公司總是對網絡技術過度雕琢,以確保整個 網絡的高可用。這其實占據了大量的資金,并產生了許多閑置——低利用率的計算和存儲資源,最終帶來了整個運營的低效率。為了改變這種現狀,Verizon 選擇了Docker容器技術以及用來管理Docker容器及服務器集群的Mesos技術。

我們最終建立起了一種以Linux為核心,加上由遍布數據中心的普通服務器構成的技術棧。所有這些服務器都大同小異,這樣就可以節約整體的硬件和維護成本。

Rau 在Verizon Labs的新產品小組工作。這個小組的使命就是找出更好的基礎設施架構來支撐Verizon網絡上的數以萬計的工作任務。在智能手機和平板電腦的時代,電 信公司不再僅僅是提供語音和數據服務,他們還提供面向用戶的應用托管業務,以及一些Verizon內部服務——用來管理用戶和他們托管的應用。正如你所預 料的,這些應用的重要性一點都不比傳統的通信業務差。Rau告訴我們,Verizon需要像其他那些互聯網巨頭一樣動態的去縮放他們的一些應用,所以基礎 架構必須要做出改變了。

Rau說到"我發現我們現在的做法還是很傳統的電信運營商做法:你創建一個應用,估算其規模,申請一堆的服務器,在數據中心找一個地方,花費大量 的時間把這個應用安裝部署好。并且每次更新這個應用時,你都會遇到一堆的問題和麻煩。我們認為我們現在必須改變這些做法了,我們需要更快速的行動,自動調 整容量,降低我們的運營成本,并增加我們整體的系統投資回報率,而不是運行著一個個的計算資源孤島"

這些經驗教訓是每一個數據中心管理員最終都會領悟到的,但這并不意味著我們找一個更好的集群管理工具就夠了。就算是Mesos,或者 Mesosphere所說的數據中心操作系統這樣,在一個集群里以一種安全的方式運行多個工作任務,也還是不夠的。一旦你開始考慮如何管理應用,你就需要 考慮如何提供隔離能力,如何進行軟件打包,如何為這些應用分配資源,這個時候你就需要容器技術了。

"我們沿著這個思路,最終發現我們必須把整個數據中心作為一個整體的硬件資源池來看" Rau說 " 我們希望部署應用后,系統會自動找到合適的地方來運行這些應用,這個概念就是將整個數據中心當做一臺電腦來看。這使得我們繼續思考,我們到底想如何構建我 們的應用呢?對就是使用容器技術。我們希望通過容器來構建我們的應用,并將其直接運行在我們的裸機硬件資源上。這些因為是Verizon內部數據中心上運 行的自有應用,我們并不需要像公有云一樣使用虛擬化技術來提供一些多租戶環境。對這些做智能管理的需求將我們引到了Apache Mesos這個開源技術。我們最終建立起了一種以Linux為核心,由普通服務器組成的數據中心。這樣就可以節約整體的硬件和維護成本。"

Verizon 最終打造的系統就好像Google創建的Borg集群系統一樣。Google在十年前就開始在他們自己的Linux操作系統上部署容器了,并通過Borg來管理這些容器。

"我們想做的就是一個類似Google的模式。像Google一樣建設基礎設施架構,創建自己的系統,并讓開發者將自己的應用部署在這些系統 上。" Rau 說到 "最終我們就是建立了一個資源池,并將這個資源池作為一個整體來看待。同時也可以讓我們更快的去部署應用。我們不用再去關心硬件或數據中心的機柜了。我們 開發一個應用,運行它就可以了。我們可以做更多的創新,嘗試更多的東西,并讓部署更快一些。能做到這些,完全是因為你再不需要去做一個18個月的項目,花 費大量的資金,僅僅是推出這個應用或服務,并猜測它是如何運作的。現在我們僅僅需要嘗試一個服務,看它是如何發展的,并根據其發展情況,再通過平臺擴展這 個應用。一旦我們我們部署并運行一個應用,我們也可以很快的去更新它。"

Verizon 能節省多少時間和金錢?

就像你猜到的一樣,Verizon 不會透露使用Mesos和Docker技術將會獲得多大的預期收益。不過Rau表示,根據一些傳聞和使用類似平臺的人所說的情況來看,效果會是非常顯著的。

硬件方面Verizon會節省大量的成本。現在應用部署的方式是這樣的,業務線想要推出一些新的服務,需要先做一個三年期的計劃,并盡其所能的猜 測他們的業務峰值是在什么時間點,因什么而起的。因為是電信級業務,你必須為這個應用建立冗余的基礎架構。更進一步,還需要建立基于地理位置的冗余架構, 從而讓這個應用能夠達到5個9的高可用性。這就意味著Verizon需要在一個服務剛剛推出時就購買大量的硬件,以便支撐未來這個業務有可能達到的規模。 我們猜想,Google在90年代到00年代爆發式增長期間,也同樣遇到了這些問題,并在交了這些學費后,最終創造出了LXC容器和Borg系統。

"當Verizon推出一個新業務時,因為我們有集群閑置資源,我們就不需要立即給這個新業務一個三年預期規模的相關資源。這可以讓我們根據所有 應用的運營情況來增加我們的硬件投入,我們可以按季度擴展我們的集群規模。這種方法還可以使我們的計劃更具體和有效。這是因為我們可以參考集群的歷史數 據,看我們具體有哪些應用上云,或者從云上下線了,從而將硬件采購做的更好,更加合理。"

最終我們就是建立了一個資源池,并將它作為一個整體來看待,同時也可以讓我們更快的去部署應用。我們不用再去關心硬件或數據中心的機柜了。我們開 發一個應用,然后運行它就可以了。我們可以做更多的創新,嘗試更多的東西,并讓部署更快一些。而不再需要去做一個18個月的項目,花費大量的資金,僅僅是 推出這個應用或服務,并猜測它是如何運作的。

這正是Google們所做的事情。為成百上千個單獨運行在獨立的主機或小集群上的協調分配資源是非常困難的,與其相比,將大量的任務在一個集群里 面協調資源就要容易的多了。此外,提高一個大規模集群的資源利用率要比提高好幾個小規模集群的資源利用率要容易的多。這就是Google他們學到的教訓, 這也就是為什么他們盡可能的使用同樣的硬件和軟件的構建集群的原因。

雖然人們不討論其具體細節,我們知道企業級數據中心的服務器資源利用率一般是在10%~20%之間。通過使用虛擬化技術和容器技術,公司可以將不同的多個工作任務運行在同一個機器上,這樣就有可能將服務器的資源利用率提高到50%~60%。Rau說這是他們跑出來的數字。

Mesosphere聲稱DCOS可以將整個集群的資源利用率提高2~3倍,一些情況下甚至可以提高5倍。當你運行著數萬臺,甚至數十萬臺服務器 時,這些就是驚人的數字了。這意味著公司可以部署更多的基礎設施來提高其應用的底層資源,并且規范服務器的類型和規格。另外,Mesos最終可以具備超購 的能力,可以將資源利用率提升的更高。感謝Quasar項目。這意味著一些客戶甚至可以在不給集群帶來太多問題的情況下,將資源利用率提升至 75%~80%。

Lau沒有透露Verizon的硬件計劃,但他表示他們的目標是效仿互聯網巨頭并得到由"廉價的、單一的硬件設備組成的數據中心" 。這并不意味著我們必須讓服務器、存儲和交換機都遵循由非死book在五年前建立的 Open Compute Project。好比是服務器廠商專門為Google們所設計的產品,Dell期望通過上周宣布的“可擴展的數據中心解決方案部門”來將這些定制硬件賣給 類似Verizon這樣的客戶。雖然Mesos已經部署在了一些已有的機器上,但Verizon的想法是在新的硬件上為新任務建立Mesos集群。過幾年 老的系統從原有硬件集群上退役后,這些硬件集群將被升級,最終Mesos將接管一切。

采用Mesos技術不僅僅是節約了硬件資源,也同時節約了大量的時間。最近在西雅圖召開的MesosCon上,Verizon像大家展示了他們是 如何在72秒內創建50000個Docker容器。(數人科技在infoQ主辦的容器大會上,演示了如何在數人云上在數十秒內啟動運行10000個 Docker容器)Verizon相信這樣的速度,自動化管理容器和底層集群,可以讓應用部署的速度提高一個數量級。

Verizon計劃今年就在其Mesos集群上運行一些服務。第一批將被遷移到Mesos集群上的服務包括無線網絡支撐系統和一些移動應用的后 臺,以及FiOS網絡支撐系統(光纖到戶)。Mesos也將用來支持IoT服務,包括多媒體服務、視頻流媒體服務等等。Verizon還計劃將其 Hadoop和Spark分析任務從他們的專屬集群上遷移到Mesos集群。

Verizon的具體容器技術選型

系統采用的容器技術,Verizon預計會選擇Docker,而不是Kubernetes(Google開源)的Podding方案。 Verizon計劃采用Mesos自帶的容器功能和Docker Daemons 來管理用容器進行打包部署的應用軟件。Verizon也查看了CoreOS和rkt容器,以及它的Tectonic 容器管理系統(基于Kubernetes)。Verizon可能也會在某些場景下使用rkt容器,甚至是Linux的LXC容器。

"容器技術是非常成熟的,他已經存在了很長時間,Docker讓容器技術更加易用了。我認為打包的形式讓你可以將應用作為一個整體來看待" Rau 在談Docker格式的容器技術 "Mesos有其自己的容器,他可以使用Linux容器,他們的namespaces,和contral groups 并與Docker守護進程通信,發布任務,這就是我們現在所做的方式。我并不是說我們會僅僅只使用Docker,但事實上Docker鏡像格式和標準,已 經成為了關鍵性的組件"

另外,Kubernetes可以作為一個框架運行在Mesos之上,所以Verizon如果需要的話,也有可能使用Kubernetes。

原文鏈接:

Verizon Satisfies Google Envy With Mesos (翻譯:郭卿)

============================================

譯者:

郭卿,數人科技市場負責人,畢業于北京理工大學計算機系。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!