

云計算時代的來臨已經是IT業發展的必然,其發展趨勢是不會因個人意志而轉移的。云計算不僅是一次技術的顛覆,更是一場商業革命。而軟件以及軟件開發作為IT行業的支柱,在云計算的時代浪潮下,更是具有了自己活力。
軟件“無處不在”
在IT行業,軟件扮演著越來越重要的角色。在工信部制定的《軟件和信息技術服務業“十二五”發展規劃》里明確規定,到2015年我國軟件和信息技術服務業收入將突破4萬億元,占信息產業比重達到25%。近日,工信部網站公布的數據顯示,我國軟件和信息技術服務業持續穩中有落態勢,全行業效益持續好轉,人員和工資總額保持穩定。軟件業實現利潤2126億元,同比增長25.5%。
軟件被用于創建更加高效的世界,駕馭以云計算和移動互聯網為基礎的信息大爆炸的發生,與無數移動設備、物聯設備實現通信,同時,軟件還不斷促進產品差異化,為全球市場提供服務。現在全球經濟體的發展和創新越來越依賴軟件的發展,無論是在系統工程領域,還是在其他科學研究領域,全球創新在很大程度上都是以軟件的開發、變更和監控為基礎的。
軟件定義的網絡、軟件定義的存儲、軟件定義的數據中心等又再次把軟件推到了風口浪尖。“軟件重塑IT”已經成為可以和“云計算、大數據、物聯網、智慧地球”等媲美的IT行業熱門詞匯。越來越多的企業更加注重自身軟件和系統交付的能力,無處不在的軟件成為實現創新發展的基石。
“服務多租賃化、平臺可伸縮性,以及資源虛擬化”這是被大家普遍認可的云計算的特性,這些云計算特性主要是靠軟件來實現。比如,資源的虛擬化,虛擬化的實現必須靠軟件的變化來實現,否則,無限和有限的資源便無法實現無縫銜接。軟件在云計算時代將更加普遍存在,其作用也會更加舉足輕重。
“云”改變軟件開發
企業的云應用正從SaaS向PaaS和IaaS方向發展。用戶需要可以結合自身企業特點的開發、測試、在線部署等功能的軟件產品。而這就對云計算時代的軟件開發提出了新的要求,軟件開發人員要在架構設計上具有新的思路,要讓軟件能夠實現從私有云向公有云的無縫遷移。
云計算時代的軟件是運行在云平臺上,并具有在線租賃、可伸縮性、按需定制等特性的軟件。云計算下的軟件開發打破了軟件開發商與用戶的二元格局,第三方云計算中心的作用更加重要。云計算模式下的軟件開發和運行環境基本上都是由云計算中心來架構的,這些資源按照開發者的要求進行配置。在開發者一端省去了硬件設施架構、運行環境調試等工作,只需一個瀏覽器和一些簡單的工具就可以實施開發。開發完成之后的測試以及運行和維護也全部由云計算中心負責。
其次,云計算改變著軟件的開發方式。隨著平臺的開放,開源、開放的軟件開發社區越來越多。開源廠商是聯系社區和商業應用的企業,類似這樣的企業可以捕捉社區內最新的需求和技術動向,實現開源軟件產品的商業化,同時以商業上的利潤和方式推動社區的運營。要知道社區中除了“極客”,用戶也在其中。與需求的近距離接觸,帶來最直接的效果就是使得軟件開發周期大幅縮短。
第三,軟件運行在數據中心里,而不是在用戶的服務器和計算機上,這是云計算時代必備的特征。而且云時代的軟件還需要應對用量的變化。從制作網絡鏡像手工增刪資源,到系統和平臺的自動伸縮性,這些都是云計算時代軟件必須具備的特征。云時代的軟件還需要能夠實現個性化的定制。對于同一個軟件的同一個版本,用戶可以根據自己的需要做一定程度的定制,這就要求軟件具有很穩定的基礎結構。還有,云計算時代還會要求軟件的快速開發。隨著技術水平的提高,快速開發的水平越來越高,云計算的資源共享,以及標準的服務集成讓快速開發變得更加有效。
最后,軟件和服務之間的界限也變得更加模糊,服務模式發生了很大的改變。在云計算的驅動下,軟件銷售采用“打包”方式,應該是比較務實的方式。比如一個方案中既包括可以進行IaaS或PaaS的軟件產品,還包括提供云計算咨詢的服務產品。同時也會提供相應的培訓課程。基于云計算的咨詢和服務將會成為軟件企業的一個利潤增長點。
軟件開發新需求
云計算時代的軟件需要新的開發技術。開發人員需要使用云計算時代的軟件開發技術去提高開發能力。云計算時代要求軟件開發人員思考架構設計,甚至需要考量運維模式和商業模式。
云計算是在分布式計算、并行計算和網絡計算的基礎上,經過一系列的創新融合而形成的。從開發技術的角度來看,云計算平臺以及云計算平臺上的應用軟件開發都是使用分布式并行編程技術的。分布式并行編程的關鍵技術有三方面:分布式并行數據處理技術,分布式文件系統,分布式數據庫。
從程序的架構設計方面來看,開發人員需要在程序籌建過程中,就要思考哪些應用能夠實現私有云、公有云以及混合云之間的互用。需要開發人員設計出一種能夠在功能上滿足當前業務需求,又能夠適應用戶需求發生變化或者能夠在可以預見的未來適應環境變化的應用。
從商業模式方面來看,以前,軟件都是依靠軟件授權模式來銷售,或者直接是免費的。但是在云計算時代,認真思考盈利模式對于軟件開發人員來說是一個更大的挑戰。一旦具有了清晰的商業模式,就會很快地實現軟件的盈利。
結語
云計算無疑已受到極大的關注,云計算時代的到來讓IT技術面對著不同的挑戰。我們也可以看到云計算對IT行業的硬件模型、應用模型和用戶體驗等方面帶來了革命性的影響。云計算開發技術的發展使得開發人員可以快速構建高可用的、可以幾乎無限擴展的應用。
云計算的服務需要創新和發展。盡管云計算的分布并發編程和數據庫技術還不夠成熟,編程模式的開發框架和方法學體系也只是適用于較簡單的海量數據高效處理,但是,云服務軟件系統的開發技術,需要發展、積累和創新。云服務軟件系統的開發技術將提高生產能力,滿足開發更大規模、更復雜軟件系統的社會需求。同時,科研界和產業界已經展開共同研究,國家“十二五”規劃對軟件開發和云計算的重視,同樣也會推動云時代軟件開發的發展。
軟件正在推動著創新,軟件的系統也變得越來越復雜。根據調查,成功創新的公司都實現了在整個生命周期中軟件和系統交付的整合。軟件作為IT系統的靈魂,不會隨著IT技術的發展而減低其作用,更不會消逝。軟件開發技術也會隨著IT技術的發展而改變,并在這個改變中不斷創新并煥發出新的活力,新的軟件技術將會不斷提高技術人員開發軟件系統的能力。