【轉】 TechED2010與我(三) —— 初識雲計算

做者用到的比喻很好。html

網址:TechED2010與我(三) —— 初識雲計算前端

初識雲計算
最近「雲計算」被炒的很熱,可是因爲工做重點主要是作WinForm的控件開發,對雲計算的接觸比較少,甚至一直沒搞清楚到底什麼是「雲計算」,感受上「雲」是個神乎其神的東西。此次借參加Tech-ed的機會重點了解了下「雲計算」。寫篇博文分享一下本身的理解。初次接觸,理解的比較膚淺,若是有誤歡迎你們指正。
1. 爲何須要雲計算 
微軟給了個頗有意思的比喻。     
不少年之前,一個很牛的人發明的電燈泡,致使人們須要電,這個牛人就成立了一個公司,這個公司專門賣發電機,全部須要使用電燈泡的人都要買發電機,因而這個牛人發了大財。後來,人們發現買發電機本身發電好貴呀。因而有些大公司就創建了大型的發電站,我的和小公司只要按時交電費就能夠獲得電,這種新方法比買發電機省錢,到今天一直在使用。     
不少年之後,一個很牛的人發明了計算機網絡,致使人們須要網絡服務。人們爲了提供網絡服務(電氣時代的電燈泡),每家公司都要買服務器(電氣時代的發電機),後來,人們發現買服務器好貴呀。因而一些大公司創建了大型的數據中心(就是不少不少…的服務器)。我的和小公司只要按時交使用費就可使用服務器,這種新方法比買服務器省錢。對於這個新方法,你們給起了個很抽象的名字——「雲計算」。
2. 什麼是雲計算     
聽說在2008年的一次國際雲計算大會上,主持人對於「什麼是雲計算?」這個問題上隨機採訪了20個聽衆,結果獲得了22種答案。對於雲計算準肯定義的爭論,至今也沒有中止過(怪不得我一直沒搞清楚什麼是雲計算J)。     
在維基百科裏給出了這樣的描述性定義「雲計算就是基於互聯網的計算,它能像電網供電同樣,按需把共享的資源,軟件和信息提供給計算機和其餘設備。」     
可能有人像我同樣思考過,「雲計算」和「分佈式計算」有什麼區別。對於這個問題,個人理解是,雲計算強調的是服務,是一項租賃業務。而分佈式計算強調的是技術實現。
3. 雲計算的做用      
雲計算最重要的做用固然是被提到好幾回的一點——「省錢」,不能省錢估計就沒人用了,呵呵。那麼,它爲何能省錢呢?原來本身買服務器,如今租大公司的服務器,多轉一次手,應該費錢纔對。就好象租房住顯然沒有買房住合算呀(除非房東是慈善家或者腦殼有問題)。     
就個人理解,雲計算是基於兩個考慮來省錢的。     
一是避免浪費。     
最簡單的例子,一個網絡公司,通常高負載都是在晚上8點到11點左右。這段時間須要20臺服務器才能保證穩定的訪問,不宕機。而其餘時段可能只須要2臺服務器就能夠了。這種狀況下若是用買的,公司就必須一直保持20臺甚至30臺服務器(以備突發的大規模訪問),而若是是使用雲服務,就能夠根據負載,動態的調整使用服務器的個數,8點的時候租20臺,10點的時候若是忽然訪問量變大就租30臺,過11點網民都睡覺了就把多餘的退掉,就留一兩臺。這樣就能夠省錢了。     
二是集中管理,下降成本。     
在傳統模式中,並非服務器買回來就萬事大吉了,幾十臺服務器的機房要面臨着場地費用,人工管理成本,軟件升級,服務器備份,維護,甚至佈線,租用寬帶等等的成本。而使用「雲計算」的模式,以上問題都由提供商來集中解決,而集中管理的成本顯然是低於分散到全部小公司的管理成本的。
4. 如何使用「雲計算」資源      
說了這麼多,還不知道「雲」怎麼用呢,其實,上雲是比較簡單的,不少大公司提供了這樣的服務。因爲Tech-ed是微軟搞的,固然微軟介紹的都是他本身的東西Windows Azure。     
對於使用微軟的雲,有個講師說的頗有意思,他說,只須要兩步:一.到微軟網站上註冊賬號,二. 刷信用卡。他尤爲強調,千萬不要刷本身的信用卡,必定要刷老闆的,要不你會很快破產的J。     
微軟的雲要求雲端的應用程序分紅兩個模塊,一個是WorkRole,一個是WebRole,WorkRole負責後臺邏輯,WebRole負責前端展現邏輯,二者靠一個隊列通訊。若是裝了Windows Azure SDK,能夠在VS2010中建立出相應的工程模板。也有對應的嚮導把應用程序部署到雲上。對於既有的ASP.net項目,若是想遷移到雲上則首先須要對程序進行重構,按微軟的結構要求把程序劃分紅WorkRole和WebRole在部署上去。
5. 「雲計算」能夠爲控件開發帶來什麼好處      
最後一個部分是我對本身工做的一個思考,畢竟我不是作網絡應用的,第一感受是暫時還用不上雲。可是有一個點上可能仍是能夠在雲計算上獲得實惠的。場景是這樣的,在每個控件產品發佈前,都須要對不少環境作集成測試,如不一樣的操做系統,WindowsXP,WindowVista,Windows7,不一樣的系統語言版本,英文,中文,日文,不一樣的IDE版本,如VS2005,VS2008,VS2010,這些條件組合起來的環境是很是多的,咱們不得不許備不少的環境,有實機也有虛機,管理起來很麻煩。尤爲是測試在特定環境下發現的bug在開發的環境裏又很難重現和修復。最重要的是這個環境測試一年中可能只有一個月是須要的,其餘時間這麼的機器就會顯得比較浪費。 而「雲」的使用可能能夠很好的解決這個問題,雲服務中有一種模式叫平臺即服務,當我須要時,我就能夠根據個人要求到雲上申請一個特定環境的機器,用完就歸還。是否是能夠少不少麻煩呢?     
這一部分都是基於個人理解想象的,尚未實踐過。也不知道成本上是否划得來,要知道改變傳統的作法自己就是要付出很大成本的。可是,全部的實現不都是從想象開始的麼
6. 最後      
我對於雲的不少理解都是比較膚淺的,接觸雲的時間比較短,也沒有在項目中真正使用過。說真的,如今對於雲的使用仍是比較麻煩的,計費方法也比較抽象,不容易理解。可是我以爲,雲計算確實是當前軟件發展的一個趨勢(單省錢這一點就足夠了)也是軟件應用模式的一次革命,值得深刻研究探討。相信未來使用雲能夠像在家裏使用電同樣方便。     
以上我的意見,歡迎拍磚~服務器

相關文章
相關標籤/搜索