為什么DevOps和云計算在一起至關(guān)重要
軟件的定義特性是軟性的。舉個例子,將翻蓋手機與智能手機進行對比。如果想改變翻蓋手機按鍵的顏色,由于按鍵是一個實體塑料件,這將需要更改其制造過程。從提出想法到市場實施,需要幾周甚至幾個月的時間。然而,智能手機使用軟件顯示其鍵,并且更改的范圍只是配置文件中的一行代碼。從提出想法到市場實施,這種變化只需要幾個小時甚至幾分鐘的時間。
那么為什么數(shù)據(jù)中心需要更多的軟件?
而近年來,幾乎每個業(yè)務(wù)都是一個軟件業(yè)務(wù),而使用數(shù)據(jù)中心的企業(yè)可能要求速度超過一切。對他們來說,速度意味著敏捷的軟件方法和快速迭代,找到***的想法的最有效的方式是盡可能多地發(fā)布軟件。這樣做會增加他們比競爭對手獲得更多的機會,從而轉(zhuǎn)化為更多的公司收入。
這就是為什么DevOps和云計算是重要的原因:給他們渴望的速度。
開發(fā)人員的開發(fā)工作
如果企業(yè)要求開發(fā)人員創(chuàng)建一個啟動虛擬機的故障單,需要實際使用數(shù)據(jù)中心的那些管理良好的硬件,那么必須讓客戶(即開發(fā)人員)輕松使用。
開發(fā)人員的工作通常圍繞兩周的開發(fā)過程,專注于實施一組特定功能或從優(yōu)先級列表中修復(fù)錯誤。要完成的項目列表由專業(yè)的人員維護和組織,團隊中的每個開發(fā)人員都會遇到問題并完成后再轉(zhuǎn)到下一個需求。
這個期限完成有更多的細節(jié)。它涉及建立一個足夠類似于生產(chǎn)的環(huán)境,以便對現(xiàn)有任務(wù)可行,然后為新功能編寫自動化測試。當(dāng)這些測試通過時,開發(fā)人員知道工作已經(jīng)完成。這種方法被稱為“測試驅(qū)動開發(fā)”。隨著環(huán)境的創(chuàng)建和測試的編寫,開發(fā)人員獲得了編寫實現(xiàn)新功能的代碼的業(yè)務(wù),通常通過將問題分解成更小的部分,對每個并將部件部署到開發(fā)環(huán)境中。
起初,所有的測試都會失敗。但是,由于更多的這些編碼單個片段的循環(huán)已經(jīng)完成,更多的測試通過;最終他們都會通過,這表明工作已經(jīng)完成。然后將代碼檢入到源代碼控制系統(tǒng),如Git,其中自動化將新代碼部署在分段環(huán)境中(可能創(chuàng)建一個全新的分段環(huán)境),并執(zhí)行不僅僅是為了新的功能,,還包括所有先前的測試。。如果所有這些測試通過,代碼可能會作為手動版本的批量化一部分?;蛘撸渌詣踊瘜⒘⒓磳⑵洳渴鸬缴a(chǎn)中,這取決于團隊的運作方式。
大量循環(huán)實現(xiàn)最小化等待
這種循環(huán)過程的目的是將一小段代碼構(gòu)建成一個完整的特性,并且注入到循環(huán)中的任何等待時間都不利于效率和開發(fā)人員的士氣。假設(shè)為一個新功能負責(zé),并試圖為代碼創(chuàng)建一個開發(fā)環(huán)境,只需等待一整天,而票務(wù)流程為該環(huán)境配置虛擬機。這樣會導(dǎo)致生產(chǎn)力下降,從而減慢了周期。
現(xiàn)在想象一下,一個新的環(huán)境可以在幾分鐘內(nèi)用虛擬機創(chuàng)建,也可以用容器在幾秒鐘內(nèi)創(chuàng)建一個新的環(huán)境。這種情況使開發(fā)人員能夠更快地找到工作的核心:編寫代碼。通過最小化等待時間,他們的效率和士氣會提高。當(dāng)他們不能從他們自己的數(shù)據(jù)中心獲得最少的等待時間時,他們轉(zhuǎn)而采用公共云替代方案。
DevOps成功看起來像什么
那么,DevOps就是在開發(fā)和部署周期中設(shè)計開發(fā)人員需要的這些環(huán)境的自動化,以***限度地減少他們的等待時間,并允許他們在代碼基礎(chǔ)上獲得更多的迭代??紤]到這些環(huán)境一直處于變化狀態(tài),它們是基于云計算消費的天然盟友,但是如果企業(yè)按他們對公共云和私有云的偏好向開發(fā)者施加壓力,他們很可能會告訴知速度比細節(jié)更重要。
考慮到這一點,DevOps的成功實施使得云計算能夠立即啟動支持開發(fā)和部署過程中涉及的各種環(huán)境所需的資源。而集成安全,監(jiān)控和數(shù)據(jù)中心運營人員關(guān)心的環(huán)境的其他方面至關(guān)重要,但不是上以犧牲速度為代價的。如果不能自動化管理虛擬機的重要方面,開發(fā)人員將無法選擇外部資源來提供管理需求。
總結(jié)
多年來,開發(fā)人員和操作人員有時會發(fā)生沖突,互相指責(zé)。在過去的幾年中,IT運營人員壟斷了開發(fā)人員正在開發(fā)的軟件的托管選項,但公共云改變了這一切,開創(chuàng)了自動環(huán)境創(chuàng)建時代,成為開發(fā)人員的新標(biāo)準(zhǔn)。數(shù)據(jù)中心業(yè)務(wù)仍然可以通過注入到發(fā)展過程自動化的DevOps同樣操作,得到那些與公司收入密切相關(guān)的開發(fā)團隊的注意,這不僅是可能的,而且也是必須的。