
一開(kāi)始、我在一家小公司擔任顧問(wèn)職務(wù)、主要負責編寫(xiě)代碼、安裝操作系統與軟件及管理數據庫服務(wù)器。我以前從未寫(xiě)過(guò)代碼,但是我有運行Uuix工作站的經(jīng)驗,所以一開(kāi)始運維工作對于我來(lái)說(shuō)比較輕松。后來(lái),我們增加了一個(gè)職責更清晰的運維團隊;然而,他們似乎更關(guān)注于網(wǎng)絡(luò )、操作系統和數據庫管理員方面的工作。
這兩個(gè)團隊的關(guān)系總是很微妙。我記得,有一位高級開(kāi)發(fā)人員總是在一個(gè)窗口上運行Unix的w命令,一旦看到有管理員登錄他的設備并準備安裝補丁時(shí),他就會(huì )馬上關(guān)閉網(wǎng)絡(luò )服務(wù)!他真的不希望有人搞亂他現有的環(huán)境。我認為,這個(gè)分界線(xiàn)在20年前和現在的變化并不大,但是我們所在環(huán)境的規模與復雜性,以及所處的公司文化都發(fā)生了很大變化。我曾經(jīng)在一些擁有大規模服務(wù)器群的站點(diǎn)工作,其中運維團隊只負責管理操作系統,而開(kāi)發(fā)人員則負責所有其他事務(wù)。在其他一些環(huán)境中,開(kāi)發(fā)人員與運維人員也有嚴格的職責劃分。
作為開(kāi)發(fā)人員,您對開(kāi)發(fā)運維( Devops)有什么看法?
在很多方面,我認為它實(shí)際上是“開(kāi)發(fā)開(kāi)發(fā)”( Devdev)。似乎很多以前屬于運維人員職責范圍的工作都轉移給了開(kāi)發(fā)人員。我認為這是個(gè)正確的轉變。如果一位開(kāi)發(fā)人員能夠編寫(xiě)軟件,那么他一定也要能管理軟件在生產(chǎn)環(huán)境的運行,而如果將這項工作轉交給運維團隊,其代價(jià)會(huì )更高,也更容易出現錯誤。避免了工作轉移,也就避免了問(wèn)題,而且開(kāi)發(fā)人員也能夠繼續負責管理自己編寫(xiě)的軟件。如果他們會(huì )在半夜因為軟件出現意外問(wèn)題而被人叫醒,那么他們一定會(huì )去努力修復這個(gè)軟件問(wèn)題,因為他們肯定不愿意總是在私人時(shí)間里被人打擾。如果不經(jīng)歷這樣的痛苦,他們就不會(huì )有動(dòng)力,就體會(huì )不到好好對待同事的好處,也就不會(huì )認真地開(kāi)發(fā)出好的軟件。此外,舉例來(lái)說(shuō),任何只懂編寫(xiě)Java代碼的人肯定不會(huì )認真提高自己的工作質(zhì)量,而我是肯定不會(huì )招聘這種人的。
開(kāi)發(fā)運維是否與敏捷相似?
它們在很多方面有相似性。敏捷提倡團隊合作,推崇分擔責任。通常,人們認為這種方法要求開(kāi)發(fā)人員不斷地切換角色,然而敏捷方法則通常將QA視為敏捷團隊的內在特性??梢赃@樣說(shuō),開(kāi)發(fā)運維將運維帶到敏捷中。
系統管理員能夠給開(kāi)發(fā)人員的最大幫助是什么?
訪(fǎng)問(wèn)、數據和穩定統一的環(huán)境。例如,來(lái)自不同主機的 Hadoop用戶(hù)應該擁有一個(gè)穩定不變的用戶(hù)D。系統管理員要像開(kāi)發(fā)人員對待代碼樣處理基礎架構和配置,并且要使用一種測試框架去測試軟件的修改如 Cucumber測試框架。
在與運維人員協(xié)作時(shí),開(kāi)發(fā)人員最應該注意的是什么?
網(wǎng)站建設開(kāi)發(fā)人員一定要記住,如果出現了問(wèn)題,那么有90%的可能性是開(kāi)發(fā)人員自己的錯誤。
本文地址:http://havencoinwallet.com//article/4480.html