SETI@HOME是一個骨董級的分散式運算案例, 他們的目的很複雜, 透過天文望遠鏡從外太空收集來的微弱資訊, 然後做一些對應的處理後, 再進行分析的動作, 換成我們"凡夫俗子"的話就是"找外星人啦"...
這個計畫一開始是由UC Berkeley建立一群電腦來負責做即時的運算, 但漸漸的他們發現這些電腦根本不足以運算這麼大量的資訊, 那這個問題該怎麼解決呢?
當時的他們發現到, 世界上有許多電腦是處於閒置的狀態, 如果能利用這些電腦閒置的時間來幫忙做這些運算, 那勢必能夠有效地解決這個問題.
很幸運地, 這些尚未處理的資訊, 是可以切割的, 他們將這些收集到的資訊切割成很小的碎片, 分給世界各地的電腦, 利用這些電腦閒置的時間來運算這些尚未處理的"電波"(我不知道該如何稱呼這個東西:p), 當這些電腦運算完之後再將結果透過網路回傳給server去做更深入的研究.
這是很早期的分散運算概念, 且可算是一個成功的案例. 因為他們並不會利用電腦非閒置的時間來做任何的運算動作(當然, 這是預設的情況下), 所以並不會影響到使用者的個人電腦效能, 僅是利用短暫的"休息"時間進行運算.
現在這個計畫的client已經併入到BOINC底下, 有興趣的人可以去安裝它的client, 預設情況下它並不會啟動, 但一旦電腦進入螢幕保護程式時他就會醒來幫你的CPU運動一下, 排除掉現在節能減碳的觀念不談, 至少是個很有效率的利用方式.
雖然這個主題與雲端運算關係不大, 但還算是個滿有趣的主題, 一樣也是利用分散運算的概念來集合這些CPU的資源.
現在大家嘴巴都喊著cloud cloud cloud, 那有沒有什麼東西是能讓我們親自體驗的呢?
Apache推出了open source的platform Hadoop一陣子了, 它也是將數台實體機器做成一個虛擬平台, 也就是我們現在常提到的cloud.
有興趣的話可以去參考它的教學文章, 感覺設定上並不會太過困難, 照這它的getting start step by step即可,
http://hadoop.apache.org/core/
Yahoo!在前陣子也開始加入這個open source的開發.
但話說回來, 到底要到什麼樣規模的服務, 才有需要建置這種cloud? 對於Yahoo來說, 他們的運算成本是降低了, 因為比較起來, 超大型機器的建置及維護費用遠高於cloud中的一台小的實體機器, 但反觀一個小服務, 例如輔大資工的網站, 有必要把這個服務建置到cloud上嗎?
當然這個例子的答案是很顯而易見的, 不過如果今天公司裡的server是處在很尷尬的階段, 3台, 5台, 10台, 那是要把這幾台機器全用Hadoop串在一起好, 還是用一台超級伺服器來取代比較好? 相信這也是會有一定程度的成本考量, 不論是未來的硬體維護, 及人力維護成本(不同的架構所需要的人才價格當然不同)
但這勢必是個趨勢
網路上找到的 , 給大家參考一下
Windows Azure是Azure Services Platform的作業系統,後者可協助開發人員建置橫跨雲端到企業資料中心,以及個人電腦、行動裝置等新一代應用程式的平台。目前的Azure Services Platform可讓開發人員利用諸如.NET架構及Visual Studio等既有技術、工具及技能開發雲端運算應用程式,後續也將加入非微軟的工具及程式語言。
Azure Services Platform分為兩層,底下的Windows Azure是整個Azure Services Platform的作業系統,上層則是包括Live Services、.NET Services、SQL Services、SharePoint Services、Dynamics CRM Services在內的Azure基礎服務(Azure Services Platform在正式命名之前,也稱為Windows Strata)。
Windows Azure是從2006年開始的的專案,當時的代號是 "Red Dog",是由出身微軟研究院的Amitabh Srivastava和Dave Cutler(有VMS和Windows NT之父的稱號)攜手負責;Srivastava現為微軟雲端基礎服務的企業副總裁。Windows Azure管理了一組構成微軟雲端服務的Windows Server 2008伺服器,最上層是由4個重要元件所組成:Storage(相當於檔案系統)、fabric controller(塑模及部署的管理系統)、虛擬機器、開發環境(能讓開發人員在其桌面模擬Windows Azure,並且結合Visual Studio、Eclipse或其他工具來開發雲端程式)。
Windows Azure的架構方式讓微軟只需將Windows Azure部署在單一伺服器,接著就能以虛擬技術將其他的執行個體複寫到雲端裡的其餘伺服器,只要利用Xcopy就能部署到每一部伺服器,而且每部伺服器都有自己的快取。
可能對這方面的領域的人來說這個表格是多餘的,有如以管窺天,但是對一些菜鳥來說,應該是可以初步的知道這兩者之間的差別資料可能不是非常正確(網路上什麼都抓得到= =)
「雲端技術可以算是網格技術的一個子集合,」林誠謙說:「兩者目的相同,都是要把系統的複雜性隱藏起來,讓使用者只要使用而不需要了解系統內部如何運作。」
資料來源 iThome
網路上找到的 給大家參考一下
資料來源 iThome online
●雲端運算(Cloud Computing):Google提出的分散式運算技術,讓開發人員很容易開發出全球性的應用服務,雲端運算技術可以自動管理大量標準化(非異質性)電腦間的溝通、任務分配和分散式儲存等。
●網格運算(Grid Computing):在網路上,透過標準化協定與信任機制,整合跨網域中的異質伺服器,建立運算叢集系統來共享運算資源、儲存資源等。
●服務在雲端(In-the-Cloud)或雲端服務(Cloud Service):供應商透過網際網路提供服務,使用者只需透過瀏覽器就能使用,不需了解供應商的伺服器如何運作。
●MapReduce模式:Google運用在雲端運算中的關鍵技術,讓開發者開發大量資料的處理程式。先透過Map程式將資料切割成不相關的區塊,分配給大量電腦處理,再透過Reduce程式將結果彙整,輸出開發者需要的結果。
●Hadoop:使用Java開發的開源雲端運算框架,也是採用Google雲端運算技術實作的框架,但所用的分散式檔案系統與Google不同。2006年Yahoo成為該計畫最主要的貢獻者和使用者。
雲端運算的競爭愈來愈激烈,許多知名廠商都紛紛投入這塊領域,現在就連軟體龍頭微軟也加入這個戰場。微軟的介面確實比其他供應商花俏,相對於其他廠商介面的單調,微軟的畫面確實略勝一籌。還有一點勝過其他家的地方就是支援了中文化的介面,這是目前其他廠商沒有的,英文不太好的人可以試試。且提供許多開發工具,方便又好用的開發平台,這一點可能是微軟吸引眾多廠商開發的原因之一。有興趣的人可以上來試試。第一個圖是Azure Services Platform的首頁,網址http://msdn.microsoft.com/zh-tw/azure/default.aspx ,第二個圖是我註冊後的首頁。
雲端運算是目前熱門的技術之一,但其中的使用方式卻沒幾個人瞭解。一般人可能只知道,雲端運算是放在網路上,具有分散式運算的能力,將資料儲存在第三地。至於如何運用雲端運算技術可能就更少人知道了。以下是引用網路上『賽拉維的秋天』中的一篇文章(http://cire.pixnet.net/blog/post/18490475),文中作者對於Google App Engine的使用有詳細的描述。會分享這篇文章,也是因為其中教育意義很大,我也是在看了這篇文章之後,才瞭解到雲端運算的使用模式,也希望讀有志於雲端運算開發的人能有所幫助。
| print 'Content-Type: text/plain' print '' print 'Hello, world!' |
| application: version: 1 runtime: python api_version: 1 handlers: - url: /.* script: helloworld.py |
之後只要在瀏覽器的網址列輸入「http://cire.appspot.com」,就可以看到Hello, world。
我認為現在雲端運算的應用,可能只適合一般的消費者。像是搜尋、E-MAIL、地圖等等。因為許多的供應商向GOOGLE、微軟、IBM等雖然有計畫要提供更高階的應用,但其實還在開發階段,還有許多的努力空間。尤其是要將系統移植到雲端上,並利用雲端運算的便利,還需要許多的時間。加上一些安全性的問題,對於雲端運算的供應商而言,眼前除了無限商機之外,也充滿了許多的挑戰。 所以對雲端運算雖然可以抱有期待,但對於這個新的技術也必須謹慎而行。因為這個技術的概念雖然不錯,但還算是個新興技術,所以參與之前需要多做評估。還有向微軟和亞馬遜的雲端服務都要收取費用,這或許也會令人卻步吧。
因為之前有去聽了Open Source的演講,
然後看到課本的作者有提到他的看法,
Open Source Software的成功很有可能導致雲端運算領域的一種新的封鎖。
這點還滿確實的,所以光是關注雲計算不行,
還要想如何讓開源繼續發展下去。
作者覺得應該要通過點對點途徑分發internet應用,
具體的方法文中沒有提到,但我想現在Google已經有類似的方法了。
他給了一個建議"在那些設計為聯合而不是集中控制的服務上構建項目",
是表示說體系結構一定會贏過許可證的意思吧。
文中還有提到Google Map支援了大約90%的mapping mashup,
比我想像中還多很多,我本來以為頂多80%而已= =
參考網站: Open Source and Cloud Computing(開源與雲計算)