當前,傳統企業正在積極擁抱“互聯網+”,尋求IT轉型之道。
云計算驅動企業IT架構演進
隨著云計算的快速普及,傳統企業越來越關注基于云計算的下一代IT架構變革了。回顧企業IT架構演進歷史,主要經歷了“傳統孤島”、“x86+虛擬化”和“云化”這三個階段。
最初的“傳統孤島”,軟硬件堆棧各層間缺少統一的工業標準化,呈現出內聚與耦合的特征。隨后的x86標準化帶來計算、存儲、網絡、操作系統、中間件、應用層等多層次水平分工架構,為了提升IT靈活性和資源利用率,虛擬化開始在數據中心部署,IaaS實現了虛擬機級彈性伸縮,但IT基礎設施擴張很快,系統層層堆疊,各層間集成交付的難度越來越大,同時,僅虛擬化也難以滿足不斷增加的業務對資源的變化需求。
于是企業開始期望將服務作為IT核心,提升業務敏捷性,同時大幅降低TCO,這時PaaS和應用資源池化實現了集群級彈性伸縮,很大程度上緩解了IT資源與業務發展之間的矛盾,讓企業更專注于上層業務邏輯的運營。如果說IaaS屬于云化的“初級”階段,PaaS和應用資源池化就是云化的“進階”階段。
來自傳統企業的一次“互聯網+”
在今年春節期間,太平洋保險聯合上海天璣數據,采用DCOS(數據中心操作系統)平臺改造微信應用系統來支撐推出的“除夕夜搖紅包”、“初五迎財神”等系列活動。活動期間輕松支撐高達每秒10萬筆交易的業務高峰,僅除夕當夜微信增粉量就超過1300萬。
數據中心操作系統(Data Center Operating System,簡稱DCOS)是為整個數據中心提供分布式調度與協調功能,實現數據中心級彈性伸縮能力的軟件堆棧,它將所有數據中心的資源當做一臺大型計算機來調度,可以視作這個大型主機的操作系統。下表給出了Linux OS與DCOS(以基于Mesos為例)的類比:
這次太平洋保險進行綜合評估技術選型后,最終選擇了基于Mesos + Docker搭建DCOS平臺。功能框架如下:以Docker為基礎封裝各類應用和運行環境,以Mesos、Marathon為核心實現容器資源的分布式調度與協調,以HAProxy、Etcd為輔助實現服務注冊引流。
1. 應用封裝:Docker
Docker為開源的應用容器引擎,在標準的LXC之上融合AUFS分層鏡像管理機制,拋棄傳統虛擬機試圖模擬完整機器的思路,而是以應用為單元進行“集裝封箱”,是輕量級的虛擬化技術。
Docker Engine可以自動化部署應用到可移植的的容器中,這些容器獨立于硬件、語言、框架、打包系統。一個標準的Docker容器包含一個軟件組件及其所有的依賴,包括二進制文件,庫,配置文件,腳本等,實現持續集成與部署,快速迭代應用程序。
Docker容器可以封裝任何有效負載,幾乎可以在任何服務器之間進行一致性運行。開發者構建的應用只需一次構建即可多平臺運行。運營人員只需配置他們的服務,即可運行所有應用。
2. 資源調度: Mesos
Mesos是為構建和運行其他分布式系統提供服務的分布式系統。它將CPU、內存、存儲介質以及其它計算機資源從物理機或者虛擬機中抽象出來,構建支持容錯和彈性的分布式系統,并提供高效的運行能力。
Mesos以Framework(框架)的形式,提供了“兩級調度機制”,將任務的調度和執行分離。
Mesos Master負責將資源分配給各個框架,而各個框架的Scheduler進一步將資源分配給其內部的各個應用程序。
Mesos能和不同類型的Framework或Application通信,每種Framework或Application由相應的應用集群管理。
Mesos Slave的Executor具備調用Docker能力,當 Executor接收到Task時啟動Docker,其可以調用Docker去啟動一個容器。
3. 任務調度: Marathon
Marathon是基于Mesos來做任務調度,Mesos僅負責分布式集群資源分配,不負責任務調度。
Mesos集群可以混合運行來自Marathon的不同類型的任務。
Marathon基于Mesos的任務調度為動態調度,即每個任務在執行之前是不知道將在哪一臺服務器上執行和綁定哪一個端口。
下圖為Marathon執行任務調度示意圖。9臺服務器(灰色)組成的Mesos集群上混合運行各種Marathon調度的任務,其中一臺服務器壞掉以后,這臺服務器上的任務就受影響,Marathon可把任務遷移到其他服務器上,實現容錯。
4. 服務注冊與引流: HAProxy + Etcd
HAProxy提供高可用、負載均衡的解決方案,而Etcd是一個高可用的鍵值存儲系統,主要用于共享配置和服務發現,提供了數據TTL失效、數據改變監視、多值、目錄監聽、分布式鎖原子操作等功能,可以方便的跟蹤并管理集群節點的狀態。 Etcd與HAProxy配合能夠實現數據中心應用的動態引流。
為應對這次春節紅包活動業務系統的瞬時高峰壓力,太平洋保險DCOS平臺采用223個主機節點,其中平臺部分由5個節點構成Mesos Master Cluster,80個節點構成HAProxy Cluster,138個計算節點承載674個Docker Container,其中動態計算節點113個,靜態計算節點25個。該平臺可在1分鐘內輕松實現擴展到1000個以上Docker節點。
結語
總之,傳統企業在“互聯網+”的背景下,IT基礎架構的發展要確保新技術的研究和應用與企業未來業務發展需要相一致。而今,云計算相關技術正在逐漸演化成熟,尤其PaaS領域的技術發展更是日新月異。下一代輕量級PaaS正越來越為業內所關注。數據中心級的彈性伸縮、快速持續集成等輕量優勢,能夠幫助企業快速應對業務需求,為傳統IT的敏捷轉型提供了新機遇。
胡罡,現擔任中國太平洋保險集團股份有限公司信息技術中心應用運行支持部副總經理。長期從事保險行業信息化建設,曾多次主持大型保險信息系統建設和推廣工作,參與和實施保險核心系統數據大集中和重構工作,參與大型數據中心建設和系統搬遷,參與智能移動保險平臺建設。目前主要從事云計算和大數據相關技術研究和應用,面對移動互聯浪潮的挑戰和機遇,積極探索和實踐傳統行業IT運維模式的轉型升級。
黃超,現擔任中國太平洋保險集團股份有限公司信息技術中心需求規劃與項目管理部資深IT架構師。2004年起在互聯網行業從事互聯網系統開發工作,中國最早一批進行互聯網移動應用開發的IT人員,曾參與數款國內知名高并發大型互聯網應用項目全程開發和架構設計。2009年起在太平洋保險就職,主要從事互聯網項目,云平臺和大數據相關技術研究和架構設計,結合自身互聯網和金融行業的經驗在互聯網浪潮的改革中進行積極研究和探索。
注:文章版權歸作者所有,已在infoQ上首發,轉載請注明。