將要改變IT世界的的docker技術(shù)是什么?

在網(wǎng)上看到 一篇很好的文章,題目是 《將要改變IT世界的的docker技術(shù)是什么?》
我感覺(jué)它對(duì)于docker的介紹特別好,下面分享給大家。有刪減。

  客戶(hù)永遠(yuǎn)只會(huì)關(guān)注他的業(yè)務(wù),不會(huì)關(guān)心除此之外的任何東西。
                                                                                -------誰(shuí)說(shuō)的不重要

  “沒(méi)有集裝箱,就不會(huì)有全球化?!保@句話(huà)看起來(lái)很突兀,容器就是那個(gè)集裝箱!

   很多人將Docker等同于Container,其實(shí)這是不對(duì)的,Docker是以容器為核心的IT交付與運(yùn)行體系。它包括了Docker Engine(容器的運(yùn)行管理)DockerRegistry(容器的分發(fā)管理),以及相關(guān)的一系列的API接口。包括后來(lái)發(fā)展起來(lái)DockerMachine,Swarm,Compose。 所以可以看做是一套以容器為核心的創(chuàng)建,分發(fā),和運(yùn)行的標(biāo)準(zhǔn)化體系。

     如果把Container比作是傳統(tǒng)領(lǐng)域的集裝箱,那么承載集裝箱的港口就可以看做是云的服務(wù)商,集裝箱的拖船可以看做是云服務(wù)所提供的IAAS服務(wù)。Docker公司弄出的Docker Machine之類(lèi)的可以看做是一種集裝箱的吊裝設(shè)備。當(dāng)然,作為一套推動(dòng)全球經(jīng)濟(jì)快速運(yùn)轉(zhuǎn)的航運(yùn)體系,不僅僅只有這些,還有無(wú)數(shù)的基礎(chǔ)設(shè)施,包括高速公路,集裝箱的拖車(chē),將貨物裝入集裝箱的叉車(chē),搬運(yùn)工人。另外,還有一套軟的設(shè)施,包括各類(lèi)的標(biāo)準(zhǔn),集裝箱的交付流程。所有的這些,我們都可以從IT世界里面的看到他們的身影。

    Docker是一套以容器技術(shù)為核心的思想和一套標(biāo)準(zhǔn)化體系。它不是一個(gè)技術(shù),也不是一個(gè)公司。Docker不等同于現(xiàn)在的Docker公司,和它的發(fā)展和興衰沒(méi)有必然的關(guān)系。

                      Docker會(huì)是改變IT世界的那只”箱子“嗎?
       下這個(gè)結(jié)論還有點(diǎn)早,但是我們可以從傳統(tǒng)的以集裝箱為核心的航運(yùn)體系的發(fā)展史來(lái)預(yù)測(cè)一下它的未來(lái)。首先,來(lái)看看現(xiàn)代航運(yùn)體系中,最核心的那個(gè)東西,也就是集裝箱,它是什么時(shí)候發(fā)明的?其實(shí)在上世紀(jì)20年代就已經(jīng)在使用了。但是為什么一直到上世紀(jì)70年代才開(kāi)始流行開(kāi)來(lái)。因?yàn)槟莻€(gè)時(shí)候,集裝箱僅僅是一個(gè)工具,僅僅是防止損壞和被盜。它沒(méi)有融入到全社會(huì)的協(xié)作體系中。1956年,集裝箱之父麥克萊恩,第一次將它用到大規(guī)模的貨物運(yùn)輸,這個(gè)時(shí)候,它才由一個(gè)單純的工具,開(kāi)始發(fā)展成一種新的觀念和體系,才開(kāi)始逐漸融入到全產(chǎn)業(yè)鏈條的運(yùn)轉(zhuǎn)中去。到上世紀(jì)70年代中期,各種專(zhuān)用的集裝箱港口,拖船,吊裝設(shè)備開(kāi)始普及和完善,這才代表的一個(gè)新的時(shí)代的開(kāi)始。以集裝箱為核心的現(xiàn)代航運(yùn)體系,開(kāi)始取代了舊式的貨運(yùn)體系。

我為什么要保留上面的一段話(huà)呢?我想讓大家自己可以思考!?。?!

   我們?cè)賮?lái)看看Docker的發(fā)展歷史,容器技術(shù)其實(shí)早在10多年前就出現(xiàn)了。但是為什么很少人知道它?因?yàn)槟莻€(gè)時(shí)候,它僅僅只是一個(gè)虛擬化的技術(shù),只是從一個(gè)角度解決了Run的問(wèn)題,沒(méi)有看出相比KVM,XEM有太多的優(yōu)勢(shì)。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)非常普及了嗎?顯然沒(méi)有。

                              Docker和java的區(qū)別
   Docker剛開(kāi)始出現(xiàn)時(shí),很多人覺(jué)得它和Java很像,所謂的一次構(gòu)建,隨處執(zhí)行。但是Docker和Java其實(shí)有本質(zhì)性的區(qū)別的,Java只是解決了執(zhí)行環(huán)境的兼容性的問(wèn)題,或者說(shuō)它只解決了Run的問(wèn)題,并沒(méi)有把這個(gè)技術(shù)延伸到IT產(chǎn)業(yè)鏈條的各個(gè)環(huán)節(jié)中,所以注定它只是一個(gè)重要的技術(shù),而不能成為改變世界的創(chuàng)新。

  集裝箱也好,容器也罷,當(dāng)我們思考,什么樣的技術(shù),才是一種顛覆性的技術(shù)時(shí),一般從下面幾個(gè)維度去思考:

1:它是否帶來(lái)整個(gè)產(chǎn)業(yè)生產(chǎn)力的大幅度提升。

2:它是否融入到了整個(gè)產(chǎn)業(yè)的價(jià)值鏈條中去了。

3:整個(gè)產(chǎn)業(yè)是否圍繞它進(jìn)行分工和協(xié)作。

  Docker是否是一種改變未來(lái)IT產(chǎn)業(yè)的顛覆式創(chuàng)新,這里我大膽的給出肯定的答案,至少,從集裝箱的發(fā)展史,看到了它未來(lái)的樣子。

集裝箱航運(yùn)的發(fā)展史,就是一部產(chǎn)業(yè)興衰史。在這個(gè)鏈條的無(wú)數(shù)的人和物的命運(yùn)都被改變。有的國(guó)家,有的港口因此快速崛起。而有的則被時(shí)代所拋棄。它消滅了很多傳統(tǒng)的工作崗位,同時(shí)也帶來(lái)了很多新興的職業(yè)。中國(guó)這樣的發(fā)展中國(guó)家,因此能夠快速融入到全球的協(xié)作體系中去,實(shí)現(xiàn)了自己的快速崛起。Docker未來(lái)會(huì)對(duì)IT產(chǎn)業(yè)帶來(lái)哪些改變呢?這個(gè)問(wèn)題,的確值得所有人深思。

                             IT產(chǎn)業(yè)分工方式的變革

下面的內(nèi)容讓我是心潮澎湃呀,不知道各位怎么想

傳統(tǒng)的IT產(chǎn)業(yè),大部分是以項(xiàng)目的方式來(lái)運(yùn)行。客戶(hù)招標(biāo),軟件系統(tǒng)的開(kāi)發(fā)商和集成商負(fù)責(zé)開(kāi)發(fā)。當(dāng)完成客戶(hù)的需求以后,搭建系統(tǒng)進(jìn)行測(cè)試,最后部署到客戶(hù)的執(zhí)行環(huán)境。這期間還需要負(fù)責(zé)系統(tǒng)的調(diào)試,費(fèi)時(shí)費(fèi)力,如果有新的模塊時(shí),還需要重新的部署,調(diào)試。系統(tǒng)的開(kāi)發(fā)者,運(yùn)營(yíng)者,客戶(hù)之間,無(wú)法劃分一條清晰的界限。這很像傳統(tǒng)的航運(yùn)業(yè)里面,客戶(hù)需要自己把一件一件貨物搬到輪船上,費(fèi)時(shí)費(fèi)力。這種模式注定了無(wú)法進(jìn)行大規(guī)模的分工協(xié)作,所有的模塊需要全部集中在一家大的公司進(jìn)行開(kāi)發(fā)。應(yīng)為協(xié)作的方式,導(dǎo)致的溝通成本太高。如果未來(lái),所有的系統(tǒng),全部是以容器鏡像的方式去發(fā)布。任何云的服務(wù)商都可以去執(zhí)行這些計(jì)算負(fù)載。很多不同的模塊完全可以外包到世界各地的團(tuán)隊(duì)去完成,只要模塊之間以微服務(wù)的方式,定義清晰的接口。完成開(kāi)發(fā)后,push到統(tǒng)一的鏡像倉(cāng)庫(kù)。軟件系統(tǒng)的運(yùn)營(yíng)者,從倉(cāng)庫(kù)pull到鏡像,放到任何的云的系統(tǒng)去執(zhí)行。所有的團(tuán)隊(duì)之間,都有統(tǒng)一的交付界面。大大降低了協(xié)作成本。所帶來(lái)的直接好處是,掃除了軟件眾包的方式的最大障礙。軟件眾包會(huì)成功一個(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ī)感呢?。。。。。。。。。。?!

集裝箱航運(yùn)史上,碼頭工人是個(gè)非常悲劇的角色,一開(kāi)始,抵制集裝箱,認(rèn)為會(huì)大大減少他們的工作機(jī)會(huì),到后面,當(dāng)浪潮來(lái)臨是,其實(shí)是無(wú)法抵擋的。整個(gè)的職業(yè)基本上就消亡了。大家現(xiàn)在在碼頭上,肯定看不到那種扛貨物的碼頭工人的。但是并不是人消亡了,而是職業(yè)消亡了,取而代之的是各類(lèi)的吊裝設(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)后,開(kāi)發(fā)和運(yùn)維,其實(shí)界限越來(lái)越模糊了。人更多的是從事更有創(chuàng)造力的工作。

                                    企業(yè)應(yīng)用市場(chǎng)的興起

Apple Store,帶來(lái)了2C領(lǐng)域軟件開(kāi)發(fā)新的商業(yè)模式。那么企業(yè)應(yīng)用市場(chǎng)會(huì)有怎樣的創(chuàng)新呢?如果所有的軟件系統(tǒng),全部是以容器鏡像的方式發(fā)布。那么企業(yè)應(yīng)用市場(chǎng)將是一個(gè)非常重要的入口。相比于2C領(lǐng)域,企業(yè)應(yīng)用市場(chǎng)還是有一些不同點(diǎn)。未來(lái),會(huì)呈現(xiàn)兩種模式,一種是公有的企業(yè)應(yīng)用市場(chǎng)。另一種是私有的企業(yè)應(yīng)用市場(chǎng)。中小型公司,或者比較傳統(tǒng)企業(yè),會(huì)傾向于從公有的企業(yè)應(yīng)用市場(chǎng)獲取軟件服務(wù)。而比較大型的公司,會(huì)傾向于建設(shè)自己的企業(yè)應(yīng)用市場(chǎng)。不管是哪種模式,必然會(huì)帶來(lái),IT生產(chǎn)領(lǐng)域的分工的細(xì)化和全球化。就像目前iPhone手機(jī)上的APP所走得道路一樣。

                                      云服務(wù)商會(huì)重新洗牌

      最快速的擁抱這種變革的港口,會(huì)快速的崛起,而傳統(tǒng)利益之間艱難抉擇的港口,會(huì)很快被時(shí)代拋棄。

也就是說(shuō):你現(xiàn)在看到的互聯(lián)網(wǎng)大公司,可能二十年后就消失了?。。。。。?!

哈哈哈哈哈?。。。。。。。。?!

      傳統(tǒng)運(yùn)維,如果僅僅是安裝軟件,配置系統(tǒng),備份拷貝文件,部署和發(fā)布。如果所有的系統(tǒng)都是容器鏡像的方式去發(fā)布,所有的計(jì)算負(fù)載都是在云上面去執(zhí)行。就像傳統(tǒng)的碼頭工人一樣,消亡是必然的

建立在傳統(tǒng)IT模式下的云服務(wù)商,主要依賴(lài)的綁定用戶(hù)建立競(jìng)爭(zhēng)壁壘。Docker技術(shù)會(huì)彌合各個(gè)云之間的鴻溝,計(jì)算負(fù)載可以在各個(gè)云的服務(wù)商之間自由流動(dòng)。此時(shí)傳統(tǒng)的競(jìng)爭(zhēng)壁壘不復(fù)存在了。從集裝箱航運(yùn)的歷史看,云計(jì)算的服務(wù)商,好比是傳統(tǒng)集裝箱運(yùn)輸體系中的港口。倫敦港的迅速衰落,而荷蘭的鹿特丹的快速崛起。為我們提供很好的歷史經(jīng)驗(yàn)。最快速的擁抱這種變革的港口,會(huì)快速的崛起,而傳統(tǒng)利益之間艱難抉擇的港口,會(huì)很快被時(shí)代拋棄。當(dāng)計(jì)算可以自由流動(dòng)時(shí),更好的開(kāi)放的姿態(tài)接納這種流動(dòng),更快速的規(guī)模擴(kuò)張,降低單位計(jì)算的成本,是在未來(lái)云計(jì)算競(jìng)爭(zhēng)中勝出的關(guān)鍵因素。

                               云服務(wù)巨頭該干嘛?。。。。?!

    云計(jì)算的廠(chǎng)商當(dāng)前要做的不是設(shè)置障礙,阻止計(jì)算的流動(dòng),也不是推出自己特有的容器的服務(wù),去充當(dāng)航運(yùn)公司。因?yàn)檫@不會(huì)獲取任何的競(jìng)爭(zhēng)優(yōu)勢(shì)。反而是要積極參與Docker“航運(yùn)”基礎(chǔ)設(shè)施的建設(shè)。標(biāo)準(zhǔn)的制定,有更好的“集裝箱堆場(chǎng)”(鏡像倉(cāng)庫(kù)),兼容各種集裝箱拖船的吊裝設(shè)備,讓自己的航船更經(jīng)濟(jì),有效的運(yùn)輸各個(gè)航運(yùn)公司的集裝箱。

Docker發(fā)展的現(xiàn)階段,很像集裝箱剛開(kāi)始用于航運(yùn)的最初的那幾年。整個(gè)產(chǎn)業(yè)鏈條尚不完善。價(jià)格并不比傳統(tǒng)貨運(yùn)更有優(yōu)勢(shì)??蛻?hù)大部分處于觀望狀態(tài)。所以出現(xiàn)了不同的道路的分歧??偨Y(jié)起來(lái),有下面三種道路:

                            容器技術(shù)往下走,去取代傳統(tǒng)的虛擬機(jī)

NO!!!!

基于Docker在安全,以及隔離性上面存在的一些問(wèn)題,以及用戶(hù)對(duì)傳統(tǒng)機(jī)器根生地固的使用習(xí)慣(容器當(dāng)虛擬機(jī)在使用)。有一種聲音是容器應(yīng)該往IAAS層發(fā)展,去取代傳統(tǒng)的虛擬機(jī),然后再通過(guò)Docker這樣一套體系去管理起來(lái)。我覺(jué)得未來(lái)可能不是這個(gè)方向,因?yàn)閭鹘y(tǒng)的IAAS層已經(jīng)非常成熟了,傳統(tǒng)的虛擬化技術(shù),也沒(méi)用遇到很大問(wèn)題,Docker再去解決計(jì)算,網(wǎng)絡(luò),存儲(chǔ)的問(wèn)題,是重復(fù)性的工作,是為了技術(shù)而技術(shù),并不會(huì)對(duì)產(chǎn)業(yè)生態(tài)帶來(lái)任何的好處。

                        容器技術(shù)往上走,取代傳統(tǒng)的PAAS

yes!!?
一個(gè)集裝箱,只運(yùn)送一種貨物,一個(gè)目的地 3C原則
,一個(gè)進(jìn)程,只跑在一個(gè)容器里面 docker

傳統(tǒng)的PAAS的確遇到了很大的問(wèn)題,容器技術(shù)往上走,去替代傳統(tǒng)PAAS也是必然的趨勢(shì)之一。但是,我覺(jué)得這只是副產(chǎn)品,Docker主要的變革,并不是去改變PAAS。未來(lái)IAAS,PAAS,SAAS之間的界限越來(lái)越模糊。有可能是一個(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)用?。?!

現(xiàn)階段,公有云上搭建Docker系統(tǒng),的確鮮有比較成熟的商用案例。因?yàn)橐獙?shí)現(xiàn)穩(wěn)定的商用環(huán)境,一方面需要Docker技術(shù),特別是網(wǎng)絡(luò)技術(shù)的不斷成熟。另外一方面,也需要公有云的IAAS層專(zhuān)門(mén)針對(duì)容器服務(wù)的深度融合?,F(xiàn)階段公有云上跑容器服務(wù),就和上世紀(jì)50年代,用老式貨船運(yùn)輸集裝箱業(yè)務(wù)。反而是私有云領(lǐng)域,得到了較為廣泛的應(yīng)用,國(guó)內(nèi)大的互聯(lián)網(wǎng)公司,紛紛在自己的私有云中實(shí)踐Docker。但是大部分依然是比較傳統(tǒng)的使用方法,也就是將容器當(dāng)虛擬機(jī)用,利用Docker的Build和Ship的體系,實(shí)現(xiàn)自己的DevOps。私有云的容器服務(wù),只是特定時(shí)期的特定現(xiàn)象。長(zhǎng)遠(yuǎn)看,公有云逐步取代私有云是必然趨勢(shì)。隨著Docker技術(shù)的越來(lái)越成熟。分布式以及微服務(wù)架構(gòu)的應(yīng)用越來(lái)越廣泛。私有云容器服務(wù)會(huì)成為歷史。

    Docker的未來(lái)在哪里呢?其實(shí)很難預(yù)測(cè)未來(lái)的方式。但是在IT產(chǎn)業(yè)界,兩個(gè)原則是永遠(yuǎn)不變的:

1:簡(jiǎn)單的東西,永遠(yuǎn)是最有生命力的
2:客戶(hù)永遠(yuǎn)只會(huì)關(guān)注他的業(yè)務(wù),不會(huì)關(guān)心除此之外的任何東西。

Docker只要不停的讓客戶(hù)使用或者維護(hù)IT系統(tǒng)越來(lái)越簡(jiǎn)單,永遠(yuǎn)只需要關(guān)心自己的業(yè)務(wù),而不必費(fèi)心其他的東西。我相信這就是它未來(lái)的方向。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容