新來的工程師在第一天的工作中就將其編寫的新功能部署平臺上,這在Facebook公司中并不罕見。結合其用戶群的增長速度,這種應用開發的速度要求企業數據中心的社交網絡基礎設施團隊更加靈活。Facebook公司加快部署的目標,可以提高其軟件和數據中心的能力。
Facebook公司開發一種搭積木的方法來構建其數據中心,以縮短施工所需的時間,,現在通過開放計算項目進行開源硬件設計的工作,這樣可以減少將新的服務器安裝到機架上的時間。
其中一個Facebook的數據中心團隊的最新項目是壓縮服務器物理安裝在數據中心所花費的時間,也就是從聯機開始到正常運行之間的時間。該項目是從舊版本的動態主機配置協議切換到一個新的版本。
當一個新的設備連接到網絡時,人們使用DHCP配置其所定義的范圍內網絡中所指定的一個IP地址。這在IT基礎設施管理是一個雖然小但是很重要的功能,這在Facebook數據中心部署新服務器的時候,已經證明在部署時間上已有很大的分別。
該代碼為以前版本的DHCP,稱為ISCDHCP(ISC代表互聯網系統協會)已經存在了近20年。新的替代版本,被稱之為KEA,是更適合當今的IT環境、尤其像Facebook這樣的公司,其IT環境與20年前沒有多少相似之處。
根據Facebook公司的一位生產工程師安杰洛 菲爾拉的博客文章可知,Facebook最近在其數據中心從ISCDHCP切換到KEA,作為一個結果可以看到新服務器的速度得到了顯著的提高。
該公司所使用的協議在新服務器上安裝操作系統,并分配IP地址分配給帶外管理接口。這些接口的系統管理者使用遠程監控和管理服務器,不論這些服務器是否被開啟或已安裝的操作系統。
舊的模式對于Facebook公司的規模和變革來說步伐太慢。技術人員在其巨大的數據中心不斷地添加或更換網卡或整個服務器之類的東西,以及每一個變化可能要花上三個小時,減緩了維修進度。
其數據中心在添加或更換部件是如此緩慢,ISCDHCP是其中最主要的原因之一。技術人員會加載一個靜態的配置文件到DHCP服務器,但是這些服務器針對變化將不得不重新啟動。“DHCP服務器重新配置比其實際提供服務的流量還要花費更多的時間。”安杰洛 菲爾拉寫道。
在KEA的幫助下,事先設置存儲信息,例如主機分配和子網在中央庫存系統。當DCHP服務器需要部署或更改時,系統從庫存中查找配置信息。這意味著重新加載DHCP服務器時不再需要生成靜態的配置文件,并使更改生效。
根據菲爾拉的描述,Facebook的新的DHCP應用運行在Tupperware系統上,這是該公司自己的Linux容器技術,它類似于谷歌的博格系統,而博格系統可以非常高效地在谷歌數目眾多的服務器陣列中分配工作。
舊的模型也不太靈活。Facebook公司曾經有兩個冗余的DHCP服務器/服務器集群,但是如果他們都失效了,那么整個集群將遭受重創。
這種新方法就是采用分布在整個網絡的DHCP服務器的虛擬集群。他們管理著IP地址的公共池和任何虛擬的DHCP機,可以分配一個地址給網絡上的任何其它裝置。這種方式如果在集群中的本地DHCP服務器失敗,系統可以更快恢復。
這種新設計在傳播系統的變化時只需要一或兩分鐘,這比舊版本三個小時以上的傳播時間有了顯著地改善。菲爾拉寫道。