在網(wǎng)上看到 一篇很好的文章覆获,題目是 《將要改變IT世界的的docker技術(shù)是什么?》
我感覺它對于docker的介紹特別好端姚,下面分享給大家。有刪減。
客戶永遠(yuǎn)只會關(guān)注他的業(yè)務(wù)攒菠,不會關(guān)心除此之外的任何東西。
-------誰說的不重要
“沒有集裝箱歉闰,就不會有全球化辖众∽科穑”,這句話看起來很突兀凹炸,容器就是那個(gè)集裝箱戏阅!
很多人將Docker等同于Container,其實(shí)這是不對的啤它,Docker是以容器為核心的IT交付與運(yùn)行體系奕筐。它包括了Docker Engine(容器的運(yùn)行管理)DockerRegistry(容器的分發(fā)管理),以及相關(guān)的一系列的API接口变骡。包括后來發(fā)展起來DockerMachine离赫,Swarm,Compose塌碌。 所以可以看做是一套以容器為核心的創(chuàng)建渊胸,分發(fā),和運(yùn)行的標(biāo)準(zhǔn)化體系台妆。
如果把Container比作是傳統(tǒng)領(lǐng)域的集裝箱翎猛,那么承載集裝箱的港口就可以看做是云的服務(wù)商,集裝箱的拖船可以看做是云服務(wù)所提供的IAAS服務(wù)频丘。Docker公司弄出的Docker Machine之類的可以看做是一種集裝箱的吊裝設(shè)備办成。當(dāng)然,作為一套推動(dòng)全球經(jīng)濟(jì)快速運(yùn)轉(zhuǎn)的航運(yùn)體系搂漠,不僅僅只有這些迂卢,還有無數(shù)的基礎(chǔ)設(shè)施,包括高速公路桐汤,集裝箱的拖車而克,將貨物裝入集裝箱的叉車,搬運(yùn)工人怔毛。另外员萍,還有一套軟的設(shè)施,包括各類的標(biāo)準(zhǔn)拣度,集裝箱的交付流程碎绎。所有的這些,我們都可以從IT世界里面的看到他們的身影抗果。
Docker是一套以容器技術(shù)為核心的思想和一套標(biāo)準(zhǔn)化體系筋帖。它不是一個(gè)技術(shù),也不是一個(gè)公司冤馏。Docker不等同于現(xiàn)在的Docker公司日麸,和它的發(fā)展和興衰沒有必然的關(guān)系。
Docker會是改變IT世界的那只”箱子“嗎逮光?
下這個(gè)結(jié)論還有點(diǎn)早代箭,但是我們可以從傳統(tǒng)的以集裝箱為核心的航運(yùn)體系的發(fā)展史來預(yù)測一下它的未來墩划。首先,來看看現(xiàn)代航運(yùn)體系中嗡综,最核心的那個(gè)東西乙帮,也就是集裝箱,它是什么時(shí)候發(fā)明的蛤高?其實(shí)在上世紀(jì)20年代就已經(jīng)在使用了蚣旱。但是為什么一直到上世紀(jì)70年代才開始流行開來。因?yàn)槟莻€(gè)時(shí)候戴陡,集裝箱僅僅是一個(gè)工具塞绿,僅僅是防止損壞和被盜。它沒有融入到全社會的協(xié)作體系中恤批。1956年异吻,集裝箱之父麥克萊恩,第一次將它用到大規(guī)模的貨物運(yùn)輸喜庞,這個(gè)時(shí)候诀浪,它才由一個(gè)單純的工具,開始發(fā)展成一種新的觀念和體系延都,才開始逐漸融入到全產(chǎn)業(yè)鏈條的運(yùn)轉(zhuǎn)中去雷猪。到上世紀(jì)70年代中期,各種專用的集裝箱港口晰房,拖船求摇,吊裝設(shè)備開始普及和完善,這才代表的一個(gè)新的時(shí)代的開始殊者。以集裝箱為核心的現(xiàn)代航運(yùn)體系与境,開始取代了舊式的貨運(yùn)體系。
我為什么要保留上面的一段話呢猖吴?我想讓大家自己可以思考Kさ蟆!:1巍共屈!
我們再來看看Docker的發(fā)展歷史,容器技術(shù)其實(shí)早在10多年前就出現(xiàn)了党窜。但是為什么很少人知道它拗引?因?yàn)槟莻€(gè)時(shí)候,它僅僅只是一個(gè)虛擬化的技術(shù)刑然,只是從一個(gè)角度解決了Run的問題,沒有看出相比KVM暇务,XEM有太多的優(yōu)勢泼掠。2013年怔软,Docker的出現(xiàn)是一個(gè)標(biāo)志性的節(jié)點(diǎn)。它首次提出了Build择镇,Ship挡逼,Run的概念,將容器技術(shù)向IT產(chǎn)業(yè)鏈條的上游和下游進(jìn)行了延伸腻豌。從軟件的使用領(lǐng)域家坎,延伸到了軟件的生產(chǎn)領(lǐng)域,以及軟件的發(fā)布領(lǐng)域吝梅。同時(shí)借助于容器技術(shù)虱疏,打通了DevOps極大的提高了軟件領(lǐng)域的生產(chǎn)率。但是苏携,相比傳統(tǒng)集裝箱的坎坷道路做瞪,它還有很多路要走。全產(chǎn)業(yè)界已經(jīng)接受了以容器鏡像為主要形態(tài)的軟件發(fā)布模式了嗎右冻?應(yīng)用的執(zhí)行都基于容器了嗎装蓬?分布式以及微服務(wù)架構(gòu)已經(jīng)非常普及了嗎?顯然沒有纱扭。
Docker和java的區(qū)別
Docker剛開始出現(xiàn)時(shí)牍帚,很多人覺得它和Java很像,所謂的一次構(gòu)建乳蛾,隨處執(zhí)行暗赶。但是Docker和Java其實(shí)有本質(zhì)性的區(qū)別的,Java只是解決了執(zhí)行環(huán)境的兼容性的問題屡久,或者說它只解決了Run的問題忆首,并沒有把這個(gè)技術(shù)延伸到IT產(chǎn)業(yè)鏈條的各個(gè)環(huán)節(jié)中,所以注定它只是一個(gè)重要的技術(shù)被环,而不能成為改變世界的創(chuàng)新糙及。
集裝箱也好,容器也罷筛欢,當(dāng)我們思考浸锨,什么樣的技術(shù),才是一種顛覆性的技術(shù)時(shí)版姑,一般從下面幾個(gè)維度去思考:
1:它是否帶來整個(gè)產(chǎn)業(yè)生產(chǎn)力的大幅度提升柱搜。
2:它是否融入到了整個(gè)產(chǎn)業(yè)的價(jià)值鏈條中去了。
3:整個(gè)產(chǎn)業(yè)是否圍繞它進(jìn)行分工和協(xié)作剥险。
Docker是否是一種改變未來IT產(chǎn)業(yè)的顛覆式創(chuàng)新聪蘸,這里我大膽的給出肯定的答案,至少,從集裝箱的發(fā)展史健爬,看到了它未來的樣子控乾。
集裝箱航運(yùn)的發(fā)展史,就是一部產(chǎn)業(yè)興衰史娜遵。在這個(gè)鏈條的無數(shù)的人和物的命運(yùn)都被改變蜕衡。有的國家,有的港口因此快速崛起设拟。而有的則被時(shí)代所拋棄慨仿。它消滅了很多傳統(tǒng)的工作崗位,同時(shí)也帶來了很多新興的職業(yè)纳胧。中國這樣的發(fā)展中國家镰吆,因此能夠快速融入到全球的協(xié)作體系中去,實(shí)現(xiàn)了自己的快速崛起躲雅。Docker未來會對IT產(chǎn)業(yè)帶來哪些改變呢鼎姊?這個(gè)問題,的確值得所有人深思相赁。
IT產(chǎn)業(yè)分工方式的變革
下面的內(nèi)容讓我是心潮澎湃呀相寇,不知道各位怎么想
傳統(tǒng)的IT產(chǎn)業(yè),大部分是以項(xiàng)目的方式來運(yùn)行钮科』缴溃客戶招標(biāo),軟件系統(tǒng)的開發(fā)商和集成商負(fù)責(zé)開發(fā)绵脯。當(dāng)完成客戶的需求以后佳励,搭建系統(tǒng)進(jìn)行測試,最后部署到客戶的執(zhí)行環(huán)境蛆挫。這期間還需要負(fù)責(zé)系統(tǒng)的調(diào)試赃承,費(fèi)時(shí)費(fèi)力,如果有新的模塊時(shí)悴侵,還需要重新的部署瞧剖,調(diào)試。系統(tǒng)的開發(fā)者可免,運(yùn)營者抓于,客戶之間,無法劃分一條清晰的界限浇借。這很像傳統(tǒng)的航運(yùn)業(yè)里面捉撮,客戶需要自己把一件一件貨物搬到輪船上,費(fèi)時(shí)費(fèi)力妇垢。這種模式注定了無法進(jìn)行大規(guī)模的分工協(xié)作巾遭,所有的模塊需要全部集中在一家大的公司進(jìn)行開發(fā)肉康。應(yīng)為協(xié)作的方式,導(dǎo)致的溝通成本太高灼舍。如果未來迎罗,所有的系統(tǒng),全部是以容器鏡像的方式去發(fā)布片仿。任何云的服務(wù)商都可以去執(zhí)行這些計(jì)算負(fù)載。很多不同的模塊完全可以外包到世界各地的團(tuán)隊(duì)去完成尤辱,只要模塊之間以微服務(wù)的方式砂豌,定義清晰的接口。完成開發(fā)后光督,push到統(tǒng)一的鏡像倉庫阳距。軟件系統(tǒng)的運(yùn)營者,從倉庫pull到鏡像结借,放到任何的云的系統(tǒng)去執(zhí)行筐摘。所有的團(tuán)隊(duì)之間,都有統(tǒng)一的交付界面船老。大大降低了協(xié)作成本咖熟。所帶來的直接好處是,掃除了軟件眾包的方式的最大障礙柳畔。軟件眾包會成功一個(gè)非常流行的IT生產(chǎn)方式馍管。
運(yùn)維角色的轉(zhuǎn)變
傳統(tǒng)運(yùn)維,如果僅僅是安裝軟件薪韩,配置系統(tǒng)确沸,備份拷貝文件,部署和發(fā)布俘陷。如果所有的系統(tǒng)都是容器鏡像的方式去發(fā)布罗捎,所有的計(jì)算負(fù)載都是在云上面去執(zhí)行。就像傳統(tǒng)的碼頭工人一樣拉盾,消亡是必然的!!!
如果你是一名運(yùn)維工程師桨菜,那么你的危機(jī)感呢!6苁!@准ぁ!8嫠健J合尽!Wに凇8俊P滓臁!挤巡!
集裝箱航運(yùn)史上剩彬,碼頭工人是個(gè)非常悲劇的角色,一開始矿卑,抵制集裝箱喉恋,認(rèn)為會大大減少他們的工作機(jī)會,到后面母廷,當(dāng)浪潮來臨是轻黑,其實(shí)是無法抵擋的。整個(gè)的職業(yè)基本上就消亡了琴昆。大家現(xiàn)在在碼頭上氓鄙,肯定看不到那種扛貨物的碼頭工人的。但是并不是人消亡了业舍,而是職業(yè)消亡了抖拦,取而代之的是各類的吊裝設(shè)備的操作工人,集裝箱的調(diào)度管理人員舷暮。Docker的英文意思就是“碼頭工人”态罪,其寓意就是Docker這種東西,取代了碼頭工人的傳統(tǒng)工作下面,是機(jī)器的延伸向臀。傳統(tǒng)運(yùn)維,如果僅僅是安裝軟件诸狭,配置系統(tǒng)券膀,備份拷貝文件,部署和發(fā)布驯遇。如果所有的系統(tǒng)都是容器鏡像的方式去發(fā)布芹彬,所有的計(jì)算負(fù)載都是在云上面去執(zhí)行。就像傳統(tǒng)的碼頭工人一樣叉庐,消亡是必然的舒帮。當(dāng)DevOps真正實(shí)現(xiàn)后,開發(fā)和運(yùn)維陡叠,其實(shí)界限越來越模糊了玩郊。人更多的是從事更有創(chuàng)造力的工作。
企業(yè)應(yīng)用市場的興起
Apple Store枉阵,帶來了2C領(lǐng)域軟件開發(fā)新的商業(yè)模式译红。那么企業(yè)應(yīng)用市場會有怎樣的創(chuàng)新呢?如果所有的軟件系統(tǒng)兴溜,全部是以容器鏡像的方式發(fā)布侦厚。那么企業(yè)應(yīng)用市場將是一個(gè)非常重要的入口耻陕。相比于2C領(lǐng)域,企業(yè)應(yīng)用市場還是有一些不同點(diǎn)刨沦。未來诗宣,會呈現(xiàn)兩種模式,一種是公有的企業(yè)應(yīng)用市場想诅。另一種是私有的企業(yè)應(yīng)用市場召庞。中小型公司,或者比較傳統(tǒng)企業(yè)来破,會傾向于從公有的企業(yè)應(yīng)用市場獲取軟件服務(wù)裁眯。而比較大型的公司,會傾向于建設(shè)自己的企業(yè)應(yīng)用市場讳癌。不管是哪種模式,必然會帶來存皂,IT生產(chǎn)領(lǐng)域的分工的細(xì)化和全球化晌坤。就像目前iPhone手機(jī)上的APP所走得道路一樣。
云服務(wù)商會重新洗牌
最快速的擁抱這種變革的港口旦袋,會快速的崛起骤菠,而傳統(tǒng)利益之間艱難抉擇的港口,會很快被時(shí)代拋棄疤孕。
也就是說:你現(xiàn)在看到的互聯(lián)網(wǎng)大公司商乎,可能二十年后就消失了!<婪Аp钠荨!W亍Dǖ省!
哈哈哈哈哈B赘S住!0啬ⅰP叶场!?确佟G⑺稹!革半!
傳統(tǒng)運(yùn)維趁啸,如果僅僅是安裝軟件强缘,配置系統(tǒng),備份拷貝文件不傅,部署和發(fā)布旅掂。如果所有的系統(tǒng)都是容器鏡像的方式去發(fā)布,所有的計(jì)算負(fù)載都是在云上面去執(zhí)行访娶。就像傳統(tǒng)的碼頭工人一樣商虐,消亡是必然的
建立在傳統(tǒng)IT模式下的云服務(wù)商,主要依賴的綁定用戶建立競爭壁壘崖疤。Docker技術(shù)會彌合各個(gè)云之間的鴻溝秘车,計(jì)算負(fù)載可以在各個(gè)云的服務(wù)商之間自由流動(dòng)。此時(shí)傳統(tǒng)的競爭壁壘不復(fù)存在了劫哼。從集裝箱航運(yùn)的歷史看叮趴,云計(jì)算的服務(wù)商,好比是傳統(tǒng)集裝箱運(yùn)輸體系中的港口权烧。倫敦港的迅速衰落眯亦,而荷蘭的鹿特丹的快速崛起。為我們提供很好的歷史經(jīng)驗(yàn)般码。最快速的擁抱這種變革的港口妻率,會快速的崛起,而傳統(tǒng)利益之間艱難抉擇的港口板祝,會很快被時(shí)代拋棄宫静。當(dāng)計(jì)算可以自由流動(dòng)時(shí),更好的開放的姿態(tài)接納這種流動(dòng)券时,更快速的規(guī)模擴(kuò)張孤里,降低單位計(jì)算的成本,是在未來云計(jì)算競爭中勝出的關(guān)鍵因素橘洞。
云服務(wù)巨頭該干嘛Eち弧!U痖荨W粮颉!抛虏!
云計(jì)算的廠商當(dāng)前要做的不是設(shè)置障礙博其,阻止計(jì)算的流動(dòng),也不是推出自己特有的容器的服務(wù)迂猴,去充當(dāng)航運(yùn)公司慕淡。因?yàn)檫@不會獲取任何的競爭優(yōu)勢。反而是要積極參與Docker“航運(yùn)”基礎(chǔ)設(shè)施的建設(shè)沸毁。標(biāo)準(zhǔn)的制定峰髓,有更好的“集裝箱堆場”(鏡像倉庫)傻寂,兼容各種集裝箱拖船的吊裝設(shè)備,讓自己的航船更經(jīng)濟(jì)携兵,有效的運(yùn)輸各個(gè)航運(yùn)公司的集裝箱疾掰。
Docker發(fā)展的現(xiàn)階段,很像集裝箱剛開始用于航運(yùn)的最初的那幾年徐紧。整個(gè)產(chǎn)業(yè)鏈條尚不完善静檬。價(jià)格并不比傳統(tǒng)貨運(yùn)更有優(yōu)勢〔⒓叮客戶大部分處于觀望狀態(tài)拂檩。所以出現(xiàn)了不同的道路的分歧〕氨蹋總結(jié)起來稻励,有下面三種道路:
容器技術(shù)往下走,去取代傳統(tǒng)的虛擬機(jī)
NO!!!!
基于Docker在安全愈涩,以及隔離性上面存在的一些問題望抽,以及用戶對傳統(tǒng)機(jī)器根生地固的使用習(xí)慣(容器當(dāng)虛擬機(jī)在使用)。有一種聲音是容器應(yīng)該往IAAS層發(fā)展钠署,去取代傳統(tǒng)的虛擬機(jī),然后再通過Docker這樣一套體系去管理起來荒椭。我覺得未來可能不是這個(gè)方向谐鼎,因?yàn)閭鹘y(tǒng)的IAAS層已經(jīng)非常成熟了,傳統(tǒng)的虛擬化技術(shù)趣惠,也沒用遇到很大問題狸棍,Docker再去解決計(jì)算,網(wǎng)絡(luò)味悄,存儲的問題草戈,是重復(fù)性的工作,是為了技術(shù)而技術(shù)侍瑟,并不會對產(chǎn)業(yè)生態(tài)帶來任何的好處唐片。
容器技術(shù)往上走,取代傳統(tǒng)的PAAS
yes!!?
一個(gè)集裝箱涨颜,只運(yùn)送一種貨物费韭,一個(gè)目的地 3C原則
,一個(gè)進(jìn)程庭瑰,只跑在一個(gè)容器里面 docker
傳統(tǒng)的PAAS的確遇到了很大的問題星持,容器技術(shù)往上走,去替代傳統(tǒng)PAAS也是必然的趨勢之一弹灭。但是督暂,我覺得這只是副產(chǎn)品揪垄,Docker主要的變革,并不是去改變PAAS逻翁。未來IAAS饥努,PAAS,SAAS之間的界限越來越模糊卢未。有可能是一個(gè)新的名詞肪凛,譬如CAAS(Container As A Service)。計(jì)算單元都是以容器為單位辽社。上世紀(jì)60年代伟墙,越戰(zhàn)期間,以集裝箱為單位運(yùn)送戰(zhàn)略物資時(shí)滴铅,美軍提出了一個(gè)著名的3C原則戳葵,也就是一個(gè)集裝箱,只運(yùn)送一種貨物汉匙,一個(gè)目的地拱烁。這個(gè)原則,同樣適用于容器噩翠,也就是Docker公司提出的一個(gè)主要原則戏自,一個(gè)進(jìn)程,只跑在一個(gè)容器里面伤锚。所以擅笔,集裝箱就是最基礎(chǔ)的計(jì)算單元。
私有云的容器服務(wù)
Docker在私有云領(lǐng)域屯援,得到了較為廣泛的應(yīng)用C兔恰!狞洋!
現(xiàn)階段弯淘,公有云上搭建Docker系統(tǒng),的確鮮有比較成熟的商用案例吉懊。因?yàn)橐獙?shí)現(xiàn)穩(wěn)定的商用環(huán)境庐橙,一方面需要Docker技術(shù),特別是網(wǎng)絡(luò)技術(shù)的不斷成熟借嗽。另外一方面怕午,也需要公有云的IAAS層專門針對容器服務(wù)的深度融合。現(xiàn)階段公有云上跑容器服務(wù)淹魄,就和上世紀(jì)50年代郁惜,用老式貨船運(yùn)輸集裝箱業(yè)務(wù)。反而是私有云領(lǐng)域,得到了較為廣泛的應(yīng)用兆蕉,國內(nèi)大的互聯(lián)網(wǎng)公司羽戒,紛紛在自己的私有云中實(shí)踐Docker。但是大部分依然是比較傳統(tǒng)的使用方法虎韵,也就是將容器當(dāng)虛擬機(jī)用易稠,利用Docker的Build和Ship的體系,實(shí)現(xiàn)自己的DevOps包蓝。私有云的容器服務(wù)驶社,只是特定時(shí)期的特定現(xiàn)象。長遠(yuǎn)看测萎,公有云逐步取代私有云是必然趨勢亡电。隨著Docker技術(shù)的越來越成熟。分布式以及微服務(wù)架構(gòu)的應(yīng)用越來越廣泛硅瞧。私有云容器服務(wù)會成為歷史份乒。
Docker的未來在哪里呢?其實(shí)很難預(yù)測未來的方式腕唧。但是在IT產(chǎn)業(yè)界或辖,兩個(gè)原則是永遠(yuǎn)不變的:
1:簡單的東西,永遠(yuǎn)是最有生命力的
2:客戶永遠(yuǎn)只會關(guān)注他的業(yè)務(wù)枣接,不會關(guān)心除此之外的任何東西颂暇。
Docker只要不停的讓客戶使用或者維護(hù)IT系統(tǒng)越來越簡單,永遠(yuǎn)只需要關(guān)心自己的業(yè)務(wù)但惶,而不必費(fèi)心其他的東西耳鸯。我相信這就是它未來的方向。