容器技術企業落地的思考與選型
計算的力量,推動著行業,推動著IT移向新的位置。重新定義計算的邊界,我們在歷史的潮流中總是可以看到,新的理念,新的技術,前仆后繼,有的在洪流中揚名立萬,有的則被無情沖刷,有的離目標僅咫尺之遙,有的則憑其變革的力量正在接受行業的檢驗。不管經歷如何,技術都逃不過要走企業落地的路途。
近年來,以Docker為代表的容器技術,紅得發紫。其理念之新穎,其生態之健壯,不斷被業界所津津樂道。容器技術基于各種場景的嘗試與實踐,在過去的兩年中,更是層出不窮。一時間,容器甚至被認為是未來的基石性技術。
容器技術并非新生事物,其中***代表性的Docker,如何在當今局勢下,幫助容器技術在企業級落地,另外其商業模式的探究,都將是值得深思的話題。
標準化帶來的價值
《重新定義計算的邊界》一文中,Docker帶來的標準化價值被大談特談,不論是交付的標準化,還是資源的標準化。標準化的價值,無疑是技術在企業落地時十分重要的參考因素。技術標準可以保障技術在發展過程中,減少不穩定因素,使得技術本身趨向穩定。標準化有利于企業內部有效的技術管理,極大提高內部效率。有效的技術管理又可以幫助企業開展技術創新,提高經濟效益,也可以大大降低非標準化有可能帶來的技術風險,管理成本。
容器技術帶來的“交付標準化”,幫助企業在業務應用開發、封裝、測試、發布等方面逐漸形成標準,企業內部的應用管理效率得到質的飛躍。容器技術帶來的“資源標準化”,直接帶來的效益是基礎設施資源的優化,以及資源利用率的提高。簡化的資源模型,在構建企業數據中心時,同時可以兼顧數據中心架構轉向以應用為中心。
容器技術的發展,隨著OCI(Open Container Initiative)的成立,也意味著容器生態標準的建立。Linux基金會下OCI標準的建立,使得容器技術的發展有據可循,容器生態朝著正路發展。Docker作為當前應用最廣的容器技術,在OCI成立之初,即將其底層容器管理引擎runC貢獻給OCI,成為當前基金會下的唯一容器引擎實現,推動著容器生態的發展。
企業IT發展的動力——競爭
標準化的價值毋庸置疑,技術在企業的落地,如果缺少企業自身的動力,技術的價值往往會懸在半空。企業IT發展的演進,面對外界技術的影響,往往呈現不同的立場,尤其是面臨新技術的決策。新技術是雙刃劍,一個“新”字即讓企業百味雜陳,面臨采納,如果新技術不能使企業在行業內擁有“競爭優勢”,那技術的落地往往較為悲觀。
“競爭”——市場環境中亙古不變的話題。不同類型、不同規模、不同歷史包袱的企業,對待技術的態度均存在大大小小的差異。企業在市場環境中,敢于嘗試新的技術,并在市場中占有可衡量的競爭優勢,那么其他企業有可能存在的競爭劣勢,自然會迫使企業自身,嘗試重新找回市場平衡,甚至讓市場的平衡傾向自己。
容器技術,會為企業帶來這樣的競爭力嗎?企業與企業之間,總是呈現不透明的狀態,這種差異也讓技術走進企業存在一些障礙,但是企業關心的共同點,其中很大一點都集中在“提高效率”。效率的競爭,Docker作為容器技術的代表,如何帶來優勢,則至關重要。如果細細探究,不難發現以下三點優勢:
- 容器技術帶來的資源利用率提高
- Docker帶來的軟件流程優化
- Docker帶來的應用管理價值
資源利用率在企業級未必是永恒的真***。如果有一定的規模效應,資源利用率的提高,勢必將帶來可觀的資本效率提高。固定資源在企業內部一直是非常重要和敏感的話題。業務的增長、負載的變化,都會帶來資源管理的變動。如果資源利用率大幅提高,以及資源的分配方式足夠靈活,那么容器技術的競爭力就不難理解,傳統的資源管理痛點也就迎刃而解。
企業傳統的IT架構,很有可能在過去的數十年間,與傳統的商業化軟硬件緊耦合,比如金融、運營商等行業。這些架構往往與互聯網公司的云架構相去甚遠。如此一來,這些企業在與互聯網企業的競爭中,將處于明顯的劣勢。Docker在互聯網行業的實踐,大量的運用在企業軟件流程管理的優化上。升級應用開發模型,高效封裝軟件,自動化完成測試與構建,提高業務應用的發布能力,同時借助業務系統高效的運營能力,迅速響應市場需求的變化,持續完成迭代。Docker帶來的業務持續迭代,同樣可以很好的支撐傳統企業的互聯網業務,最終形成業務的市場競爭力。
過往架構之下,業務的增長,無可避免的造成管理成本的提高,應用的運維成本,資源的運維成本,同樣在內。業務的復雜度提高,應用的部署管理、應用的伸縮管理、應用的容錯管理等,都將接踵而至。以Docker為基礎的編排平臺,本職工作即完成此類工作,其自動化能力,大大提高云時代下應用的管理效率。這樣的平臺,行業內比較成功的有:Docker、Kubernetes、Mesos等。
容器技術選型
容器技術的落地,其商業化價值思考,一直被企業圍繞。認可其價值,在蓬勃發展的容器生態中,自然還逃不脫技術選型。而如今的容器生態,最為活躍的當屬Docker、Kubernetes、Mesos等。
結合企業級的場景,面對軟件交付,結合數據中心資源,容器生態技術與企業的現狀如下:
談及容器生態,當下很難不談Docker。Docker的價值在于軟件流程管理方面的標準化,以及數據中心資源的標準化。企業在技術選型時,自然會傾向選擇標準化、同時在企業IT布局中覆蓋盡可能廣的技術。作為容器技術生態中的主角,Docker自始至終將終止定義為“Build,Ship,Run”,從全球的開發者切入,完善當前行業軟件封裝的難題。Docker乃至容器技術,開發者利用其進行軟件封裝之后,帶來的流程性標準,真正解決行業軟件交付的多年痛點,同時又促進企業DevOps的踐行。
說到Docker在開發者生態中的投入,看下圖即可理解。最近的2年內,Docker技術的發展逐漸從Docker Engine的大量投入開始發生轉變。開發者生態的Desktop版和編排生態的SwarmKit官方有意逐投入大量人力物力。(此圖來自Docker公司Swarm等項目負責人陳東洛先生)。
傳統的PaaS平臺,其功能特性專注于軟件的最終發布與管理,看似極大的便捷了軟件交付,然而軟件的交付往往受制于流程中的短板環節,傳統PaaS帶來的***環境效率提升很難提高軟件交付的整體效率。而以Docker為基礎的容器云平臺,恰恰環環相扣,形成軟件持續交付的閉環。
行業內火熱的Docker、Kubernetes以及Mesos各自的立足點有所差異,各有千秋。若要對比的話,正如上圖所示,更多的是在應用的發布環節。平行比較,Docker的Swarm功能,以及Kubenetes的編排,Mesos的調度管理,很難直接決出個高低。換言之,如果加上企業級應用場景,來輔佐容器技術選型,則會顯得更有意義。Docker Swarm借助Docker的生態優勢,做應用編排,用戶基石穩健,社區完善。Docker的大規模場景下的運用已經受到行業的檢驗,然而Docker自帶的Swarm編排功能,業界成功案例,將會成為企業選型時的考量依據。Kubenetes擁有互聯網巨頭Google背書,谷歌內部的大規模運維經驗是否能夠在傳統企業內落地,則需要仔細權衡。Mesos作為分布式系統的調度內核,在傳統數據計算方面,擁有廣泛的經驗,上層應用框架的普及情況,以及生態現狀,存在些許的劣勢,相信也是企業選型時考慮的要素之一。
總結
容器技術在企業的落地,是一個價值普及的過程。標準化與提高效率,是以Docker為代表的容器技術傳遞的***價值。容器技術已經被認為是當今IT領域中的一個突破點,新的技術帶來的影響,從量變到質變過程中,創新能力將成為新的企業機遇。新的機遇,新的市場機會,企業如何從競爭中脫穎而出,都將逐漸變得清晰。