當前數據中心TCO成本構成中,服務器及機櫃成本是最大成本,約占總成本的54%左右,排在第二位的是供電和制冷,約占21%左右,從中可以看到,服務器成本優化對整個運營成本控制是有關鍵作用。
當前服務器發展趨勢是大規模(高密度、定制化)、更低功耗、更高性能,各大公司主要與OEM廠商合作,根據各家公司業務類型進行定制,定制過程對外堅持多品牌,去差異化,對內屏蔽品牌信息,套餐化。基於硬件的定制並結合服務器分類、分級、分層達到成本的優化有以下幾點分享如下:
服務器分類
互聯網公司都有多個產品線,例如騰訊、百度都有近百個產品線,每個產品線又分產品,每個產品又對應不同的硬件和網絡,這些產品重要程度和規模各不相同,需要選擇對應的類型的服務器硬件,如圖11-1所示,以免造成資源閒置和浪費,通常會將服務器分類如下。
1、接入型服務器,主要用於WEB接入服務器,I/O密集型並且CPU處理少,這一類屬於低成本服務器,要以為單電源模塊和擴展插槽、無熱插拔、無RAID等,可以根據CPU、內存、SSD、硬盤等再進行2~3種分類,也可以使用高密度服務器,例如一U兩機、二U四機,密度提升50%,功耗減少15%,機架租用成本減少一半。
2、均衡型服務器,主要用於應用服務,可以理解為是通用服務器,與專用服務器區分開來,用於邏輯服務或中間層服務均可,可以根據CPU、內存、SSD、硬盤等再進行2~3種分類。
3、存儲型服務器,主要用於線上、線下存儲服務,大硬盤大存儲空間,可以根據硬盤空間和類型再進行2~3種分類,這類服務器也是各家互聯網大公司存儲雲的主力服務器。
表11-1 模塊分類及服務器分類
服務器分層
根據產品架構分層,每層使用不同類型的服務器,每一層服務使用一類服務器,可以讓性能均衡,最大極度使用服務器資源,也有益於做容易管理,批量上架擴容,批量下架退役,優秀的運營規劃師可以讓每一層的應用最合理的使用服務器資源,進而避免資源閒置和浪費。
服務器分級
根據產品重要程度,收入大小,上線時間等,可以將對應的服務器進行分級,
1、優秀產品,例如收益高的產品和明星新產品,各層模塊使用全新、高配服務器,保持低容量,並准備充足預算,每季度提前擴容。
2、穩定產品,2~3年穩定產品服務器保持高容量外,使用對應年限的服務器進行更新擴容,甚至根據容量下線合並服務器。
3、歷史產品,4年以下產品,這類業務歷經多年,也歷經多個研發,又交叉被多個產品線使用,這類服務器最終將面臨服務器老化退役,需要提前將這類業務模塊進行合並或者平台化、甚至是剝離下線。
服務器分類、分級、分層定制適合非雲化的公司和產品,優秀的運營規劃師像管家一樣,將線上服務和成本理料到一個平衡點,最佳使用資源又不浪費。
業務分類平台化減少運營成本
運營資源(各區域+各IDC的服務器、帶寬、專線、QOS)與產品線的現有架構和實際增量需求(包括未來架構變化,擴展、優化),都與容量管理、成本管理相關,最終驅動預算和預算模型實現,最終又通過運營成本體現。
大公司有多個事業部多個產品,而每一個產品都需要多種運營資源,都需要容量管理、成本和預算管理,讓每個產品每個團隊都具有好的規劃能力是不現實的,而將產品中的模塊分類抽取合並成平台,就可以統一規劃和管理,將運營資源進行有效控制,服務分類平台化分享如下:
按通用應用分類平台化
談到淘寶,大家應該對淘寶的CDN平台有很深刻的印象,2012年雙十一最高流量達到2000G,是當下互聯網公司最大規模的靜態應用平台,分析淘寶網站不難發現,淘寶80%~90%的流量是由靜態圖片貢獻的,這個案例可以關聯所有的電商類網站、社區類網站、門戶類網站等,通常平台主要有以下三個方向。
1、靜態類平台,大圖、小圖、文本、JS、下載、視頻等
2、動態類平台,邏輯、列隊、消息、推薦、賬號、關系、PHP、Java等
3、數據類平台,日志、計算、存儲,數據庫等
將對平台化應用做到極致
淘寶的CDN是一個例子,規模、架構、硬件、內容、速度、成本追求極致,這一個典型的應用平台成功案例,這種應用平台可以做到部門級、公司級平台,甚至做到業界最好的平台。
平台不是一蹴而就的,從小到大,由粗放到精細,而且不斷吸收歷史及新產品中的同類應用,不斷壯大。傳統運維新上線的業務如同需要准備很多原料,再對原料進行加工,而平台化之後,只需要拿組件進行組裝即可,而且這些組件不用自己維護。
混布最大限度提高資源利用率
隨著應用平台化、集約化,應用平台已經慢慢取代傳統運維的對象,也就是產品線,而應用平台又由應用集群構成,所以集群已經成為了當下的運維基本單位,而隨著各項業務的發展,各種集群規模以每年以數倍的速度高速膨脹,大的應用平台服務器已經達到了數萬台服務器規模。
而這些平台的功能和角色各不相同,總體又分CPU密集型、I/O密集型、存儲密集型三大類,如果平均下來,服務器整體資源利用率卻不高,資源利用不均衡,平台和集群數量越大,浪費越多,因歷史擴容和服務器硬件不一致等原因,會加重這種資源的閒置和浪費,這一類有規模有規律的資源閒置可以通過服務的混布來提高資源的使用率。
服務混布的前提
1、平台類業務,平台類業務具有規模屬性,同時也具備了多區域和多IDC分布、數據分發、備份等必要的積累,可快速整合進行混布上線。
2、非突發、不同類型業務,突發類業務因熱點事件可以將負載提高到平時的數倍,所以不適合做混布,相同類型業務因存在資源競爭,也不適合混布,同類業務資源使用率低可根據資源使用趨勢決定是否混布。
3、硬件配置、網絡分布接近,在多個產品的生命周期的各環節,服務器和服務器所在的IDC是分批次采購和上線,因為產品不是短時間成規模的,而硬件幾乎每年都發生巨大變化,硬件接近可以讓各區域的模塊性能平衡,如果硬件存在大的差異,會出現"頭重腳輕"的性能不均現象,為了混布可以進行硬件升級或置換。
服務混布的問題
1、集群交叉影響,混布的集群因用戶規模不同、用戶解析策略不同、資源使用率增漲趨勢不同等,會存在必然的交叉影響,這種影響會發生在超載的狀態下,所以容量管理做好的前題下可以有效規避。
2、硬件交叉影響,硬件故障具有必然性和不確定性,這裡的硬件是指所有線上生產環境的硬件,網絡硬件、服務器及機架硬件等,硬件故障可以導致混布的集群直接不可用,所以混布要依賴平台健康監測和自動恢復能力。