偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

平安健康的Docker應(yīng)用與實踐經(jīng)驗

企業(yè)動態(tài)

 做為容器技術(shù)的代表,Docker已經(jīng)逐漸獲得了企業(yè)的認(rèn)可。之前InfoQ就有報道過,國內(nèi)的新浪微博、雪球網(wǎng)等互聯(lián)網(wǎng)公司都在生產(chǎn)環(huán)境中成功使用了Docker。而對于一些傳統(tǒng)公司,他們的IT設(shè)施薄弱、應(yīng)用架構(gòu)復(fù)雜,在擁抱Docker時,可能遇到的問題相對較多。為此,InfoQ采訪了平安健康互聯(lián)網(wǎng)技術(shù)平臺資深架構(gòu)師王延炯。另外,王延炯將在6月11日的PWorld 軟件架構(gòu)&平臺創(chuàng)新大會上分享題為《基于Docker的開發(fā)、運維一體化實踐》的主題演講。

  InfoQ:您認(rèn)為Docker***的優(yōu)勢是什么?當(dāng)時公司為什么決定使用Docker?

  王延炯:Docker優(yōu)勢有幾點,首先是輕量級,其次是面向管理透明,***是生態(tài)環(huán)境正在逐步建立、社區(qū)活躍。輕量級的容器這點,是大家都公認(rèn)的優(yōu)勢,我不做過多解釋。而面向管理透明主要是指Dockerfile與AUFS的結(jié)合,使得軟件的運行環(huán)境面向開發(fā)、測試、運維團隊變得透明。而Registry是平臺軟件云化的特征之一。另外,Docker的迅速發(fā)展,與其生態(tài)環(huán)境的蓬勃發(fā)展是相輔相成的,例如有Jenkins、Ansible等一系列面向CI以及運維友好的工具平臺迅速支撐。

  我們公司面向技術(shù)平臺的選型,還是比較開放的,各個團隊可以選擇適合自己的平臺,可以嘗試新技術(shù),但目的只有一個,提高公司整體的運營效率。選擇Docker,一方面因為是以上提到的幾個優(yōu)勢點,另外它也是虛擬化(如Xen/KVM)技術(shù)、容器技術(shù)兩者并行發(fā)展過程中,沉淀出一套適合于公司特點本身,需要取長補短、逐步形成一套***實踐的必經(jīng)之路。

  Docker技術(shù)本身還是在不斷的發(fā)展之中,作為一個新技術(shù),它的出現(xiàn)改變了很多原有軟件研發(fā)的流程。將其應(yīng)用到生產(chǎn)環(huán)境,***,對大公司而言是需要公司整體進行調(diào)整,不僅僅是技術(shù)本身,還有配套的組織結(jié)構(gòu)、管理制度與流程相結(jié)合;第二,Docker本身的網(wǎng)絡(luò)、存儲、監(jiān)控等技術(shù)領(lǐng)域的關(guān)鍵問題還需要進一步的驗證和實踐,才能夠?qū)⑵鋺?yīng)用到相應(yīng)的生產(chǎn)環(huán)境。第三,生產(chǎn)環(huán)境的安全等級(包括穩(wěn)定性要求),也是根據(jù)不同的業(yè)務(wù)等級會有不同的要求,一些低等級的生產(chǎn)環(huán)境,使用Docker是沒有任何問題的。

  InfoQ:那在應(yīng)用Docker后,你們內(nèi)部在組織結(jié)構(gòu)、管理制度上做了怎么樣的調(diào)整?

  王延炯:在開發(fā)測試過程中,相關(guān)團隊經(jīng)常會找運維團隊分配一些開發(fā)機、測試機。而分配主機只是***步,相伴而來的還有一些配置工作,例如運行期所需要的域名等等。

  當(dāng)然,除了Docker之外,如果用KVM、Xen等虛擬化技術(shù),也可以實現(xiàn)分配。但需要注意的是,使用虛擬化技術(shù)所分配出來的主機資源,基本上要比使用Docker技術(shù)分配出來的主機資源少一個數(shù)量級,甚至更多。最直觀的感受就是,在相同物理宿主機條件下,可以分配更多的“主機”了。這樣給軟件交付所帶來的好處(這也是Docker所倡導(dǎo)的)是一個容器內(nèi)只運行一個進程。每個應(yīng)用系統(tǒng),縱向前后臺分離、橫向多實例負(fù)載聚合,運行期的每個實例都可以不受干擾的運行在一個獨立的環(huán)境之中。

  初看這只是一個量變的過程,但到一定程度就變成了質(zhì)變,相同大小的運維團隊所要維護的“主機”數(shù),可能就多了一個數(shù)量級。所以使用Docker之后,在組織結(jié)構(gòu)和管理制度上,運維團隊只要在平臺層面提供Docker資源池,由各個項目的開發(fā),或者測試負(fù)責(zé)人,自行在資源池內(nèi)分配主機資源。所有動作都在Web界面完成,并且有簡單的工作流審批,減少資源濫用。

  InfoQ:你們的Docker應(yīng)用場景是怎么樣的?能介紹下你們所使用的技術(shù)棧嗎?

  王延炯:關(guān)于Docker應(yīng)用場景,目前各個技術(shù)團隊都根據(jù)自身的特點進行應(yīng)用,大體上主要將Docker應(yīng)用于開發(fā)、測試環(huán)境,不同的場景使用的技術(shù)棧也有區(qū)別。

  在開發(fā)測試環(huán)境會使用SaltStack等技術(shù)對容器進行集中化管理,其主要使用方式較為傳統(tǒng),主要為開發(fā)測試人員提供主機(操作系統(tǒng))級服務(wù),這與整個團體的軟件研發(fā)過程息息相關(guān)。

  在SCM/CI平臺,有相當(dāng)大一部分開源工具已經(jīng)由社區(qū)實現(xiàn)了Docker化,能夠方便的將代碼與數(shù)據(jù)分離,使得平臺能夠進行快速升級、二次開發(fā)與定制。

  在細(xì)節(jié)方面,諸如IP地主與主機名、IP地址(DHCP)與域名都進行了一定程度的二次開發(fā)與集成,目前可以實現(xiàn)Docker容器實例、主機名、域名綁定的Web端一鍵式自助分配與注冊。

  InfoQ:可否詳細(xì)聊聊你們基于Docker的workflow嗎?

  王延炯:關(guān)于Docker的workflow,如之前提到的,有基于Web端的一鍵式主機(也就是Docker容器)分配平臺,支持開發(fā)、測試環(huán)境的主機自動創(chuàng)建、IP分配、域名綁定,并包含與組織結(jié)構(gòu)的審批流程。

  另外,在我團隊所使用的Docker環(huán)境中,會將Docker與Jenkins/GitLab等平臺工具相結(jié)合,一方面將代碼固化至Docker鏡像中,一方面將配置文件作為數(shù)據(jù)分離到鏡像之外。這樣做的好處是,在一些無狀態(tài)的業(yè)務(wù)邏輯服務(wù)中,往往只需要『代碼+環(huán)境配置』,就可以部署到不同的運行環(huán)境中。例如同一份代碼,與不同的開發(fā)、功能測試、性能測試環(huán)境配置相結(jié)合(docker -v參數(shù)),就能夠快速部署相應(yīng)的服務(wù)實例,并且可以與Docker自帶的restful接口做集成,甚至是使用IntelliJ 14.1的Docker插件,能夠做到從IDE到目標(biāo)環(huán)境的一鍵式快速發(fā)布與部署。需要注意的是,這樣做需要把程序的所有配置做盡可能地集中化處理,并且以Key-Value格式,降低錯誤幾率。

  InfoQ:Docker有很多的坑,你們的應(yīng)用過程中是不是也遇到了?可以和大家分享下你印象深刻的幾個坑嗎?

  王延炯:Docker的坑,在實際最多的還是集中于網(wǎng)絡(luò)。大多數(shù)的使用場景,還是需要解決容器在不同的宿主機之間的可達性,這是決定Docker應(yīng)用范圍的***步。簡單的使用端口映射,往往不能夠解決運行期的端口動態(tài)監(jiān)聽和容器間互聯(lián)。

  另外,Docker的性能監(jiān)控,也是決定Docker應(yīng)用于什么樣等級的業(yè)務(wù)系統(tǒng)的關(guān)鍵因素,這也是近期除了網(wǎng)絡(luò)之外主要深耕的一個領(lǐng)域。目前還沒有對Docker進行代碼級的優(yōu)化和hack,側(cè)重點還是在團隊的整體運行效率、軟件過程效率、業(yè)務(wù)持續(xù)交付中。

  InfoQ:Docker最適合微服務(wù)架構(gòu)的應(yīng)用,像傳統(tǒng)非互聯(lián)網(wǎng)公司的IT系統(tǒng),應(yīng)該很多應(yīng)用都不是這樣的架構(gòu)。你們是如何過渡和應(yīng)用的?有什么好的經(jīng)驗分享嗎?

  王延炯:首先,我們要回想一下到底什么是微服務(wù)或者叫微應(yīng)用。我個人認(rèn)為所謂微服務(wù)或者微應(yīng)用,尤其在傳統(tǒng)重業(yè)務(wù)的非互聯(lián)網(wǎng)領(lǐng)域,其定位應(yīng)當(dāng)是一些非核心系統(tǒng),或者是一些業(yè)務(wù)創(chuàng)新驅(qū)動的服務(wù)或應(yīng)用,或者是一些架構(gòu)于核心系統(tǒng)之上的組合、集成性質(zhì)的輕應(yīng)用。在技術(shù)層面,他們的特征是代碼量小,隨著業(yè)務(wù)快速變化可以迅速升級。而相對的,大平臺不僅僅是指一個技術(shù)平臺,廣義上應(yīng)當(dāng)是一個以各種技術(shù)標(biāo)準(zhǔn)進行兼容和統(tǒng)一為基礎(chǔ),并提供多類型的業(yè)務(wù)平臺,需要有效、高效支撐上層的微應(yīng)用和微服務(wù)的繁衍。隨著時間的推移和業(yè)務(wù)的發(fā)展,一些微服務(wù)、微應(yīng)用,可以被吸收、沉淀至大平臺中,發(fā)揮更大的作用。

  其次,對于傳統(tǒng)公司而言,我并不建議為了追求新鮮的技術(shù)而一定要向Docker之類的『時鮮平臺』進行遷移,保障復(fù)雜業(yè)務(wù)的穩(wěn)定性才是重中之重。像Docker之類的新技術(shù),可以采取『農(nóng)村包圍城市』的策略,先在外部非核心系統(tǒng)試點,根據(jù)企業(yè)自身的開發(fā)、測試、運維的特點,積累和沉淀出一套適合自己的平臺的方法經(jīng)驗論,當(dāng)然其指導(dǎo)原則就是高效可靠。需要注意的是這個過程可能是漫長的,需要技術(shù)主導(dǎo),也需要組織保障。

  第三,我們可以發(fā)現(xiàn),就Docker技術(shù)本身而言,它提供的是一個輕量級的容器,并沒有集成每個企業(yè)所確立的容器基礎(chǔ)設(shè)施基線。而企業(yè)的基礎(chǔ)鏡像一般只是一個操作系統(tǒng)級的容器(公有社區(qū)的Registry,不在此討論范圍之內(nèi)),在此基礎(chǔ)之上,我們可以在Dockerfile里面,透明的定義具體應(yīng)用或者服務(wù)所需要的本地運行環(huán)境(例如JDK、Node.js、Python等等),加之以具體的服務(wù)、應(yīng)用,在運行期形成一個服務(wù)或應(yīng)用的實例。。

  第四,從企業(yè)架構(gòu)而言,一個服務(wù)或者應(yīng)用往往需要其它中間件的支持(如數(shù)據(jù)庫、緩存、分布式文件系統(tǒng)),也需要集群高可用的部署。這就牽扯到集群拓?fù)洌ㄓ徐o態(tài)也有動態(tài)的),包括縱向的從上層應(yīng)用到底層的硬件物理設(shè)施,橫向的多實例負(fù)載均衡與備份。一個完備的企業(yè)級容器平臺,還需要有實時的監(jiān)控和管理手段來輔助。Docker本身,并不提供這些企業(yè)級運維工具或者來支撐,都需要基于開源工具進行集成和定制開發(fā)。

  可以看到,把以上所有問題都解決了,對于傳統(tǒng)企業(yè),尤其是傳統(tǒng)非互聯(lián)網(wǎng)大型企業(yè),Docker的大范圍推廣才具備可行性。Docker是否在企業(yè)里能夠推廣,用短板模型來衡量的話,這個短板應(yīng)該是在運維團隊,并不是在開發(fā)團隊。

  受訪嘉賓介紹

  王延炯博士,畢業(yè)于北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室?,F(xiàn)任平安健康互聯(lián)網(wǎng)技術(shù)平臺資深架構(gòu)師,關(guān)注企業(yè)互聯(lián)網(wǎng)化過程中的軟件平臺技術(shù)路線。曾先后于西門子中國研究院、普元信息擔(dān)任資深架構(gòu)師,期間專注于內(nèi)存計算、大數(shù)據(jù)實時分析平臺的產(chǎn)品架構(gòu)設(shè)計工作;參與并主持了十余項三大電信運營商、中國銀聯(lián)、中國登記上海公司等行業(yè)領(lǐng)軍企業(yè)的平臺軟件架構(gòu)設(shè)計。

責(zé)任編輯:wangpeng 來源: 網(wǎng)絡(luò)
相關(guān)推薦

2015-05-08 10:39:10

InfoQ

2015-06-03 14:14:17

dockeropenstackIaaS

2010-01-25 14:25:33

Android Int

2014-10-29 13:52:38

程序員

2022-07-29 09:54:42

數(shù)據(jù)庫分布式

2010-01-05 13:16:59

2023-11-22 11:15:56

數(shù)據(jù)中心機房

2021-07-26 17:22:02

Java

2021-06-25 17:39:35

網(wǎng)絡(luò)對抗與實踐經(jīng)驗

2015-10-10 13:49:23

2018-09-10 15:25:29

云計算云安全IT經(jīng)理

2013-10-10 13:50:02

智能交通華為

2011-12-22 09:34:39

需求分析

2023-07-11 10:23:00

Lakehouse數(shù)據(jù)湖

2022-08-10 13:54:40

云存儲存儲私有云

2020-07-10 10:39:04

Python開發(fā)工具

2024-12-04 14:52:46

2022-08-30 07:39:37

GPFSSAN存儲

2010-06-25 19:07:38

SAP
點贊
收藏

51CTO技術(shù)棧公眾號