工欲善其事必先利其器-軟件開發(fā)的下一場生產(chǎn)力革命
如今,企業(yè)上云使用云已是常態(tài)。數(shù)據(jù)顯示,云將是軟件的普遍承載方式,到2025年80%的企業(yè)應(yīng)用將運(yùn)行在云中。不僅應(yīng)用在云上,開發(fā)也在向云端遷移。
隨著云計(jì)算和容器等新技術(shù)不斷發(fā)展,軟件開發(fā)的生產(chǎn)模式發(fā)生了極大的變革。互聯(lián)網(wǎng)的迅速崛起,敏捷開發(fā)開始進(jìn)入軟件產(chǎn)業(yè),軟件開發(fā)模式已經(jīng)由瀑布式流程向敏捷性開發(fā)模式轉(zhuǎn)變。在此之后,上述改進(jìn)機(jī)制開始向下游延伸至IT運(yùn)營領(lǐng)域,又出現(xiàn)了DevOps開發(fā)與運(yùn)維相結(jié)合的模式。
而現(xiàn)在,軟件開發(fā)過程也被搬上云端,從原始的開發(fā)環(huán)境、地點(diǎn)都受到嚴(yán)格限制,到現(xiàn)在只要有網(wǎng)絡(luò),就可以在任何時(shí)間、任何地點(diǎn)完成開發(fā)過程,開發(fā)者可以輕資產(chǎn)運(yùn)行,又可以無痛協(xié)作,專注創(chuàng)新和完善產(chǎn)品。因此越來越多的開發(fā)者開始轉(zhuǎn)移到云端進(jìn)行開發(fā),軟件開發(fā)云的需求急劇攀升。
傳統(tǒng)軟件開發(fā)模式之痛
傳統(tǒng)軟件開發(fā)模式流程繁瑣復(fù)雜,部署維護(hù)低效,團(tuán)隊(duì)協(xié)作壁壘等問題嚴(yán)重制約了軟件交付的效率和質(zhì)量。
眾所周知,傳統(tǒng)軟件交付的是軟件包,開發(fā)周期長,產(chǎn)品發(fā)布周期在半年以上的比比皆是,比如銀行。其次,交付成本高,傳統(tǒng)軟件從代碼提交到成功部署,通常至少需要1-6個(gè)月時(shí)間,將復(fù)雜大型代碼部署到生產(chǎn)環(huán)境,給系統(tǒng)整合與運(yùn)維都帶來了巨大挑戰(zhàn),如兼容性問題,而且復(fù)雜的調(diào)試常招致開發(fā)運(yùn)維相互指責(zé)。
如果測試中發(fā)現(xiàn)問題。開發(fā)者必須找出根源并修復(fù)這些問題。在某些情況下,特別是涉及非功能特性如安全、性能、可用性等方面的缺陷,可能需要做出架構(gòu)上的調(diào)整,付出巨大代價(jià)。整合、測試、缺陷修補(bǔ)等活動(dòng)天然具有較大不可預(yù)期性,還容易導(dǎo)致交付延期。
此外,國際化、跨地域團(tuán)隊(duì)溝通協(xié)作多,項(xiàng)目可見性、同步性要求高,新技術(shù)、新語言學(xué)習(xí)曲線長,也會使得工具部署和維護(hù)低效、復(fù)雜。
Puppet的調(diào)查顯示,相比傳統(tǒng)開發(fā)模式的企業(yè),采用DevOps開發(fā)的高效能IT企業(yè)產(chǎn)品發(fā)布頻率大幅領(lǐng)先,單位時(shí)間段內(nèi),發(fā)布次數(shù)是傳統(tǒng)企業(yè)的200倍,交付時(shí)間縮短2555倍,故障恢復(fù)時(shí)間縮短24倍,變更失敗率降低3倍。計(jì)劃外工作比傳統(tǒng)企業(yè)少了22%,而投入在創(chuàng)新上的時(shí)間比后者多了29%。這份數(shù)據(jù)在突顯DevOps價(jià)值的同時(shí),傳統(tǒng)軟件開發(fā)模式的低效也揭露的淋淋盡致。
因此,解決傳統(tǒng)開發(fā)模式遇到的一系列問題,向DevOps、敏捷、精益等軟件模式轉(zhuǎn)型,提升企業(yè)IT部門的總體運(yùn)作效率,快速響應(yīng)用戶需求,提升競爭力,成為當(dāng)前大多數(shù)企業(yè)最為迫切的需求。
DevOps一站式工具平臺的選擇
DevOps在國內(nèi)認(rèn)同度和關(guān)注度持續(xù)上升,變得越來越流行。因此,成為了不少企業(yè)解決傳統(tǒng)開發(fā)模式問題的優(yōu)先選擇之一。不過DevOps雖好,但落地并不容易,尤其離不開相應(yīng)工具平臺的支撐,畢竟工欲善其事必先利其器。
目前,網(wǎng)上DevOps工具非常多,有偏項(xiàng)目管理的,有偏代碼托管檢查的,也有自動(dòng)部署的,監(jiān)控分析的等等,大都比較分散單一,缺乏統(tǒng)一的一站式解決方案。而對大多數(shù)中小企業(yè)而言,恰恰需要的就是輕量化、服務(wù)化、社交化、智能化的一站式開發(fā)平臺,輕資產(chǎn)運(yùn)行,又可以無痛協(xié)作,從而專注于核心業(yè)務(wù)創(chuàng)新。為什么這里說是中小企業(yè)而非大企業(yè),因?yàn)榇笃髽I(yè)都有自己的工具研發(fā)部門,專門提供DevOps工具。
好在現(xiàn)在國內(nèi)外一些云廠商已經(jīng)開始提供這類的工具集。如AWS開發(fā)工具集、華為軟件開發(fā)云(DevCloud)、微軟VSTS(Visual Studio Team Services)、IBM Bluemix、百度效率云等。
讓企業(yè)在踐行DevOps開發(fā)模式縮短開發(fā)周期,提升開發(fā)質(zhì)量時(shí)有了更多一站式DevOps開發(fā)云臺的選擇。例如華為軟件開發(fā)云,它是一款輕量級的DevOps工具,面向中小企業(yè)、初創(chuàng)公司、個(gè)人開發(fā)者提供包括項(xiàng)目管理、配置管理、代碼檢查、編譯構(gòu)建、測試、部署、發(fā)布等端到端地覆蓋軟件生命周期的相關(guān)服務(wù),采用按需計(jì)費(fèi)。從了解到的1個(gè)實(shí)際案例看,某項(xiàng)目和軟件開發(fā)云合作后,項(xiàng)目的版本交付周期由以前的3個(gè)月縮短到1周,構(gòu)建由之前的2個(gè)小時(shí)縮短至10分鐘,效果明顯。
小結(jié)
軟件企業(yè)向DevOps轉(zhuǎn)型并非一蹴而就,成為一個(gè)敏捷的軟件驅(qū)動(dòng)型企業(yè)需要一套全新的工具集,然而只有新技術(shù)是不夠的,改造流程以加快速度才是重中之重,同樣重要的還有圍繞這一目標(biāo)重組新的角色和團(tuán)隊(duì),這個(gè)過程可能是漫長的、持久的,但也是必須的!
而對DevOps有想法的企業(yè),多半都是業(yè)務(wù)發(fā)展還不錯(cuò),但在開發(fā)和運(yùn)維上都比較大的壓力的企業(yè),那么,華為軟件開發(fā)云或許是一個(gè)不錯(cuò)的選擇。