9月23-24日,主題為“重新定義運維”的GOPS2016全球運維大會上海站隆重舉行,金山云作為頂級贊助商受邀出席本次大會。在DevOps分論壇上,金山云架構師趙帥發表題為《Docker在DevOps中的應用》的主題演講。
圖為金山云架構師趙帥發表《Docker在DevOps中的應用》主題演講
趙帥認為,Docker是近兩年最具顛覆性的技術,正如集裝箱的出現提高了貨物運輸的效率一般,Docker的出現改變了軟件生產和軟件交付的方式,而這必將對IT產業的變革產生深遠的影響。在容器服務方面,金山云可為用戶提供build、ship、run一站式解決方案,使用戶更加專注于應用的開發,這是解放用戶生產力的一大革命。
Docker為什么這么火?
根據2016年Docker官方公布數據顯示,全球已有46萬個應用Docker化,并且實現了兩年增長3000%。這樣的發展速度,是曾經的虛擬化等技術無法比擬的。
在高速增長的行業趨勢下,Docker無疑是近兩年最火的技術,甚至是最具顛覆性的技術。那么,Docker對云計算行業來說意味著什么?回顧云計算發展歷程,從2006年AWS上線至今,已經走過了十個年頭。十年中,以亞馬遜為代表的云計算廠商,推出了一系列云服務,使得云計算從概念變為現實,進而推動了IT產業的變革。十年的發展,IaaS變得非常成熟,計算、存儲、網絡等基礎資源像水和電一樣隨手可得。用戶只需要點擊鼠標,即可輕松獲取主機、IP地址乃至數據庫、緩存等資源。
從運維的角度,IaaS幫助用戶解決了IDC運維的問題,把用戶從租賃機房機柜、上架服務器、插拔網線等繁瑣的事項中解放出來。但是云計算發展到今天,用戶仍然需要投入大量精力去做應用運維。
應用的部署、變更、擴容、縮容、監控……工作繁多,如何將用戶從應用運維中解放出來?Docker的出現,為這個問題提供了答案。Docker定義了云計算環境下應用的標準封裝形式和操作接口,使得云廠商能夠以統一的視角去托管用戶的應用,用戶只需要關注應用的開發,應用的運維統統由云廠商完成。
經常有人拿Docker和“集裝箱”來類比。集裝箱的出現,提高了貨物運輸的效率,為經濟全球化做出了重要貢獻。Docker的出現,改變了軟件生產和軟件交付的方式,必將對IT產業的變革產生深遠的影響。
Docker是實踐DevOps的最佳方式
DevOps是近年來軟件工程領域流行的趨勢和文化,它提倡開發(Development)和運維(Operations)的緊密配合以實現更快、更高質量的交付軟件產品。DevOps更多的是一種理念,實踐DevOps需要工具和系統的支持,Docker是實現DevOps的理想工具。
Docker的出現,為DevOps的實踐方式帶來突破,也為企業運維及開發團隊的工作帶來便利:
? 開發人員可以更專注于他們的代碼,而不用擔心如何在生產環境中運行它們; ? 運維團隊在部署的時候,可以視容器為一個獨立的完整的模塊;
? Docker分層的文件系統,使環境配置易于管理、維護;
? 像Git工作流一樣,通過Dockerfile,即便是復雜、異構的開發、測試環境,仍然可以高效的管理;
? 即便在同一個VM中,多個容器仍能運行多種不同的環境。
正如上文所說,Docker在容器技術上的突破有目共睹。那么, Docker技術是如何得以實現的呢?趙帥介紹到,Build、ship、run是Docker提出的響亮口號,也是實踐DevOps的最佳方式。
以金山云的實踐為例,一個完整的基于Docker的工作流程如下:
圖為金山云容器服務架構圖
1. 開發人員提交代碼;
2. Webhook觸發自動構建,將代碼打包成Docker鏡像;
3. CI(持續集成)平臺對Docker鏡像運行測試case,測試通過后將Docker鏡像推動到鏡像倉庫;
4. CD(持續交付)平臺或者運維將鏡像部署到線上環境;以上流程為我們構建了一條完整的軟件生產、測試、發布的流水線,提高了軟件生產的自動化程度;開發人員和運維人員分工簡單明確,配合順暢,很好地踐行了DevOps的理念。
專注容器技術 為用戶解放生產力
作為全球領先的云計算服務提供商,金山云以技術立本,多年來在業內保持著技術領先優勢。
2016年8月,在視頻壓縮界享有盛譽的視頻編碼器大賽上, 金山云H.265編碼器拔得編碼軟件頭籌,先進的編碼技術獲國際認可。
而在容器服務研究方面,金山云始終關注并積極實踐容器相關技術。在2014年,金山云使用LXC(Linux Container)技術研發RDS、KCS等產品,成為較早將容器技術落地的云計算廠商。目前,金山云積極研發Docker容器服務,依托于自身強大的計算、網絡、存儲等IaaS資源,同時整合數據庫、緩存等PaaS資源,金山云容器服務將為用戶提供build、ship、run一站式解決方案,幫助用戶解決開發、測試、運維中的各種難題,使得用戶專注于應用的開發,進而解放用戶的生產力。