vagrant是虛擬機編排軟件,說直白一點,就是用命令行玩虛擬機的工具,虛擬機可以做測試環(huán)境驗證,當然也可以用生產(chǎn),一旦能用命令行來處理,就能表達的直白無歧義,也為自動化提供了可能性,自動化來了,大批量處理也就可能了。
看過技術(shù)書籍都知道,別人看似寫的很明白,但自己照著做就是不能成功,做技術(shù)驗證的也是,明明自己七搞八搞成功了,但怎么成功的就說不清楚了,下一次能否再成功心里也沒有把握,如果是腳本自動執(zhí)行成功,那么所有的邏輯應該都準確無誤的記錄在了腳本中,而且可以隨時重演,分享出去也是準確無誤,拿到生產(chǎn)環(huán)境使用也是準確無誤。
因此,形成可執(zhí)行的腳本分享出去是非常有價值的,用Linus的說法,拿代碼出來!
另外,對于流程的指導意義是,整個配置,從操作系統(tǒng)以后的所有環(huán)節(jié)都可以事先編排好,哪些不能加入自動化流程的就是需要改進的地方,流程上可以有審查和審批,但是不應該存在人與人的線下交接。
最近接觸到git版本管理,markdown寫作,vagrant虛擬機編排,kubernetes容器編排,越來越感覺用可讀的,平臺無關(guān)的方式處理技術(shù)問題非常的有美感,對比vagrantfile描述環(huán)境搭建和用截圖加文字描述,可以感受到平臺無關(guān)的,可讀性的實現(xiàn)方式是多么好。
對軟件設(shè)計的指導意義在于,任何集成第三方工具的接口處,都應該保留平臺無關(guān)的描述信息,以便在任何需要的時候重構(gòu)或者更換第三方工具,對于一個領(lǐng)域應用,在用戶接口下一層就應該是一種平臺無關(guān)的描述信息,以便任何時候可以輕易的對系統(tǒng)進行重構(gòu)。
總之,云計算最核心的問題之一就是大規(guī)模的自動化部署與運維,這一生態(tài)鏈中沉淀了太多來自于軟件開發(fā)設(shè)計領(lǐng)域的經(jīng)驗積累和智慧結(jié)晶!