#DevOps的前世今生# 2. Dev和Ops矛盾緣何而來 今艺?

前言

#DevOps的前世今生# 1. DevOps編年史一文中,通過追溯 DevOps 活動產(chǎn)生的歷史起源,我們發(fā)現(xiàn)了 DevOps 是敏捷思想從軟件開發(fā)端(Dev)到系統(tǒng)維護端(Ops)的延伸会油。無論是 DevOpsDays 的創(chuàng)始人 Patrick Debois,還是同時期的 The Agile Admin古毛。都想通過敏捷來改進傳統(tǒng)的系統(tǒng)維護工作以及軟件開發(fā)部門和系統(tǒng)維護部門的合作關系翻翩。但是,DevOps 的矛盾從何而來稻薇?這還要從 Dev 和 Ops 的起源開始講起嫂冻。

上古時代——抱著計算機使用手冊,自開發(fā)自運維

歷史要追溯到剛剛出現(xiàn)計算機的時期塞椎。當時桨仿,軟件開發(fā)還是少數(shù)人通過高學歷才能夠掌握的技能,那個時候只有“程序”(Program)案狠,但沒有“軟件”(Software)蹬敲,所以那個時候編寫程序的人員被稱為“程序員”(Programmer)≥航洌基本的學習材料還只是計算機設備廠商附送的使用手冊伴嗡。所以,只能先購買設備从铲,再自己培養(yǎng)人才瘪校。

早期的程序員

最先購買計算機的是科研單位,軍隊,政府以及少數(shù)大型企業(yè)阱扬。同時組建了新的部門泣懊,成立了信息技術部(IT Department),或者叫信息化辦公室(IT Office)麻惶。在中國的有些單位里干脆直接叫“電腦部”馍刮。他們一個科室,一個辦公室主任窃蹋,外加兩三個科級干部和幾個科員卡啰,專門管理這些電腦的使用情況,并且學習軟件編程技術警没,用程序來解決其它各部門的匈辱。

這是最初的IT運維雛形,在這個時期是沒有 Dev 和 Ops 之分的杀迹,他們統(tǒng)稱為 Programmer亡脸。由于開發(fā)和運維都由同樣的人包攬,自己維護自己開發(fā)的程序树酪,也可以被看做是原始的 DevOps浅碾。這個時期的計算機系統(tǒng)和問題較簡單,開發(fā)和維護并不復雜续语,無需進行專業(yè)區(qū)分及穗。

桌面通用軟件時代——軟件成為了一門生意,出現(xiàn)了專業(yè)的軟件開發(fā)工程師(Dev)绵载。

隨著計算機的成本不斷下降,尤其是以IBM PC為代表微型計算機( MicroComputer )開始普及苛白。企業(yè)也開始大規(guī)模使用計算機進行辦公娃豹。由于軟件開發(fā)人員數(shù)量仍然很少,加之需求很旺盛购裙,專業(yè)的軟件開發(fā)人員成本依然高昂懂版。

最開始的時候,軟件僅僅通過磁盤拷貝進行流傳躏率,某些介紹計算機或者軟件的雜志開了先河躯畴。程序員通過磁盤向雜志社投稿,雜志社通過變賣雜志和軟件獲利薇芝。由于軟件的邊際生產(chǎn)成本幾乎是0蓬抄,所以漸漸有人把銷售軟件變成了一門生意。隨著軟件的擴展夯到,當初為個人目的(Personal Purpose)所編寫的軟件漸漸的開始走通用化的路線嚷缭,慢慢形成了軟件產(chǎn)品。接著有了專門從事軟件開發(fā)的公司,并逐漸成為一個產(chǎn)業(yè)阅爽。并且有了軟件開發(fā)工程師(Developer路幸,簡稱Dev)這個職業(yè)。

微軟的成功是軟件開發(fā)專業(yè)化的代表

在這個時期付翁,開發(fā)軟件仍然是很專業(yè)的事情简肴,企業(yè)的IT部門要想開發(fā)軟件的代價十分高昂。因此百侧,大部分單位砰识,組織和企業(yè)通過購買的形式獲得軟件。IT部門逐漸成為了負責信息化采購以及軟硬件基本操作培訓的部門移层。此外仍翰,由于信息化發(fā)展加速,各行各業(yè)軟件層出不窮观话,加之軟件企業(yè)越來越多予借,IT部門不得不通過更廣泛的學習了解技術的變化。

企業(yè)級定制化軟件時代——企業(yè)級應用的快速發(fā)展频蛔,出現(xiàn)了專業(yè)的系統(tǒng)維護工程師(Ops)灵迫。

隨之帶來的問題是:無論企業(yè)買來多少軟件,企業(yè)的信息化需要仍然無法被滿足晦溪。一臺臺電腦成為了企業(yè)的信息孤島瀑粥,解決了信息的分析和存儲問題最多實現(xiàn)了無紙化辦公。沒有讓部門間的信息有效的流動起來三圆。大型企業(yè)最先發(fā)現(xiàn)這些問題并且給出了最初的解決方案狞换,使得企業(yè)級軟件開發(fā)和系統(tǒng)集成(System Integration)慢慢成為了一個熱門的領域。

企業(yè)級軟件系統(tǒng)最大的特點是通過計算機網(wǎng)絡解決了企業(yè)內(nèi)部的信息孤島舟肉。但這樣的系統(tǒng)無法在PC上運行需要專業(yè)的工作站修噪,服務器以及網(wǎng)絡設備。而這些設備的管理就理所當然的成為了企業(yè)IT部門的職責路媚。

Ops 需要管理很多的設備和應用

隨著軟硬件技術的發(fā)展黄琼,特別企業(yè)級應用開發(fā)的經(jīng)驗不斷積累,設備的采購成本和軟件的開發(fā)成本進一步降低整慎。大型IT廠商開始瞄準企業(yè)級應用市場脏款,尤其是IBM,Oracle和EMC推出了相應的產(chǎn)品裤园。使得軟件定制開發(fā)的成本不斷下降撤师。加之隨著開發(fā)人員越來越多,開發(fā)成本逐漸降低拧揽,于是出現(xiàn)了企業(yè)定制化軟件開發(fā)丈氓,出現(xiàn)了MIS和ERP這樣的應用以及J2EE這樣的企業(yè)級軟件開發(fā)框架。

在這個過程中,IT運維的概念逐漸產(chǎn)生万俗,維基百科上是這樣定義IT運維(IT Operations)的:

IT Operations is responsible for the smooth functioning of the infrastructure and operational environments that support application deployment to internal and external customers, including the network infrastructure; server and device management; computer operations; IT infrastructure library (ITIL) management; and help desk services for an organization.

翻譯成中文就是:

IT運維的責任是要為內(nèi)部和外部客戶的應用部署提供平滑的基礎設施和操作環(huán)境湾笛,包括網(wǎng)絡基礎設施,服務器和設備管理闰歪,計算機操作嚎研,ITIL管理,甚至作為組織的IT幫助中心库倘。

對于企業(yè)的IT部門來說临扮,工作就不僅僅是維護計算機和網(wǎng)絡這些設備了。還要包括運行在上面的軟件系統(tǒng)教翩,尤其是定制化的企業(yè)級軟件產(chǎn)品杆勇。因此在定制化企業(yè)級軟件交付從乙方交付給甲方的時候就需要一系列的技術審查以確保質量,這就使得原本不需要關心軟件是如何開發(fā)的企業(yè)IT部門提出了更高的要求饱亿。他們必須提升專業(yè)水準以應對這樣的變化蚜退。同時需要重新思考整個IT部門的服務管理和設計。隨著IT部門知識和服務專業(yè)度的提升彪笼,促生出了了ITIL(Information Technology Infrastructure Library钻注,信息技術基礎設施庫)這樣的最佳實踐庫,也使“系統(tǒng)維護工程師”(Ops)更加專業(yè)化配猫。

在這個時期幅恋,Dev和Ops的矛盾,主要是由Dev所代表的乙方和Ops所代表的甲方在定制化軟件產(chǎn)品交付質量上的矛盾泵肄。

敏捷軟件開發(fā)時代——應對頻繁變更的挑戰(zhàn)

隨著企業(yè)級軟件開發(fā)日趨完善和成熟捆交,形成了以RUP(Rational Unified Process,Rational 統(tǒng)一軟件開發(fā)過程)為代表的方法論腐巢。RUP描述了如何有效地利用商業(yè)的可靠的方法開發(fā)和部署軟件品追,是一種重量級過程(也被稱作厚方法學),因此特別適用于大型軟件團隊開發(fā)大型項目系忙。

后來,互聯(lián)網(wǎng)企業(yè)的繁榮著實閃瞎了世界的眼睛惠豺。沒有人想到原本用來進行國防和科研的廣域網(wǎng)居然可以帶來這么大的商業(yè)價值银还。互聯(lián)網(wǎng)創(chuàng)業(yè)公司的成功不斷的顛覆了很多人習以為常的事情洁墙,特別是IT產(chǎn)業(yè)蛹疯。

首先,相較于最多萬人的用戶訪問規(guī)模热监,來自互聯(lián)網(wǎng)的千萬級甚至是億級的訪問規(guī)模是企業(yè)級應用不曾遇到過的捺弦。這對軟件開發(fā),主機管理,網(wǎng)絡架構都帶來了很大的挑戰(zhàn)列吼。

其次幽崩,企業(yè)級應用和互聯(lián)網(wǎng)應用面對的問題是不一樣的。根據(jù)“康威定理”:設計系統(tǒng)的組織寞钥,其產(chǎn)生的設計和架構等價于組織間的溝通結構慌申。相較于有著清晰的等級和部門分工的組織來說,互聯(lián)網(wǎng)產(chǎn)品的溝通結構更加復雜理郑。

此外蹄溉,互聯(lián)網(wǎng)應用由互聯(lián)網(wǎng)企業(yè)自開發(fā)自維護。雖然從表面上看沒有了甲方和乙方的對立您炉。但開發(fā)和運維相互分離的工作流程和考核方式卻沿用了下來柒爵,職責上的對立依然存在:

Dev的工作是給應用系統(tǒng)增加新的功能/修復軟件的Bug,這一系列價值的產(chǎn)生是通過應用系統(tǒng)變更實現(xiàn)的赚爵。一般的組織會用代碼/功能的貢獻數(shù)量作為KPI作為考核的依據(jù)棉胀,以激勵Dev的工作產(chǎn)出。

Ops的工作則是讓應用系統(tǒng)保持穩(wěn)定和高性能囱晴,即最大化縮短宕機時間并能夠提升應用系統(tǒng)的性能膏蚓,并以這兩者作為Ops的KPI的考核指標。以激勵Ops通過維護工作使應用系統(tǒng)能夠按照預期穩(wěn)定的產(chǎn)出價值畸写。

而市場環(huán)境的瞬息萬變和資本的集中化使得互聯(lián)網(wǎng)軟件產(chǎn)品的生存狀態(tài)十分脆弱:

一方面驮瞧,快速變化的市場難以預測。因此枯芬,基于經(jīng)驗的重量級軟件開發(fā)方法不再適用论笔。取而代之的是強調(diào)適應性,擁抱變化的敏捷方法千所】衲В互聯(lián)網(wǎng)軟件必須通過頻繁增加/修改功能來提升自身對市場的適應程度。

另一方面淫痰,互聯(lián)網(wǎng)軟件的變更給帶來的風險和損失都是難以度量的最楷。因此,互聯(lián)網(wǎng)軟件有更加嚴格的交付標準待错,需要做更多的質量保證籽孙。而基于經(jīng)驗的系統(tǒng)運維實踐并沒有給出足夠的方法以應對這種挑戰(zhàn)。

因此火俄,在這個時期犯建,DevOps的矛盾主要是面向適應性的敏捷軟件交付和面向經(jīng)驗性的傳統(tǒng)運維之間的矛盾。

那么瓜客,如果將敏捷的文化和原則引入運維适瓦,會如何竿开?

請期待下一篇:#DevOps的前世今生# 3. DevOps的文化和原則

感謝ThoughtWorks總監(jiān)咨詢師史凱對本文的改進意見和建議。

參考資源:

https://en.wikipedia.org/wiki/Information_technology_operations

https://en.wikipedia.org/wiki/Software_developer

https://en.wikipedia.org/wiki/Management_information_system

https://en.wikipedia.org/wiki/Enterprise_resource_planning

https://en.wikipedia.org/wiki/Rational_Unified_Process

http://agilemanifesto.org/iso/zhchs/manifesto.html

https://theagileadmin.com/what-is-devops/

http://www.jedi.be/blog/2009/12/22/charting-out-devops-ideas/

http://itrevolution.com/the-convergence-of-devops/

http://joehertvik.com/operations-management/

https://zh.wikipedia.org/wiki/IBM-Rational%E7%BB%9F%E4%B8%80%E8%BF%87%E7%A8%8B

https://zh.wikipedia.org/wiki/%E6%95%8F%E6%8D%B7%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91

http://www.infoq.com/cn/news/2015/08/itil-vs-devops/

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
禁止轉載玻熙,如需轉載請通過簡信或評論聯(lián)系作者否彩。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市揭芍,隨后出現(xiàn)的幾起案子胳搞,更是在濱河造成了極大的恐慌,老刑警劉巖称杨,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肌毅,死亡現(xiàn)場離奇詭異,居然都是意外死亡姑原,警方通過查閱死者的電腦和手機悬而,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锭汛,“玉大人笨奠,你說我怎么就攤上這事』脚梗” “怎么了般婆?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朵逝。 經(jīng)常有香客問我蔚袍,道長,這世上最難降的妖魔是什么配名? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任啤咽,我火速辦了婚禮,結果婚禮上渠脉,老公的妹妹穿的比我還像新娘宇整。我一直安慰自己,他們只是感情好芋膘,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布鳞青。 她就那樣靜靜地躺著,像睡著了一般为朋。 火紅的嫁衣襯著肌膚如雪臂拓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天潜腻,我揣著相機與錄音埃儿,去河邊找鬼器仗。 笑死融涣,一個胖子當著我的面吹牛童番,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播威鹿,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼剃斧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了忽你?” 一聲冷哼從身側響起幼东,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎科雳,沒想到半個月后根蟹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡糟秘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年简逮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尿赚。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡散庶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凌净,到底是詐尸還是另有隱情悲龟,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布冰寻,位于F島的核電站须教,受9級特大地震影響,放射性物質發(fā)生泄漏性雄。R本人自食惡果不足惜没卸,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秒旋。 院中可真熱鬧约计,春花似錦、人聲如沸迁筛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽细卧。三九已至尉桩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贪庙,已是汗流浹背蜘犁。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留止邮,地道東北人这橙。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓奏窑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親屈扎。 傳聞我的和親對象是個殘疾皇子埃唯,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容