日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一文看懂DevOps,再不懂來打我

一文看懂DevOps,再不懂來打我

作者:小棗君 2019-11-12 10:38:59
云計算 作為一個熱門的概念,DevOps近年來頻頻出現(xiàn)在各大技術(shù)社區(qū)和媒體的文章中,備受行業(yè)大咖的追捧,也吸引了很多吃瓜群眾的圍觀。

成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)公司一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。

 提到DevOps這個詞,我相信很多人一定不會陌生。

作為一個熱門的概念,DevOps近年來頻頻出現(xiàn)在各大技術(shù)社區(qū)和媒體的文章中,備受行業(yè)大咖的追捧,也吸引了很多吃瓜群眾的圍觀。

那么,DevOps是什么呢?

有人說它是一種方法,也有人說它是一種工具,還有人說它是一種思想。更有甚者,說它是一種哲學(xué)。

越說越玄乎,感覺都要封神啦!DevOps這玩意真的有那么夸張嗎?它到底是干嘛用的?為什么行業(yè)里都會對它趨之如騖呢?

今天這篇文章,小棗君就和大家好好聊一聊這個DevOps。

DevOps的起源

這個故事有點長,從頭開始講起吧。

上個世紀40年代,世界上第一臺計算機誕生。從誕生之日起,它就離不開程序(Program)的驅(qū)動。而負責(zé)編寫程序的人,就被稱為“程序員”(Programmer)。

程序員是計算機的駕馭者,也是極其稀缺的人才。那個時候,只有高學(xué)歷、名校出身的人,才有資格成為程序員,操控計算機。

隨著人類科技的不斷發(fā)展,PC和Internet陸續(xù)問世,我們進入了全民擁抱信息化的時代。越來越多的企業(yè)開始將計算機作為辦公用的工具,用以提升生產(chǎn)力。而普通個人用戶也開始將計算機作為娛樂工具,用以改善生活品質(zhì)。

于是,計算機的程序,開始變成了一門生意。程序,逐步演進為“軟件(software)”,變成了最賺錢的產(chǎn)品之一。

在軟件產(chǎn)業(yè)里,程序員有了更專業(yè)的稱謂,叫做“軟件開發(fā)工程師(Software Development Engineer)”,也就是我們常說的“碼農(nóng)”。

我們知道,一個軟件從零開始到最終交付,大概包括以下幾個階段:規(guī)劃、編碼、構(gòu)建、測試、發(fā)布、部署和維護。

最初,程序比較簡單,工作量不大,程序員一個人可以完成所有階段的工作。

[[282032]]

隨著軟件產(chǎn)業(yè)的日益發(fā)展壯大,軟件的規(guī)模也在逐漸變得龐大。軟件的復(fù)雜度不斷攀升。一個人已經(jīng)hold不住了,就開始出現(xiàn)了精細化分工。

碼農(nóng)的隊伍擴大,工種增加。除了軟件開發(fā)工程師之外,又有了軟件測試工程師,軟件運維工程師。

分工之后,傳統(tǒng)的軟件開發(fā)流程是這樣的:

軟件開發(fā)人員花費數(shù)周和數(shù)月編寫代碼,然后將代碼交給QA(質(zhì)量保障)團隊進行測試,然后將最終的發(fā)布版交給運維團隊去布署。所有的這三個階段,即開發(fā),測試,布署。

早期所采用的軟件交付模型,稱之為“瀑布(Waterfall)模型”。

瀑布模型,簡而言之,就是等一個階段所有工作完成之后,再進入下一個階段。

這種模型適合條件比較理想化(用戶需求非常明確、開發(fā)時間非常充足)的項目。大家按部就班,輪流執(zhí)行自己的職責(zé)即可。

但是,項目不可能是單向運作的??蛻粢彩怯行枨蟮?。產(chǎn)品也是會有問題的,需要改進的。

隨著時間推移,用戶對系統(tǒng)的需求不斷增加,與此同時,用戶給的時間周期卻越來越少。在這個情況下,大家發(fā)現(xiàn),笨重遲緩的瀑布式開發(fā)已經(jīng)不合時宜了。

于是,軟件開發(fā)團隊引入了一個新的概念,那就是大名鼎鼎的——“敏捷開發(fā)(Agile Development)”。

敏捷開發(fā)在2000年左右開始被世人所關(guān)注,是一種能應(yīng)對快速變化需求的軟件開發(fā)能力。其實簡單來說,就是把大項目變成小項目,把大時間點變成小時間點,然后這樣:

有兩個詞經(jīng)常會伴隨著DevOps出現(xiàn),那就是CI和CD。CI是Continuous Integration(持續(xù)集成),而CD對應(yīng)多個英文,Continuous Delivery(持續(xù)交付)或Continuous Deployment(持續(xù)部署)。

美其名曰:“持續(xù)(Continuous)”,其實就是“加速——反復(fù)——加速——反復(fù)……”,這樣子。

畫個圖大家可能更明白一點:

敏捷開發(fā)大幅提高了開發(fā)團隊的工作效率,讓版本的更新速度變得更快。

很多人可能會覺得,“更新版本的速度快了,風(fēng)險不是更大了嗎?”

其實,事實并非如此。

敏捷開發(fā)可以幫助更快地發(fā)現(xiàn)問題,產(chǎn)品被更快地交付到用戶手中,團隊可以更快地得到用戶的反饋,從而進行更快地響應(yīng)。而且,DevOps小步快跑的形式帶來的版本變化是比較小的,風(fēng)險會更小(如下圖所示)。即使出現(xiàn)問題,修復(fù)起來也會相對容易一些。

雖然敏捷開發(fā)大幅提升了軟件開發(fā)的效率和版本更新的速度,但是它的效果僅限于開發(fā)環(huán)節(jié)。研發(fā)們發(fā)現(xiàn),運維那邊,依舊是鐵板一塊,成為了新的瓶頸。

[[282038]]

運維工程師,和開發(fā)工程師有著完全不同的思維邏輯。運維團隊的座右銘,很簡單,就是“穩(wěn)定壓倒一切”。運維的核心訴求,就是不出問題。

什么情況下最容易出問題?發(fā)生改變的時候最容易出問題。所以說,運維非常排斥“改變”。

于是乎,矛盾就在兩者之間集中爆發(fā)了。

這個時候,我們的DevOps,隆重登場了。

DevOps到底是什么

DevOps這個詞,其實就是Development和Operations兩個詞的組合。它的英文發(fā)音是 /de'v?ps/,類似于“迪沃普斯”。

DevOps的維基百科定義是這樣的:

DevOps是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進開發(fā)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。

這個定位稍微有點抽象,但是并不難理解。反正它不是某一個特定軟件、工具或平臺的名字。

從目標來看,DevOps就是讓開發(fā)人員和運維人員更好地溝通合作,通過自動化流程來使得軟件整體過程更加快捷和可靠。

破墻工具

很多人可能覺得,所謂DevOps,不就是Dev+Ops嘛,把兩個團隊合并,或者將運維劃歸開發(fā),不就完事了嘛,簡單粗暴。

注意,這個觀點是不對的。這也是DevOps這些年一直難以落地的主要原因。

想要將DevOps真正落地,首先第一點,是思維轉(zhuǎn)變,也就是“洗腦”。不僅是運維的要洗,開發(fā)的也要洗。員工要洗,領(lǐng)導(dǎo)更要洗。

DevOps并不僅僅是組織架構(gòu)變革,更是企業(yè)文化和思想觀念的變革。如果不能改變觀念,即使將員工放在一起,也不會產(chǎn)生火花。

除了洗腦之外,就是根據(jù)DevOps思想重新梳理全流程的規(guī)范和標準。

在DevOps的流程下,運維人員會在項目開發(fā)期間就介入到開發(fā)過程中,了解開發(fā)人員使用的系統(tǒng)架構(gòu)和技術(shù)路線,從而制定適當(dāng)?shù)倪\維方案。而開發(fā)人員也會在運維的初期參與到系統(tǒng)部署中,并提供系統(tǒng)部署的優(yōu)化建議。

DevOps的實施,促進開發(fā)和運維人員的溝通,增進彼此的理(gan)解(qing)。

在思維和流程改變的同時,想要充分落地DevOps,當(dāng)然離不開軟件和平臺的支持。

目前支持DevOps的軟件實在是太多了。限于篇幅,就不一一介紹了。話說回來,現(xiàn)在DevOps之所以被吹得天花亂墜,也有這些軟件和平臺的功勞,可以趁機賣錢啊。

DevOps生態(tài)圈中令人眼花繚亂的工具

上述這些關(guān)鍵要素里面,技術(shù)(工具和平臺)是最容易實現(xiàn)的,流程次之,思維轉(zhuǎn)變反而最困難。

換言之,DevOps考驗的不僅是一家企業(yè)的技術(shù),更是管理水平和企業(yè)文化。

對比前面所說的瀑布式開發(fā)和敏捷開發(fā),我們可以明顯看出,DevOps貫穿了軟件全生命周期,而不僅限于開發(fā)階段。

下面這張圖,更明顯地說明了DevOps所處的位置,還有它的價值:

DevOps的發(fā)展現(xiàn)狀

DevOps這個詞來源于2009年在比利時根特市舉辦的首屆DevOpsDays大會,為了在Twitter上更方便的傳播,由DevOpsDays縮寫為DevOps。

目前,DevOps處于高速增長的階段。尤其是在大企業(yè)中,DevOps受到了廣泛的歡迎。

根據(jù)2018年的調(diào)查發(fā)現(xiàn),74%的受訪者已經(jīng)接受了DevOps,而前一年這一比例為66%。

越大的企業(yè),越喜歡DevOps。包括Adobe、Amazon、Apple、Airbnb、Ebay、Etsy、Facebook、LinkedIn、Netflix、NASA、Starbucks、Walmart、Sony等公司,都在采用DevOps。

如今,DevOps幾乎已經(jīng)成為了軟件工程的代名詞。

DevOps迅猛發(fā)展,相關(guān)專業(yè)人才的薪資待遇也跟著水漲船高。

根據(jù)調(diào)研,DevOps工程師在美國的平均年薪為130000美金,在中國平均年薪也在40萬-50萬區(qū)間,能力強者年薪百萬也是比比皆是。

數(shù)據(jù)來自招聘網(wǎng)站

薪資的猛漲,又帶動了IT工程師們學(xué)習(xí)和認證的熱潮。

DevOps的認證目前最受歡迎的就是EXIN DevOps Master和EXIN DevOps Professional。這些認證的培訓(xùn)費用不低,但是仍然吸引了很多人踴躍報名。

EXIN DevOps認證體系

DevOps與虛擬化、容器、微服務(wù)

這幾年云計算技術(shù)突飛猛進,大家應(yīng)該對虛擬化、容器、微服務(wù)這些概念并不陌生。當(dāng)我們提到這些概念的時候,也會偶爾提及DevOps。

它們之間有什么聯(lián)系呢?

其實很簡單。

大家可以設(shè)想一下,如果要對一項工作進行精細化分工,我們是對一個大鐵疙瘩進行加工方便?還是拆成一塊一塊進行加工更加方便?

顯然是拆分之后會更加方便。

所謂“微服務(wù)”,就是將原來黑盒化的一個整體產(chǎn)品進行拆分(解耦),從一個提供多種服務(wù)的整體,拆成各自提供不同服務(wù)的多個個體。如下圖所示:

單體式架構(gòu)(Monolithic)→ 微服務(wù)架構(gòu)(Microservices)

微服務(wù)架構(gòu)下,不同的工程師可以對各自負責(zé)的模塊進行處理,例如開發(fā)、測試、部署、迭代。

而虛擬化,其實就是一種敏捷的云計算服務(wù)。它從硬件上,將一個系統(tǒng)“劃分”為多個系統(tǒng),系統(tǒng)之間相互隔離,為微服務(wù)提供便利。

容器就更徹底了,不是劃分為不同的操作系統(tǒng),而是在操作系統(tǒng)上劃分為不同的“運行環(huán)境”(Container),占用資源更少,部署速度更快。

明白了吧?虛擬化和容器,其實為DevOps提供了很好的前提條件。開發(fā)環(huán)境和部署環(huán)境都可以更好地隔離了,減小了相互之間的影響。

這也是DevOps為什么09年時不火,現(xiàn)在越來越火的一個主要原因之一。

最后的話

天下武功,無堅不摧,唯快不破。

時代發(fā)展到現(xiàn)在,客戶的需求瞬息萬變,市場的風(fēng)向也難以預(yù)測。作為企業(yè),想要生存下去,只有讓自己變得更快。作為員工,必須讓自己眼光更加長遠,內(nèi)心更加包容。


分享文章:一文看懂DevOps,再不懂來打我
分享路徑:http://www.dlmjj.cn/article/cooioci.html