自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Docker從根本層面改變應(yīng)用程序開(kāi)發(fā)的四種方式

譯文
開(kāi)發(fā) 前端 云計(jì)算
Docker技術(shù)方案的發(fā)展勢(shì)頭簡(jiǎn)直如同一場(chǎng)燎原烈火。這項(xiàng)新型Linux容器技術(shù)在不可阻擋的前進(jìn)道路上引燃了一切事物,而其進(jìn)展速度之快令很多從業(yè)人員根本無(wú)法跟上其迅猛的腳步……

Docker容器技術(shù)如何簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā)與部署、促進(jìn)***實(shí)踐并催生新一代以應(yīng)用為基礎(chǔ)的微服務(wù)機(jī)制。

Docker技術(shù)方案的發(fā)展勢(shì)頭簡(jiǎn)直如同一場(chǎng)燎原烈火。這項(xiàng)新型Linux容器技術(shù)在不可阻擋的前進(jìn)道路上引燃了一切事物,而其進(jìn)展速度之快令很多從業(yè)人員根本無(wú)法跟上其迅猛的腳步。Docker不僅是有史以來(lái)人氣***的開(kāi)源項(xiàng)目之一,同時(shí)也已經(jīng)給人們構(gòu)建應(yīng)用程序的方式帶來(lái)了根本性變革。

基于Docker的應(yīng)用程序背后所暗含的很多解決思路從嚴(yán)格意義上講已經(jīng)與最初有所不同,但Docker確實(shí)給這些陳舊的的觀念帶來(lái)了新鮮活力。借助大量云部署實(shí)踐機(jī)制,Docker鼓勵(lì)技術(shù)人員采用像12-Factor應(yīng)用那樣的最初實(shí)踐手段——這是一套專門用于構(gòu)建基于PaaS應(yīng)用程序的方案,目前也已經(jīng)適用于基于Docker應(yīng)用的開(kāi)發(fā)工作。

我們能夠從Docker引發(fā)的時(shí)代浪潮中學(xué)到些什么?下面請(qǐng)大家隨我從四個(gè)角度加以思考。

1. 微服務(wù)架構(gòu)的崛起

大規(guī)模整體性云應(yīng)用程序開(kāi)發(fā)已經(jīng)步入絕路。如今它開(kāi)始被微服務(wù)架構(gòu)所取代,其特色在于將大型應(yīng)用程序——及其全部?jī)?nèi)置功能——拆分成更小的、目的驅(qū)動(dòng)型服務(wù),并通過(guò)通用REST API實(shí)現(xiàn)彼此之間的通信。

早在上世紀(jì)九十年代就曾經(jīng)出現(xiàn)過(guò)名為基于接口/組件架構(gòu)的類似概念。時(shí)至今日,SOA(即面向服務(wù)架構(gòu))似乎已經(jīng)獲得了相當(dāng)良好的發(fā)展勢(shì)頭。目前微服務(wù)概念已經(jīng)在Docker社區(qū)當(dāng)中成為標(biāo)準(zhǔn)性模因,其主流趨勢(shì)在于將應(yīng)用程序拆分成解耦、極簡(jiǎn)且專門針對(duì)容器機(jī)制的設(shè)計(jì)方案,且只專注于實(shí)現(xiàn)一項(xiàng)任務(wù)。

完全密閉的Docker容器機(jī)制能夠?yàn)槲⒎?wù)應(yīng)用程序創(chuàng)建出高效的分布式模型,從而順利實(shí)現(xiàn)微服務(wù)概念的現(xiàn)實(shí)轉(zhuǎn)化。這徹底改變了長(zhǎng)久以來(lái)的云開(kāi)發(fā)實(shí)踐思路,能夠?qū)⑾馞acebook及Twitter那樣的超大規(guī)模架構(gòu)加以拆分并提供給規(guī)模更小的多個(gè)開(kāi)發(fā)團(tuán)隊(duì)。

2. 讓開(kāi)發(fā)(Dev)與運(yùn)營(yíng)(Ops)聯(lián)系得更為緊密

盡管Puppet、Chef、Salt以及其它先行者已經(jīng)在DevOps的探索中作出了相當(dāng)?shù)呢暙I(xiàn),但這些工具的主要活動(dòng)舞臺(tái)仍然集中在運(yùn)營(yíng)團(tuán)隊(duì)而非開(kāi)發(fā)者群體當(dāng)中。

Docker是***款能夠在開(kāi)發(fā)人員群體中獲得與運(yùn)營(yíng)工程師同等認(rèn)可效果的DevOps工具。為什么會(huì)這樣?因?yàn)殚_(kāi)發(fā)人員可以在容器機(jī)制內(nèi)部工作,而運(yùn)營(yíng)工程師則能夠在容器外部以并行方向處理自己的任務(wù)。

當(dāng)開(kāi)發(fā)團(tuán)隊(duì)采納Docker的同時(shí),他們相當(dāng)于在軟件開(kāi)發(fā)生命周期當(dāng)中添加了新的敏捷性層。容器技術(shù)***的突破就在于其一致性?;贒ocker的應(yīng)用程序能夠在筆記本電腦與生產(chǎn)環(huán)境下獲得同樣的運(yùn)行效果。由于Docker將與應(yīng)用程序相關(guān)的所有狀態(tài)都封閉了起來(lái),因此大家根本用不著擔(dān)心底層操作系統(tǒng)的架構(gòu)差異會(huì)給應(yīng)用程序的運(yùn)行依賴性帶來(lái)影響、或是產(chǎn)生新的漏洞。

3. 保障持續(xù)集成的一致性

持續(xù)集成機(jī)制能夠自動(dòng)對(duì)代碼進(jìn)行測(cè)試,并借此成為盡可能降低最終產(chǎn)品中漏洞數(shù)量的一大理想途徑。不過(guò)持續(xù)集成仍然存在著兩大弊端。

首先,持續(xù)集成機(jī)制很難將所有依賴性加以封裝。以Jenkins以及Travis為代表的傳統(tǒng)持續(xù)集成/持續(xù)交付技術(shù)通過(guò)建立源代碼庫(kù)的方式分段實(shí)現(xiàn)應(yīng)用程序開(kāi)發(fā)。雖然這種處理方式對(duì)于很多應(yīng)用程序來(lái)說(shuō)并不是問(wèn)題,但二進(jìn)制依賴性或者操作系統(tǒng)層面的變化仍然難以避免,這就使得代碼在生產(chǎn)環(huán)境中的實(shí)際運(yùn)行效果同開(kāi)發(fā)/測(cè)試/質(zhì)量保證階段有所不同。相比之下,Docker由于可以將應(yīng)用程序的整體狀態(tài)加以封裝,因此能夠保證代碼在生產(chǎn)環(huán)境中擁有與開(kāi)發(fā)/測(cè)試/質(zhì)量保證階段相一致的實(shí)際效果。

第二,持續(xù)集成并非專為微服務(wù)架構(gòu)所構(gòu)建。持續(xù)集成的設(shè)計(jì)思路其實(shí)是假設(shè)將一款應(yīng)用程序鎖定在單一代碼庫(kù)當(dāng)中。然而Docker***實(shí)踐能夠提供大量彼此間松散耦合的Docker容器,而這對(duì)于微服務(wù)架構(gòu)來(lái)說(shuō)可謂***拍檔。由此也衍生出了一系列新一代持續(xù)集成/持續(xù)交付工具,以Drone與Shippable為代表的這些新型解決方案都在開(kāi)發(fā)之初就將Docker容器機(jī)制作為其立足根基。具體而言,這些工具允許大家對(duì)涉及多套代碼庫(kù)的多容器應(yīng)用程序加以測(cè)試。

4. 讓各類***容器機(jī)制實(shí)現(xiàn)協(xié)作

Docker并不主張大家將自己的服務(wù)容器按照Hadoop、Nginx或者M(jìn)ongoDB這樣的現(xiàn)有方案進(jìn)行調(diào)整,而是鼓勵(lì)我們通過(guò)開(kāi)源社區(qū)實(shí)現(xiàn)協(xié)作、并憑借Docker Hub這套公共庫(kù)進(jìn)行容器改進(jìn),從而讓每個(gè)人都能用到最出色的容器設(shè)計(jì)成果。由于Docker容器能夠?qū)?yīng)用狀態(tài)封裝于其中,因此大家完全能夠以更靈活的方式對(duì)軟件加以配置、保證其擁有***運(yùn)行效果。

有鑒于此,Docker憑借著這種允許每個(gè)人利用現(xiàn)成***實(shí)踐方案根據(jù)具體需求任意組合及對(duì)接的能力徹底改變了傳統(tǒng)云開(kāi)發(fā)機(jī)制。這有點(diǎn)像是將云組件當(dāng)成樂(lè)高積木,并最長(zhǎng)按照一定的標(biāo)準(zhǔn)將它們組合起來(lái)。

云計(jì)算領(lǐng)域的樂(lè)高積木

每一項(xiàng)新技術(shù)的出現(xiàn)都可能會(huì)對(duì)現(xiàn)有局面帶來(lái)顛覆性的影響。就目前而言,云一直由按需供應(yīng)、API驅(qū)動(dòng)虛擬機(jī)以及圍繞虛擬機(jī)建立服務(wù)等要素所支撐。由此帶來(lái)的弊端在于,所有針對(duì)現(xiàn)有機(jī)制打造的工具都會(huì)受到虛擬機(jī)局限性的嚴(yán)重束縛。

Docker正在迅速改變?cè)朴?jì)算領(lǐng)域的運(yùn)作規(guī)則,并徹底顛覆云技術(shù)的發(fā)展前景。從持續(xù)集成/持續(xù)交付到微服務(wù)、開(kāi)源協(xié)作乃至DevOps,Docker一路走來(lái)已經(jīng)給應(yīng)用程序開(kāi)發(fā)生命周期以及云工程技術(shù)實(shí)踐帶來(lái)了巨大變革。每一天都有成千上萬(wàn)名新的開(kāi)發(fā)者興高采烈地參與到原有應(yīng)用重構(gòu)或者全新Docker應(yīng)用開(kāi)發(fā)的相關(guān)工作中來(lái)。而了解Docker之火能夠快速呈現(xiàn)燎原之勢(shì)的理由,正是在這個(gè)不斷變化的技術(shù)世界中保持競(jìng)爭(zhēng)優(yōu)勢(shì)的關(guān)鍵所在。

英文:http://www.infoworld.com/article/2607128/application-development/4-ways-docker-fundamentally-changes-application-development.html

【編輯推薦】

 

  1. 在Docker上建立多節(jié)點(diǎn)的Hadoop集群
  2. 基于 Docker 開(kāi)發(fā) NodeJS 應(yīng)用
  3. 使用 Docker 作為 Python 開(kāi)發(fā)環(huán)境
  4. 如何使用 Docker 來(lái)協(xié)助 X 系統(tǒng)上的開(kāi)發(fā)工作
  5. 調(diào)查顯示:OpenStack和Docker雄冠云計(jì)算項(xiàng)目之首

 

【責(zé)任編輯:林師授 TEL:(010)68476606】

責(zé)任編輯:林師授 來(lái)源: 51CTO
相關(guān)推薦

2010-02-07 10:30:01

Android應(yīng)用程序

2023-05-23 18:21:18

2017-03-10 08:39:33

2023-07-18 17:47:59

人工智能工具

2019-11-18 11:51:08

物聯(lián)網(wǎng)安全互聯(lián)網(wǎng)

2021-11-02 12:01:23

人工智能AI深度學(xué)習(xí)

2017-09-03 08:10:54

2012-10-22 16:34:37

JavaJava8Lambda

2014-05-14 10:13:50

程序員機(jī)器學(xué)習(xí)

2021-08-10 15:55:59

物聯(lián)網(wǎng)5GIoT

2022-07-22 15:01:49

人工智能智能制造

2020-05-11 07:36:00

聯(lián)網(wǎng)汽車物聯(lián)網(wǎng)IOT

2022-03-15 11:01:39

KubernetesLinux平滑升級(jí)

2010-07-28 13:54:42

Flex數(shù)據(jù)綁定

2022-03-25 14:47:24

Javascript數(shù)據(jù)類型開(kāi)發(fā)

2023-05-22 08:03:28

JavaScrip枚舉定義

2017-04-17 19:31:03

Android多線程

2013-06-14 15:24:57

Android開(kāi)發(fā)移動(dòng)開(kāi)發(fā)數(shù)據(jù)存儲(chǔ)方式

2020-06-12 08:28:29

JavaScript開(kāi)發(fā)技術(shù)

2020-04-26 17:22:12

人工智能技術(shù)IT
點(diǎn)贊
收藏

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