云計算、云服務等諸多計算機術語,一時鋪天蓋地,讓人目不暇接。我們正處于一個計算革命的時代,一場信息化浪潮正席卷而來,我們準備好了嗎?
計算與記憶
計算的歷史大概經歷了這樣的軌跡,即手工計算、機械計算、電子計算三個階段。手工計算,就如同小學生做數學題一樣,將計算過程一步一步列出來,然后計算出最終結果;機械計算,就是利用算盤、計數器等計算工具幫助人們進行加減乘除、乘方開方的運算,這種運算是人們在長期的計算實踐中總結出各種計算規律,用口訣形式,借助可視機械工具,演算出計算結果;電子計算,則不需要人們背誦口訣,只需輸入計算題,電子計算器就會將結果自動算出。
電子計算的高級階段就是應用電腦進行計算。在這之前,所有的計算工具,只有計算功能,沒有存儲功能,人們必須將計算結果先抄下來,將計算工具清零復位,才能進行下一步計算。電腦的出現則替代了這樣笨拙的勞動,實現了既可以計算、又可以記憶的功能,且隨著科技的發展,電腦的計算功能不但不限于算術計算,還可以進行諸如“如果…那么…”的邏輯推理,“直到…結束”的往復循環。這樣功能強大的電腦,大大拓展了人腦的計算和記憶功能,成為了人類真正意義上的“外腦”。
云計算,計算的革命
和人一樣,電腦也是一個一個的個體,為發揮最大效能,它們需要進行團隊協作——多個電腦一起協同工作。這大致經過了三個階段。
一是“主機終端模式”。早期的計算機形體龐大,價格昂貴,是只有大型科研機構才能夠使用的“奢侈品”。為了物盡其用,讓更多的人享受這種奢侈的計算服務,人們發明了多終端模式,即一臺計算機可以配帶多個顯示屏和鍵盤,同時供多人使用。計算機分時分段為各個終端提供計算服務。就是說,如果10個終端同時使用計算機,計算機就會把1秒鐘的時間分為10等份,分別輪流為10個終端進行運算服務,即每人每秒分配到0.1秒的計算時間,這種“脈沖式”的計算會一直往復下去。由于計算機運算速度很快,對每個終端來說,似乎感覺不到1秒鐘內有0.9秒的等待,就好像主機自始至終只為它“一個人”服務一樣。
二是“客戶機服務器模式”。在主機終端模式下,主機不可能帶動太多的終端。這時微機也即個人電腦(PC)誕生了,它形體小、較輕便,價格相對大中型機也便宜了許多,于是迅速被大眾廣泛應用。當然,個人電腦的“個體”力量也還有限,它需要與其他電腦進行協同計算或信息交流,進一步推動了科技的發展,于是,“客戶機服務器模式”出現了。“客戶機服務器模式”就是在網絡里,選擇一個大的性能好的計算機做中心機也即服務器,將數據庫或復雜的程序運行在這臺中心機上,其他都作為客戶機,運行一些小型的客戶端程序。這看上去和第一種“主機終端模式”很相似,實則不同。這種結構的客戶端與服務器相對獨立,需要服務器計算時與服務連接,不需要時則自成一體,而且網絡的可擴充性強,想增加客戶端就可以增加。直到目前,這種網絡結構仍是主流。
第三是“云加端模式”。雖然,第二模式理論上網絡可以無限擴展,但若客戶端數量很大時,一臺機器作為服務器就不夠用了,于是人們就用多臺服務器捆綁成一個“機器群”,當作一臺服務器使用。但我們發現,這個“機器群”有時也會“掉鏈子”。比如,大家熟悉的12306鐵路售票系統,平常也許這個機器群中的兩三臺機器就夠用了,但一遇到黃金周或春節高峰時段,20臺機器也未見得承受得了數以千萬人民群眾的“熱情”和“追捧”,怎么辦?難不成加買幾十臺機器放在那里,以備那幾天使用,而平常卻閑置?面對這種情況,我們似乎也只能以最大計算需求為標準進行配置資源,由此造成極大的資源浪費也只好扼腕長嘆了。
云計算可以解決上述問題。云計算可以理解為一個超大規模的服務器“機器群”,甚至可以理解為一款巨無霸型的“超能計算機”。誰有計算需求就租用它,并按計算使用量付費。之前提到的網上售票系統,云平臺就會自動根據售票壓力分配適當的計算資源,以保證系統不會“卡殼”。我們還會發現,有的系統如股票交易系統恰恰在節假日里無人問津。如果兩者都在一個云平臺上,那么這就正好形成了互補,計算資源也就自然合理地配置了,這種閑忙搭配,可以達到最大限度的資源共享。云計算是社會計算資源配置效率最好的方式。
軟件即服務,不可阻擋的潮流
前一節講到信息悖論,很多單位在信息化建設時,容易陷入一個“建了拆、拆了再建”的怪圈。筆者也指出了信息化的專業性問題,管理信息戰略,培育信息素養,分配信息權力。但軟件的交付方式卻是信息化成本中最為關鍵的問題。
軟件的交付方式,大致有如下幾種:
一是自行開發。好多單位,都經歷過這種方式。單位有軟件需求,正好單位也有會軟件開發的技術工程師,單位自己進行軟件開發當然就是很自然的事了。
二是委托開發。不是每個單位都有現成的軟件人才,沒有軟件開發人員的單位,就需要出資請專業人員或專業公司進行開發。軟件功能簡單,技術上也不復雜,因此,這種方式和第一種方式在單位計算應用方面還是發揮了主要作用。
三是軟件產品。自行開發或委托開發,都是處于低水平的重復勞動,軟件生命力很弱,一旦遇到技術更新或需求變化,基本上就會擱置不用。軟件產品化解決了這個問題。我國的商品化軟件在上世紀80年代中期就已經出現了。最早是漢字系統,后來有文字處理系統,也有品類繁多的游戲軟件,這些都是供個人應用的軟件,由于版權保護制度不完善,盜版現象猖獗,開發這些軟件的公司都沒能在激烈的市場競爭中很好地生存下來,但它們曾經的繁榮卻對我國計算機應用水平的提高做出了巨大的貢獻。只有像財務軟件這樣管理重要經濟數據的應用,單位一般會選擇使用正版軟件,也因此從財務軟件起家的公司后來都成為了國內比較有名的大公司。它們對中國軟件產業和企事業單位的計算應用水平提高和管理能力提升也做出了歷史性貢獻。
四是解決方案。單一產品,功能簡單,應用面窄,通過閱讀說明書或簡單的培訓,用戶就可以使用起來。但復雜的軟件,多個模塊集成使用,就需要專業服務人員現場輔導。有的標準模塊還不一定能滿足要求,還要進行一定量的個性化開發工作。這種除了標準軟件產品,還需要專業的咨詢、實施、個性化開發的交付模式,我們叫解決方案交付。
五是云服務。云服務是由于云計算產生而發展的。云計算是解決計算資源和存儲資源的高效率問題,它是計算資源的交付問題。云服務則是軟件的交付方式。無論是計算機硬件,還是計算機軟件,歸根到底都是用來為用戶處理信息服務的。信息服務是我們的最終目的,購買硬件軟件只是手段。用戶為此購買一堆計算機、網絡產品,還要建設機房,雇傭專業人員進行管理,這就好比早期的工廠,自己買發電機、建造發電機房,買水泵、建設自來水塔一樣。其實我們想在網上銷售產品,是不需要自己購買服務器、購買軟件的,只需在信譽好的電商平臺上注冊一個網店即可,支付店鋪租金就可以網上銷售了。用戶選擇自由,想用就用,想不用就不用,沒有任何風險,也不會浪費投資。買軟件,建系統,變成了“租”軟件,即購買信息服務。使用軟件就和使用自來水、使用燃氣、電力一樣方便。
軟件即服務SaaS(Software as a Service),將逐漸成為軟件交付的主要方式,也是避免信息悖論的終極模式。