日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

《程序員》:Docker技術商業(yè)落地的思考

 dxw121 2016-09-14

Docker的火熱,催生了人們對于其商業(yè)模式的探討,雖然目前Docker還有很多有待完善之處,但這并不妨礙人們對于Docker的追捧,但我們也應理性地看到,Docker并不是萬能藥,對其商業(yè)模式的探討,將有力促進Docker的健康發(fā)展。


Docker技術雖然剛問世3年,但其發(fā)展如火如荼,受到大量企業(yè)客戶和個人開發(fā)者的追捧,作為一項開源技術,Docker有一點和Java很像,那就是它們都是標準。作為標準的企業(yè)級應用開發(fā)語言,絕大多數(shù)企業(yè)內部的業(yè)務應用都是用Java開發(fā)的,而Docker正在成為應用封裝的標準,未來企業(yè)內部的業(yè)務應用大多會封裝成Docker的形式。


標準化最大的好處是帶來效率的提升。Docker經常被類比為集裝箱,集裝箱的出現(xiàn)極大地提升了貨物裝載的效率,集裝箱把貨物的封裝形式標準化,為碼頭、貨輪、卡車等貨運全產業(yè)鏈各環(huán)節(jié)都帶來了標準化。類似地,Docker把應用封裝成標準化的容器應用,使應用的交付、部署、運行、更新等全生命周期的各個環(huán)節(jié)都變得標準,極大地提升企業(yè)的應用管理效率。

新一代PaaS平臺將成為Docker技術商業(yè)落地的最好形式


Docker技術火熱的同時,人們也在思考如何商業(yè)化的問題。本質上講,Docker技術如何商業(yè)化,跟其他任何開源技術商業(yè)化沒有區(qū)別。以Java技術為例,Java技術本身是開源的,Java的標準版、企業(yè)版也都是開源的,而基于Java的中間件是商業(yè)化的閉源產品,Java中間件提供了企業(yè)級Java應用的標準運行環(huán)境,解決了Java應用發(fā)布(部署war包)、網絡通訊(消息隊列)、存儲訪問(數(shù)據(jù)庫連接管理)等多方面需求,方便了企業(yè)在生產環(huán)境使用基于Java開發(fā)的業(yè)務應用。Java中間件產品的商業(yè)化非常成功,比如WebLogic、WebSphere,直至今天,它們仍然在企業(yè)級應用領域占有重要地位。與之相類似,Docker技術本身開源,基于Docker的PaaS平臺很有希望成為商業(yè)化產品。


通常人們把云計算分為三層,IaaS、PaaS、SaaS。IaaS管理資源,提供資源的彈性;PaaS管理應用,提供應用的彈性;SaaS面向服務,提供服務的彈性。過往十來年云計算的發(fā)展,主要集中在IaaS和SaaS領域,IaaS領域既有成熟的開源技術(OpenStack)也有商業(yè)巨頭(AWS),SaaS領域也有商業(yè)巨頭(Salesforce),但是PaaS領域一直發(fā)展得不溫不火,其開源技術(CloudFoundry)和商業(yè)公司(Heroku)都沒有大獲成功。


Docker的出現(xiàn)把應用都變成容器應用,使得應用的打包、交付、運行方式變得標準了,這樣PaaS平臺只需要管理標準的容器應用,為容器應用提供全生命周期的標準化管理,比如打包、測試、分發(fā)、部署、運行、更新等??梢哉f,Docker的出現(xiàn),使得PaaS平臺也變得標準了。在Docker出現(xiàn)之前,PaaS平臺要支持各種形式的應用,比如CloudFoundry要支持Java、Python、PHP等各種常見語言,從編譯開始構建應用,然后調度運行,由于應用沒有標準化,CloudFoundry為了支持各種應用的各種需求,變得異常復雜。Docker成為應用的標準封裝、交付、運行方式,推動了PaaS平臺的標準化,降低了PaaS平臺的復雜度,提升了PaaS平臺的易用性。這樣基于Docker的新一代PaaS平臺,由于更加標準化、更加輕量、更加簡便,極大地方便了企業(yè)使用PaaS平臺來落地Docker。新一代PaaS平臺很有可能成為Docker技術商業(yè)落地的具體產品形式。

基于Docker的私有PaaS平臺成為傳統(tǒng)企業(yè)新寵


Docker技術以PaaS平臺的形式在不同類型的企業(yè)客戶落地來實現(xiàn)商業(yè)化有不同的方式。比如提供基于Docker的公有PaaS服務,也稱為Container-as-a-Service(CaaS);再比如給企業(yè)提供私有PaaS平臺。下面主要討論后面一種方式。


對私有PaaS平臺有需求的客戶主要是傳統(tǒng)大型企業(yè),比如金融、運營商、能源、廣電等。這些傳統(tǒng)企業(yè)使用私有云平臺并不是因為技術原因,主要是由于其行業(yè)監(jiān)管緣故,數(shù)據(jù)比較敏感,從而無法使用公有云。近年來,傳統(tǒng)企業(yè)的業(yè)務場景發(fā)生了變化,其傳統(tǒng)業(yè)務逐步向互聯(lián)網相關業(yè)務轉變,傳統(tǒng)企業(yè)需要新一代云計算IT架構支撐其互聯(lián)網業(yè)務,對基于云計算的新一代IT架構需求越來越強烈。


傳統(tǒng)企業(yè)的現(xiàn)有IT架構主要還是基于國外的商業(yè)化軟硬件產品,這些產品搭建的IT基礎架構偏傳統(tǒng),跟互聯(lián)網公司普遍采用的云計算架構相去甚遠。原因在于,傳統(tǒng)業(yè)務跟互聯(lián)網公司的業(yè)務場景不一樣,傳統(tǒng)業(yè)務的日常業(yè)務量相對恒定,業(yè)務本身不會經常變化,比如銀行網點每天的業(yè)務量不會變化很大,銀行網點自身的業(yè)務也不會總是變化,但是互聯(lián)網業(yè)務的業(yè)務量變化非常劇烈,比如淘寶雙11當天的業(yè)務量是平時的數(shù)十倍,而且互聯(lián)網業(yè)務的迭代非???,像Google、Facebook之類的互聯(lián)網公司每周都會更新業(yè)務應用。傳統(tǒng)IT架構在設計之初就是面向業(yè)務量平穩(wěn)的場景,因此無法支持業(yè)務量劇烈變化的場景,而不可預測的業(yè)務量暴增會導致傳統(tǒng)IT架構無法承載。再者,傳統(tǒng)IT架構也不支持業(yè)務應用頻繁變化的場景,傳統(tǒng)業(yè)務的更新頻率至少是以月為單位。


基于Docker技術的PaaS平臺能很好地幫助傳統(tǒng)企業(yè)支撐其互聯(lián)網業(yè)務。比如基于Docker的PaaS平臺能很好地提供應用的彈性,既支持業(yè)務應用彈性擴展,又支持業(yè)務應用快速迭代更新,非常適合互聯(lián)網業(yè)務場景。


2016年初,我們應某TOP3視頻網站的要求,以網絡春晚搶紅包為模擬業(yè)務場景,設計了聯(lián)合解決方案。我們作為“中間件”層,以Docker的方式解決了高并發(fā)挑戰(zhàn)。一方面,我們擁有基于緩存的解決方案,將依賴于數(shù)據(jù)庫的操作盡量置于緩存中進行,提高應用的性能。另一方面,我們將底層計算資源組成一個資源池,向上承載核心業(yè)務,實現(xiàn)組件的橫向擴展。


此外,基于Docker的私有PaaS平臺提供的容器編排能夠幫助傳統(tǒng)企業(yè)客戶將復雜的業(yè)務應用以獨立的容器組件方式運行,滿足客戶對于穩(wěn)定可靠的核心需求。借助容器技術,這種私有PaaS平臺實現(xiàn)了應用的快速部署,使應用的交付變得標準,極大地消除技術部署的局限性,提高客戶產品的交付及運維效率。上海證券交易所就是一個非常有代表性的客戶,上交所在自身業(yè)務系統(tǒng)進行了Docker化的探索和實踐,非交易類應用,包括軟件應用測試平臺、行情監(jiān)控、行情播報等應用正在逐步往容器上遷移。通過將這些應用置于同一個容器平臺,上交所使測試平臺得以統(tǒng)一,解決了原先異構環(huán)境帶來的麻煩,資源池化使平臺擁有自動化運維的能力,減少后期人力駐場維護的成本,提高應用測試效率。

機遇與挑戰(zhàn)并存


傳統(tǒng)企業(yè)在落地私有PaaS平臺的時候也會遇到各種各樣的困難。


首先,傳統(tǒng)企業(yè)已有的IT系統(tǒng)和基于云計算的IT系統(tǒng)在管理和運行方面存在巨大的差異。傳統(tǒng)企業(yè)常見的IT管理組織架構分為開發(fā)中心和數(shù)據(jù)中心(可能還有測試中心)。開發(fā)中心滿足業(yè)務部門的需求,負責業(yè)務需求的實現(xiàn);數(shù)據(jù)中心負責運維業(yè)務應用,保證業(yè)務穩(wěn)定運行。對于金融、運營商這樣的傳統(tǒng)企業(yè),保障業(yè)務穩(wěn)定是最為重要的目標。因此,他們采用了嚴格、復雜的IT管理流程,開發(fā)中心和數(shù)據(jù)中心各司其職,進而保證業(yè)務穩(wěn)定。這種嚴格、復雜的IT管理流程適用于傳統(tǒng)業(yè)務,但當傳統(tǒng)企業(yè)面向互聯(lián)網業(yè)務時,這種流程就不適用了。根本原因是互聯(lián)網業(yè)務處于高度競爭的狀態(tài),業(yè)務需求頻繁變化,相應地要求業(yè)務應用能快速響應業(yè)務需求變化,但是傳統(tǒng)IT系統(tǒng)無法適應這種場景。


基于Docker的PaaS平臺,能幫助傳統(tǒng)企業(yè)實現(xiàn)敏捷開發(fā)、微服務架構、持續(xù)集成、持續(xù)交付、自動化運維等各種源自互聯(lián)網公司的DevOps方法,快速響應業(yè)務需求的變化。但是,傳統(tǒng)企業(yè)無法直接采用這樣一套PaaS平臺,因為如果要按照互聯(lián)網公司那樣實現(xiàn)DevOps,促進開發(fā)和運維的融合,肯定要改變傳統(tǒng)企業(yè)已有的IT管理方式和流程,包括組織架構的調整,這對于傳統(tǒng)企業(yè)絕不是一朝一夕就能做到的。針對這一困難,傳統(tǒng)企業(yè)也提出了雙模架構,所謂“雙?!笔侵競鹘y(tǒng)IT模式和新IT模式,其傳統(tǒng)業(yè)務仍然采用傳統(tǒng)IT模式來管理,其互聯(lián)網相關新業(yè)務采用新的基于云計算的IT模式來管理。這樣傳統(tǒng)企業(yè)可以基于全新的云計算IT架構來支撐其互聯(lián)網業(yè)務,并采用DevOps方法來管理新的IT架構。


再者,傳統(tǒng)企業(yè)對于業(yè)務的穩(wěn)定性非常敏感,新技術的不穩(wěn)定性是傳統(tǒng)企業(yè)采用新技術的最大顧慮。Docker技術本身還有一些不成熟和待完善的地方,特別是網絡管理和存儲管理方面,還很不成熟。Docker目前的網絡方案還非常新,缺乏大規(guī)模生產實踐,最新的Docker 1.12版采用的網絡方式是Overlay,也是一種SDN。Docker的Overlay網絡性能還不夠好,跟常見OpenStack的SDN方案還有很大差距。而且,目前Docker本身還不能對應用的網絡帶寬使用進行限流,如果一個應用對網絡帶寬消耗很多,有可能影響其他應用的網絡使用。傳統(tǒng)企業(yè),特別是金融客戶,對網絡的需求比較復雜。金融有很多業(yè)務應用因為監(jiān)管的需求,必須要做到網絡隔離,保障業(yè)務應用的安全。此外,金融的很多業(yè)務應用需要保證數(shù)據(jù)的強一致性,在分布式環(huán)境下,比如同城兩數(shù)據(jù)中心雙活,這些強一致性的應用對網絡的延遲有嚴格要求,如果達不到要求,那么強一致性就很難保證。Docker的存儲管理就更弱了,目前只能支持把宿主機的目錄映射到Docker內部來實現(xiàn)持久化存儲?;贒ocker的一些第三方存儲解決方案都很新,比如Flocker,雖然能提供分布式環(huán)境下容器應用的數(shù)據(jù)存儲、恢復、遷移,但都還沒有大規(guī)模生產實踐。

寫在最后


Docker作為云計算領域最為火熱的技術,畢竟只誕生三年左右,其未來的技術發(fā)展方向、商業(yè)模式等還都處在早期摸索階段,但Docker技術發(fā)展極為迅猛,正在被廣大企業(yè)客戶接受,相信很快就會進入成熟發(fā)展期,其技術發(fā)展方向和商業(yè)模式很快就會明確。


作者簡介:王璞,數(shù)人云創(chuàng)始人 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多