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

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

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

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

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

王延炯:Docker優(yōu)勢有幾點,首先是輕量級,其次是面向管理透明,***是生態(tài)環(huán)境正在逐步建立、社區(qū)活躍。輕量級的容器這點,是大家都公認的優(yōu)勢,我不做過多解釋。而面向管理透明主要是指Dockerfile與AUFS的結合,使得軟件的運行環(huán)境面向開發(fā)、測試、運維團隊變得透明。而Registry是平臺軟件云化的特征之一。另外,Docker的迅速發(fā)展,與其生態(tài)環(huán)境的蓬勃發(fā)展是相輔相成的,例如有Jenkins、Ansible等一系列面向CI以及運維友好的工具平臺迅速支撐。我們公司面向技術平臺的選型,還是比較開放的,各個團隊可以選擇適合自己的平臺,可以嘗試新技術,但目的只有一個,提高公司整體的運營效率。選擇Docker,一方面因為是以上提到的幾個優(yōu)勢點,另外它也是虛擬化(如Xen/KVM)技術、容器技術兩者并行發(fā)展過程中,沉淀出一套適合于公司特點本身,需要取長補短、逐步形成一套***實踐的必經(jīng)之路。Docker技術本身還是在不斷的發(fā)展之中,作為一個新技術,它的出現(xiàn)改變了很多原有軟件研發(fā)的流程。將其應用到生產環(huán)境,***,對大公司而言是需要公司整體進行調整,不僅僅是技術本身,還有配套的組織結構、管理制度與流程相結合;第二,Docker本身的網(wǎng)絡、存儲、監(jiān)控等技術領域的關鍵問題還需要進一步的驗證和實踐,才能夠將其應用到相應的生產環(huán)境。第三,生產環(huán)境的安全等級(包括穩(wěn)定性要求),也是根據(jù)不同的業(yè)務等級會有不同的要求,一些低等級的生產環(huán)境,使用Docker是沒有任何問題的。

InfoQ:那在應用Docker后,你們內部在組織結構、管理制度上做了怎么樣的調整?

王延炯:在開發(fā)測試過程中,相關團隊經(jīng)常會找運維團隊分配一些開發(fā)機、測試機。而分配主機只是***步,相伴而來的還有一些配置工作,例如運行期所需要的域名等等。當然,除了Docker之外,如果用KVM、Xen等虛擬化技術,也可以實現(xiàn)分配。但需要注意的是,使用虛擬化技術所分配出來的主機資源,基本上要比使用Docker技術分配出來的主機資源少一個數(shù)量級,甚至更多。最直觀的感受就是,在相同物理宿主機條件下,可以分配更多的“主機”了。這樣給軟件交付所帶來的好處(這也是Docker所倡導的)是一個容器內只運行一個進程。每個應用系統(tǒng),縱向前后臺分離、橫向多實例負載聚合,運行期的每個實例都可以不受干擾的運行在一個獨立的環(huán)境之中。初看這只是一個量變的過程,但到一定程度就變成了質變,相同大小的運維團隊所要維護的“主機”數(shù),可能就多了一個數(shù)量級。所以使用Docker之后,在組織結構和管理制度上,運維團隊只要在平臺層面提供Docker資源池,由各個項目的開發(fā),或者測試負責人,自行在資源池內分配主機資源。所有動作都在Web界面完成,并且有簡單的工作流審批,減少資源濫用。

  InfoQ:你們的Docker應用場景是怎么樣的?能介紹下你們所使用的技術棧嗎?

王延炯:關于Docker應用場景,目前各個技術團隊都根據(jù)自身的特點進行應用,大體上主要將Docker應用于開發(fā)、測試環(huán)境,不同的場景使用的技術棧也有區(qū)別。在開發(fā)測試環(huán)境會使用SaltStack等技術對容器進行集中化管理,其主要使用方式較為傳統(tǒng),主要為開發(fā)測試人員提供主機(操作系統(tǒng))級服務,這與整個團體的軟件研發(fā)過程息息相關。在SCM/CI平臺,有相當大一部分開源工具已經(jīng)由社區(qū)實現(xiàn)了Docker化,能夠方便的將代碼與數(shù)據(jù)分離,使得平臺能夠進行快速升級、二次開發(fā)與定制。在細節(jié)方面,諸如IP地主與主機名、IP地址(DHCP)與域名都進行了一定程度的二次開發(fā)與集成,目前可以實現(xiàn)Docker容器實例、主機名、域名綁定的Web端一鍵式自助分配與注冊。

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

王延炯:關于Docker的workflow,如之前提到的,有基于Web端的一鍵式主機(也就是Docker容器)分配平臺,支持開發(fā)、測試環(huán)境的主機自動創(chuàng)建、IP分配、域名綁定,并包含與組織結構的審批流程。另外,在我團隊所使用的Docker環(huán)境中,會將Docker與Jenkins/GitLab等平臺工具相結合,一方面將代碼固化至Docker鏡像中,一方面將配置文件作為數(shù)據(jù)分離到鏡像之外。這樣做的好處是,在一些無狀態(tài)的業(yè)務邏輯服務中,往往只需要『代碼+環(huán)境配置』,就可以部署到不同的運行環(huán)境中。例如同一份代碼,與不同的開發(fā)、功能測試、性能測試環(huán)境配置相結合(docker -v參數(shù)),就能夠快速部署相應的服務實例,并且可以與Docker自帶的restful接口做集成,甚至是使用IntelliJ 14.1的Docker插件,能夠做到從IDE到目標環(huán)境的一鍵式快速發(fā)布與部署。需要注意的是,這樣做需要把程序的所有配置做盡可能地集中化處理,并且以Key-Value格式,降低錯誤幾率。

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

王延炯:Docker的坑,在實際最多的還是集中于網(wǎng)絡。大多數(shù)的使用場景,還是需要解決容器在不同的宿主機之間的可達性,這是決定Docker應用范圍的***步。簡單的使用端口映射,往往不能夠解決運行期的端口動態(tài)監(jiān)聽和容器間互聯(lián)。另外,Docker的性能監(jiān)控,也是決定Docker應用于什么樣等級的業(yè)務系統(tǒng)的關鍵因素,這也是近期除了網(wǎng)絡之外主要深耕的一個領域。目前還沒有對Docker進行代碼級的優(yōu)化和hack,側重點還是在團隊的整體運行效率、軟件過程效率、業(yè)務持續(xù)交付中。

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

王延炯:首先,我們要回想一下到底什么是微服務或者叫微應用。我個人認為所謂微服務或者微應用,尤其在傳統(tǒng)重業(yè)務的非互聯(lián)網(wǎng)領域,其定位應當是一些非核心系統(tǒng),或者是一些業(yè)務創(chuàng)新驅動的服務或應用,或者是一些架構于核心系統(tǒng)之上的組合、集成性質的輕應用。在技術層面,他們的特征是代碼量小,隨著業(yè)務快速變化可以迅速升級。而相對的,大平臺不僅僅是指一個技術平臺,廣義上應當是一個以各種技術標準進行兼容和統(tǒng)一為基礎,并提供多類型的業(yè)務平臺,需要有效、高效支撐上層的微應用和微服務的繁衍。隨著時間的推移和業(yè)務的發(fā)展,一些微服務、微應用,可以被吸收、沉淀至大平臺中,發(fā)揮更大的作用。其次,對于傳統(tǒng)公司而言,我并不建議為了追求新鮮的技術而一定要向Docker之類的『時鮮平臺』進行遷移,保障復雜業(yè)務的穩(wěn)定性才是重中之重。像Docker之類的新技術,可以采取『農村包圍城市』的策略,先在外部非核心系統(tǒng)試點,根據(jù)企業(yè)自身的開發(fā)、測試、運維的特點,積累和沉淀出一套適合自己的平臺的方法經(jīng)驗論,當然其指導原則就是高效可靠。需要注意的是這個過程可能是漫長的,需要技術主導,也需要組織保障。第三,我們可以發(fā)現(xiàn),就Docker技術本身而言,它提供的是一個輕量級的容器,并沒有集成每個企業(yè)所確立的容器基礎設施基線。而企業(yè)的基礎鏡像一般只是一個操作系統(tǒng)級的容器(公有社區(qū)的Registry,不在此討論范圍之內),在此基礎之上,我們可以在Dockerfile里面,透明的定義具體應用或者服務所需要的本地運行環(huán)境(例如JDK、Node.js、Python等等),加之以具體的服務、應用,在運行期形成一個服務或應用的實例。。第四,從企業(yè)架構而言,一個服務或者應用往往需要其它中間件的支持(如數(shù)據(jù)庫、緩存、分布式文件系統(tǒng)),也需要集群高可用的部署。這就牽扯到集群拓撲(有靜態(tài)也有動態(tài)的),包括縱向的從上層應用到底層的硬件物理設施,橫向的多實例負載均衡與備份。一個完備的企業(yè)級容器平臺,還需要有實時的監(jiān)控和管理手段來輔助。Docker本身,并不提供這些企業(yè)級運維工具或者來支撐,都需要基于開源工具進行集成和定制開發(fā)。可以看到,把以上所有問題都解決了,對于傳統(tǒng)企業(yè),尤其是傳統(tǒng)非互聯(lián)網(wǎng)大型企業(yè),Docker的大范圍推廣才具備可行性。Docker是否在企業(yè)里能夠推廣,用短板模型來衡量的話,這個短板應該是在運維團隊,并不是在開發(fā)團隊。

 

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

責任編輯:市場部
相關推薦

2015-05-08 12:47:58

Docker

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)絡對抗與實踐經(jīng)驗

2015-10-10 13:49:23

2011-12-22 09:34:39

需求分析

2018-09-10 15:25:29

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

2013-10-10 13:50:02

智能交通華為

2022-08-10 13:54:40

云存儲存儲私有云

2023-07-11 10:23:00

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

2024-12-04 14:52:46

2020-07-10 10:39:04

Python開發(fā)工具

2022-08-30 07:39:37

GPFSSAN存儲

2010-06-25 19:07:38

SAP
點贊
收藏

51CTO技術棧公眾號