DevOps集開發(fā)、測試、部署和運營為一體,并迅速成為了加速應(yīng)用交付的典型技術(shù)。如今,業(yè)務(wù)成功更加依賴于高質(zhì)量軟件服務(wù),因此DevOps的影響也日益顯著。
同其他新技術(shù)一樣,DevOps的出現(xiàn)也激起了許多討論。有人認(rèn)為,DevOps是針對IT潮人的新技術(shù),所以傳統(tǒng)公司無需為此而費心,然而事實果真如此么?在深入理解DevOps之前,應(yīng)該首先來澄清一些關(guān)于DevOps的常見迷思和誤解。
1. DevOps專為IT潮人們而生
對于DevOps的轉(zhuǎn)換問題,即開發(fā)員將不確定的代碼交給運營部門(由運營部門來進(jìn)行解碼),人們往往認(rèn)為只能通過擁有多重專業(yè)能力的新人來解決:一個對從自動化配置到生產(chǎn)代碼模擬的知識都有了解的全能型人才。
CA Technologies的建議:企業(yè)在試圖找出DevOps人才之前,應(yīng)該回顧一下現(xiàn)有人力資源中所未被開發(fā)的潛能。事實上,許多資深開發(fā)人員正是DevOps創(chuàng)新的縮影——他既是一個能像程序員一樣思考的專業(yè)運營人員,又是一個能了解他所開發(fā)的所有產(chǎn)品變化需求的程序員。但是刻板的文化和“一個蘿卜一個坑”的組織架構(gòu)卻使他們?nèi)娴牟拍芎图夹g(shù)無法得到充分利用。
2. 一個創(chuàng)新技術(shù)統(tǒng)領(lǐng)全局
讓人驚訝的是,那些對DevOps大加鼓吹的人對現(xiàn)有的優(yōu)秀運營方法往往展現(xiàn)出不屑和輕蔑。于是忽然間,已有的工作體系如ITIL、COBIT和平衡計分卡不再受到重視,那些所謂的DevOps擁護者們宣稱這些舊體系已失去地位,應(yīng)該被淘汰。
CA Technologies的建議:別被炒作所迷惑。真正值得投資的方向是那些可以加快或提升服務(wù)的最佳實踐。當(dāng)DevOps的支持者們大肆宣揚其作為敏捷思維、創(chuàng)新改變、持續(xù)交付的代表的同時,IT服務(wù)管理流程實際需要的是對恢復(fù)力和穩(wěn)定性的重視和強調(diào)。新技術(shù)的浪潮不斷襲來,我們不能只聚焦于諸多技術(shù)間的競爭,更要關(guān)注它們能夠互相補充的能力。
3. 這是一項技術(shù)創(chuàng)新
如今,圍繞DevOps的話題涌現(xiàn)不少優(yōu)秀的技術(shù)性文章,同時,很多像基礎(chǔ)設(shè)施式代碼和抗脆弱性這樣發(fā)人深思的新術(shù)語也隨著一系列新產(chǎn)品和新技術(shù)的誕生被創(chuàng)造出來。然而,雖然這些新工具是進(jìn)行創(chuàng)新的基礎(chǔ),但人們經(jīng)常忽略一點,即不恰當(dāng)?shù)淖詣踊瘮?shù)據(jù)處理只會讓原有的缺陷雪上加霜。因此,單純通過利用一些看似強大的新型工具使自身成為最快速的應(yīng)用開發(fā)平臺不過是徒勞之舉,因為這些純粹追求速度的工作既不能創(chuàng)造商業(yè)效益,也無法滿足消費者的預(yù)期。
CA Technologies的建議:回顧我們當(dāng)前工具的使用方式,應(yīng)用性能管理這類的工作通常是由運營團隊來操控。試想如果開發(fā)者能有效使用工具來檢測代碼、模擬性能表現(xiàn)、在產(chǎn)品被生產(chǎn)出來之前做出更精確的容量判斷,將會有怎么樣的情況出現(xiàn)?它不僅是一個監(jiān)測工具,它應(yīng)該成為一種減少缺陷、提升產(chǎn)品質(zhì)量的協(xié)作生產(chǎn)方式。
謹(jǐn)記,密切關(guān)注速度和“靈敏性”——對那些有助于快速安裝可行應(yīng)用程序的性能進(jìn)行測試,并利用用戶的反饋來檢驗?zāi)愕募僭O(shè)。尤其值得注意的是,安裝完成的應(yīng)用可能與你的預(yù)期完全不同,因此要經(jīng)常對項目策劃、產(chǎn)品管理、資金和項目實施進(jìn)行檢查并隨時做好改變策略的準(zhǔn)備。
4. 業(yè)務(wù)不會受到影響
很多機構(gòu)認(rèn)為DevOps的運行原理是無法真正實現(xiàn)的,因為他們不是將業(yè)務(wù)外包,就是不具有開發(fā)應(yīng)用產(chǎn)品的能力。另一些機構(gòu)猜測,由于DevOps屬于產(chǎn)品制造商業(yè)或政府服務(wù)交付,需要不斷維修更換的行為都無法在他們信奉“不壞不修”的世界中占有一席之地。
CA Technologies的建議:看一看商業(yè)和IT行業(yè)中的這兩個例子。耐克并非生意場中的一員,因為他們只生產(chǎn)運動鞋,而事實上他們出售的是一種健身體驗,即可穿戴設(shè)備。威辛斯(Withings)也不僅僅是出售浴室秤的廠商,他們提供的是擁有外部開發(fā)應(yīng)用生態(tài)系統(tǒng)的智能身體分析儀。
不論選擇何種基礎(chǔ)設(shè)施平臺和開發(fā)方法,這些公司都意識到了一點,他們正在轉(zhuǎn)型成為軟件領(lǐng)域的一員。這些公司利用軟件來創(chuàng)造新的商業(yè)模式,增強品牌影響力,并交付創(chuàng)新服務(wù)。
當(dāng)提及DevOps時,常常會聯(lián)想到精細(xì)、靈敏、持續(xù)生產(chǎn)等等,但真正應(yīng)該關(guān)注的是,如何做好專業(yè)工作,如何充分利用實驗、迭代和增量式設(shè)計等技術(shù),還有最重要的是,如何從失敗中吸取教訓(xùn)。
5. DevOps將改變世界
圍繞DevOps的信息如此之多,人們總是輕易服下定心丸,對DevOps表現(xiàn)出信心。但仔細(xì)想想——盡管采用了最佳的實踐、方法或舉措,軟件開發(fā)項目的成功率在近二十年卻沒有得到多少提高。雖然2012年軟件開發(fā)項目的成功率又創(chuàng)新高,然而根據(jù)斯坦迪什集團2013年的CHAOS宣言,仍有61%的項目正面臨挑戰(zhàn),有的甚至已經(jīng)徹底失敗。 CA Technologies的建議:
DevOps的關(guān)鍵點在于人。所以在涉足DevOps之前,應(yīng)該先審視一下支撐你們團隊的組織文化、工作流程和指標(biāo)。舉例來說,如果你的運營團隊曾因停止發(fā)布應(yīng)用而獲得獎勵,那其中肯定存在某些問題,即使采用再多的敏捷式開發(fā)也無濟于事。同樣的,如果你的開發(fā)人員不愿離開辦公室去了解用戶需求,那么DevOps也無能為力。