有容雲:樑勝-如何讓Docker容器在企業中投產(下)

有容雲發表於2016-06-15

本文來源:http://www.youruncloud.com/blog/58.html

編者注: 本文是對上海容器大會有容雲專場樑勝博士直播視訊的文字回播,力求高度還原當天演講內容未加個人觀點,如在細節部分略有出入歡迎留言指正。(文章較長,分為上、下兩個部分,視訊原版觀看地址見文末)

enter image description here

前情提要:

在上篇中樑博士講了容器技術短時間內爆發的根本原因,容器在企業中投產的必要性、必然性以及容器投產四種場景中的前兩種:新一代的私有云、混合雲環境;企業應用商店和一鍵部署;本篇將介紹最後兩種場景:多環境、多資源池的DevOps流水線,構建輕量級PaaS服務,以及微服務、容器雲等方面的內容,閱讀前文清點選:樑勝 | 如何讓Docker容器在企業中投產(上)

enter image description here

我們要講的第三個場景是DevOps流水線建立起來之後出現的多環境多資源池問題。最近十年以來,國內外企業IT都發展得很快。以前企業跟網際網路公司最大的差別是企業不開發軟體而網際網路公司開發軟體,企業找軟體應用廠商買應用,買回來之後放在自己的資料中心執行,所以在此模式下的企業可以購置伺服器,可以買儲存陣列,可以買現成的軟體包比如用友這些都沒問題。

之前的傳統企業很少有大量研發人員,而現在完全變了,銀行變成網上銀行、手機銀行,每一個企業都必須在內部開始做研發,做了研發之後須購買類似DevOps的流水線,而DevOps的技術其實並不完整。我們知道,現在Docker的使用非常多,DevOps流水線前半部分的路徑有比較明顯的解決方案,現在從研發人員角度來講,你把程式碼放在Github、Gitlab上,經過Jenkins這樣的工具做CI、CD,經過打包最後都變成了Docker映象。那麼問題來了,如何把這些映象大規模的部署到多個環境,多個資源池,這裡面就是我早先提到的企業容器雲,有一個非常重要的位置。在企業裡面,第一,一定是一個多資源池的效果,我之前講混合雲、私有云的模式,就是適合在這個地方。

另外一個就是多環境,環境什麼意思,環境就是給你部署和執行你的應用軟體所提供的資源池,一個基礎設施的多叢集。你把應用打包好最先進行的是測試,測試完之後是效能測試,在之後是預生產環境的部署和投放,然後才是在生產環境投放,最後再升級。所以在這種多環境多資源池情況下,你必須反覆對你的應用部署和升級,這時候容器技術在企業環境中就體現了非常大的價值。這是一個非常簡單的例項,但是我們在美國,歐洲,中國乃至全世界任何地方,容器在企業中投產落地用到最多的就是這個場景。Rancher是一個容器管理平臺,很多使用者第一部使用Rancher解決的都是這個問題。可以說現在容器投產中首當的就是這個場景。

enter image description here

第四個給大家分享的是構建輕量級PaaS服務的場景,這確實也是一個很重要的方向。因為在傳統IaaS、PaaS方面,大家對這些平臺的認知比較明顯,也有很多平臺做得比較成功。但是容器對傳統雲端計算的定位有一定衝擊,所以這裡創造了一個構建輕量級PaaS服務的機會。在我看來,輕量級PaaS服務就是企業級容器雲加上DevOps流水線的管理功能。這二者加起來跟傳統的PaaS的功能有很大一部分重疊,輕量級PaaS並不是只在Paas層面,往下延伸可至IaaS層面。因為容器跟虛擬機器並沒有很多共同的地方,所以傳統PaaS裡面很多主要功能跟傳統IaaS裡面一些跟容器有關的功能結合起來,變成一個基於容器的PaaS服務。這是一個非常大的成長方向,我們也可以看到,在業界很多原來傳統做PaaS的廠商正在往這個方向轉型。

我們發現,無論是廠商也好,或者是企業使用者,在企業內部要將容器投產與給研發人使用不太一樣的是,投產你需要連線一個專案,這很不容易找到。有時候找不到專案,你就找不到一個落腳點,所以我們常常會發現PaaS成為了容器在企業落地的一個落腳點。PaaS跟IaaS出來已經將近10年,概念也一直在被組織。慢慢的很多企業也逐漸形成了對PaaS的認知,很多時候也創造了對PaaS的希望,但是傳統PaaS不能真正解決研發團隊和運維團隊在企業中廣泛推進出現的問題,所以基於容器的輕量級PaaS出現之後實現了快速落地。研發和運維團隊可以很快把這個技術用好,應用很快的部署好。

不止是研發人員,還有很多容器廠商,包括很多大公司大企業裡面的IT運維人員,這其實是一個很好的方向。從商業角度來講,如果真正能通過容器吧應用封裝成輕量級PaaS,這非常有前途。我們也看到業界有很多大公司朝著這個方向做,其中最明顯的就是紅帽。我們非常敬仰這個公司,它也是PaaS界和IaaS界的先驅,IaaS的OpenStack, PaaS的OpenShift都做得很好,它新一代的OpenShift其實就是基於Kubernetes更加輕量級的PaaS。所以我認為這是一個非常有前途的方向。

enter image description here

另外我也想講下微服務,我個人做微服務做了很多年,在企業中推廣容器的時候發現微服務更像一把雙刃劍,有時候有人很喜歡,它也可以真正改變一些應用。把企業成熟的應用改成微服務架構是件很容器的事情,就如我之前所說,容器用來部署Remedy這肯定不是微服務化的應用。所以這裡我特別提出來講一下的是,容器在企業落地並不意味著要先把應用做成微服務,微服務是另外一個大方向,我不敢說100%的應用都會被做成微服務,可能在將來很多複雜的應用、需要敏捷開發的應用會被做成微服務化,但是不是說先把應用做成微服務化再上容器,而是先把容器在企業落地之後再把應用轉換成微服務化會更方便。我早年也吃了些苦頭,跑到企業大講微服務,反而被看成是非常先進的東西,你這是在天上飄,跟落地差得非常遠。

enter image description here

之前我們講的內容出現了很多企業容器雲這個東西,這是個非常重要的概念,現在我們來講講它。

enter image description here

在我們看來企業容器雲主要解決三個最大的核心問題。第一,我多次講到的整合資源,整合包括計算、網路、儲存的資源,不管你是來自公有云,私有云,虛擬機器還是和物理機的資源,都將它整合起來變成成不成取之不盡用之不竭的資源池,把計算真正變成水,變成電,這其實是一個非常大的價值,也是構建容器雲需要解決的第一個問題。

在第一個問題解決好以後,資源整合好後如何在資源上進行排程和編排,怎麼把這些微服務排程編排好,如何將這些通過微服務建立起來的應用管理好,這問題需要解決。這個領域也是容器界最熱門的話題,今天可能很多人都要講這個東西。包括Swarm、K8S、Mesos都是這個領域的技術。這裡面有非常大的演進,各個技術各有千秋,有些技術可能非常強大,而另外一些應用可能簡單易用,各有各的好,這是當前容器界的技術熱點。但是其實企業要將容器落地,光有這兩點是不夠的,還有一個第三點。可能在對於網際網路公司前兩點已經夠了,但是在傳統企業,還需要跟企業人員、組織、系統和流程接軌。我們之前在雲上做也有同樣的需求。以前類似與EMC這樣的廠商會實現一些控制、日誌,根據你是誰,做什麼,流程,審批這些事情都要做,所以這三點在傳統企業中容器的落地可以說是缺一不可,我們也是差不多朝著這個方向去做。在業界,不僅僅是Rancher,還有很多其他軟體也做著類似的東西。

enter image description here

我剛講到的一二三,是從整個基礎設施開始,比較重要的比如說Machine Drivers、Virtual、OpenStack等等這些各種不同的基礎設施服務,你把下面弄好了上面實現編排排程的更可能就是根據企業的需要去實現,無論是kubernetes、Swarm、還是mesos,各種不同的編排和排程系統。現在我們有一點看到看到,就像是早年的時候我有一種印象,這些工具是否會一家獨大,比如說如果很強大是否整個世界都變成Kubernetes,到現在這個趨勢並不是很明顯,到現在反而是規模極端,比如我之前提到的高盛,他們把90%計算放到容器上,他同時在用兩種系統,一個是Swarm,另外一個是Kubernetes,Swarm比較簡單,平時CICD直接在Swarm上就可以,遇到比較複雜的,規模比較大要求比較高的系統可能就用Kubernetes。這從另外一方面來看,其實這也是容器從傳統PaaS方法學來的一些教訓。

以前做PaaS,沒有很多人用的一個原因就是因為很多時候CIO或者CTO決定全公司用什麼框架,從上往下會遇到一些阻力。現在的風格是個人有個人的框架,個人有個人的語言。以前可能說我們公司做Java,但是現在這種情況很少了,很多公司不同專案之間用的語言和工具不一樣,這反而是好事,應為不同專案之間要求不一樣,有些是開源專案,有些是自己內部核心的專案,有些是C語言,有些是Java語言,有些是Golang語言,都是不一樣的。所以現在一個大的趨勢,也是容器開始來幫助推進的一個趨勢,上面的框架不管排程編排還是程式設計語言,都會慢慢被弱化,所以從角度來講我個人覺得也不排除將來除了當前這幾種主流工具還有新的編排排程工具出現。

另外一個就是企業IT系統排程介面。我們做下來發現最受歡迎最需要的功能就是基於容器的一鍵部署。誰來部署軟體,軟體如何升級降級,誰來批准,怎麼配置,誰來決定這些配置,圍繞這些問題作了很多事情,但歸根結底容器是用來部署應用的,所以最終為企業提供的介面會跟應用層接軌,所以從我們產品的角度來講,Rancher是一個商業公司,儘管我們做開源,但我們並不是開發一個編排排程的系統,我們的目標是把所有有用的資源整合起來,變成能夠使容器在企業落地的一個平臺。所以很自然的就要研究解決這些問題。

我們是一家美國矽谷的公司,我們去年開始來到中國,我們跟很多技術型的廠商都有合作關係,Rancher是一個開源的平臺技術,我們遠在矽谷,很難接觸到中國的很多使用者,所以我們藉助社群和合作夥伴的力量。

長遠看來,無論是企業容器雲也好,容器雲服務也好,業務部署也好, Kubernetes, Mesos這些東西發展下去會怎樣呢,會整合雲端計算。我們可以看看下面內容做一個借鑑。

enter image description here

90年代的桌面系統,微軟一家獨大,當時我們看到沒有誰來搶佔市場,後來雖然有Linux,但用Windows的使用者還是佔大多數。但是瀏覽器出來之後,一開始大家都知道瀏覽器執行在Windows上,剛出來Windows95 、Windows2000 、WindowsXP等,但是過了5年10年之後,上面的應用標準化了,應用包裝也標準化了,變成了Java包,應用體驗都一樣了,桌面變得可替換。現在微軟還是最普遍的桌面,在研發人員來說,蘋果也是不少,但是廣大使用者來說微軟還是第一,但是它現在的影響遠遠不如20年前,因為瀏覽器的體驗在任何桌面都能實現而且非常類似,最終形成了桌面可替換的情況。其實這對我們使用者來說是個非常好的體驗。

我是用這個打了一個比方,現在我們來看看雲端計算的情況,雲端計算出現之後與這有些類似,國內外的幾家企業他們都做得很好。這情況短期之內不會有太大的變化,但是將來容器在企業做好的話,基礎設施變成可替換也是可能發生的事情。

現在的雲端計算技術已經比較成熟了,前幾年OpenStack很難做,但是也在也有很多人搭了起來而且做得很好,現在差就差在對應用體驗和應用的支援,但是有了容器雲以後可以很好的對應用支援,一鍵部署一鍵升級這些都做得很好,將來這是一個不錯的趨勢,這對我們的雲端計算產業影響是很大的。

enter image description here

最後我們再講講企業雲,包括下面的資源池,比如OpenStack、阿里雲、亞馬遜都是一個很大的東西。就是我昨天剛看到的一個在武漢的初創公司,我是在一個微信群上看到的。他們做了一個像電子鍋一樣的伺服器,然後企業可以將這個伺服器放在一個單獨池裡面,然後就可以部署企業應用,就像一個小的應用商店一樣,一些小的應用比如CAR一樣的,移動服務這樣的,據說賣得還不錯,有一萬多客戶,也做了挺多中小企業。為什麼我會在微信群看到呢,他是一個基於容器的服務,他用Rancher在管。所以從這個角度我看到它升值比高盛90%計算上容器的意義更大。因為在高盛裡面有很多架構師,他肯定會研究最新的技術,但是這樣一個初創公司,資源極其貧乏,但是它想做一件事他一定要把這件事做好,它的網站從頭到尾都沒提容器,但是它把容器用起來,通過容器對應用部署的這些優勢,容器好的地方他們就採用,最後把產品做了起來,所以你會發現前幾年看做雲端計算看他們做得很累,因為雲端計算是一個大東西,就像把一個大象推進冰箱一樣,你需要一個吊車來吊,框架拆掉把它放到企業裡面去,非常痛苦。

大家知道矽谷創業很多,現在要融資資金非常緊張,以前講的是獨角獸似的方式,現在不這樣講了。就如上面講的那家公司的產品,他就是一個容器,很小但是進了一萬多的企業。對小企業來講這就是他們的基礎設施,所以說容器就像是一個盒子,像蒸飯鍋一樣的盒子,但是我覺得從上面例子來看容器在企業中落地途徑是非常多的,前途也是非常的大。今天分享的就這麼多了,謝謝大家。

PPT下載地址:(需傳送至郵箱請在公眾號後臺回覆“PPT”) http://pan.baidu.com/s/1gfjnWHX 視訊觀看地址:(可在公眾號後臺回覆“容器大會”直接觀看)

本文連結:樑勝 | 如何讓Docker容器在企業中投產(下) 有容雲-構築企業容器雲 www.youruncloud.com

溫馨提示

對Docker容器技術或容器生產實施感興趣的朋友歡迎加群討論。我們彙集了Docker容器技術落地實施團隊精英及業內技術派高人,線上為您分享Docker技術乾貨。我們的宗旨是為了大家擁有更專業的平臺交流Docker實戰技術,我們將定期邀請嘉賓做各類話題分享及回顧,共同實踐研究Docker容器生態圈。 加微信群方法: 1.關注【有容雲】公眾號 2.留言”我要加群” QQ群號:454565480enter image description here

相關文章