Thursday, February 26, 2009

the Speech about Google

Google Speech --Client and Connectivity: An introduction to Google's Innovations
Cloud- The infrastructure of Google
Unlimited, Distributed Programing
系統的大問題主要發生在scalablity,尤其是web-application中。Google search engine一開始時,也是在研究單位被開發出來的,單單簡單的幾台server就可以達到效果。But 但是發展到現在已經算是超出當初所構想的架構用了。研究單位在開發過程中,關注的點往往是在於algo或complier上等軟體效能上,btw在商業領域中,User才是最需要被考量的。

More Users & Usage , More data, More Quality才能讓application成長,而這樣就突顯出系統在scalablity上的重要性。而scalablity問題的解決方法,既使再快的演算法、再有效率的程式架構,都不及硬體端的更替和增加來的有用。以現在的硬體低價的狀況,維修一個server倒不如就更新一台,反而更有效率與成本優勢。

Google很幸運的在這個方面,並沒有再一開始就遇到龐大的使用者的需求,然而隨著google的成長,Google在Hardware infrastructure上也發展出一套屬於自己的硬體系統架構。目前Google有眾多的Data center。藉由分散式的運算處理,來完成龐大的Request的需求。

Google 由於要滿足大量的Web Search的需求,而建立了這些龐大的系統,當擁有這龐大的計算能力後,Google開始考量如何在這些系統上提供更多的服務,Gmail是這一切的開端也是關鍵。Gmail的發展,原是於Google想測試User願不願把personal的資料提供出來讓google作研究而後也因此發展出多樣性的web上AP。

在Google開發AP其實是個很容易的事情,因為整個Google有個標準的作業平台稱為platform,任何開發的AP必須依據這個標準開發,AP在開發過程中,可以用任何現在以存在的API來設計與製作,如此一來,所有的AP都是可以互相關連的,開發的時程相對地也快速很多,像是在堆積木一樣,把過去的一些service拿來在加工,加上各個projcet的idea就可以開發出新的AP。

開發後的AP,也直接在Google 的Web給數百萬人作test,這樣個開發和測試過程是其他地方所做不到,也因此開發出來的AP,也會立刻收到眾多的user的反應,也可以判斷這個程式在市場受歡迎的程度如何?這是Google AP 產品開發生命週期上的一大特點。

另一個特點是,Google對於所有的AP並沒有特別為個個地方作不同的版本,也就是說沒有作Localize的版本,這樣的作法可以少數幾個engineer就可以開發一個global的程式給全世界的user用,這也是Google採用Universal System的優點。當然這樣做法勢必會忽略一些文化和語言上的問題。

Googel完整且有效的開發平台,讓"Three engineers is not a small group!"的軟體快速開發文化得以誕生。

  • web Search--> Google App
Google 從當初的web Search開始發展至今,現在已經因為提供了Gmail的服務,發展出新的一種不同於web Search的服務型態-- Google Application. The personal online date Service!! 目前google提供了多樣性的個人化服務,Ex Gmail, Picasa, Blogger, Calender, Google Doc 等,全部都用Gmail作為這一切個人化服務的連接。其實當初google會設計這樣的服務,一開始完全是個實驗,實驗人們是否願意將私人資料提供Google,相信Google,甚至於是否有可能做更進一步的personal Data search的可能性。經過這麼多年來的研究,其實人們對Google的信任,已經有一定的程度了,但這種關於個人隱私權的issue,多年來還是Google在營運上的挑戰,那也如講者說的,這個挑戰如果一旦因為出現漏洞而挫敗了,那就是Google的末日了。

  • Google App --> App Engin
目前Google不斷的推出Google app外,也嘗試著開發他們開發平台出來,讓有創意的programer,可以用Google的平台與API,開發各樣的軟體,提供給全世界Google的User去使用。這是一種新的嘗試,當然也可能是一種新的商業模式。

Client- Lite Device --NetBook , Mobile
Google在網路世界上如此蓬勃的發展,提供了眾多的網路應用服務,然而網路不能單獨存在,勢必要有Device來接收。過去受限於網路的速度與瀏覽器的技術問題,所謂的上網,最基本的單位是PC。但是近年來的發展,兩項重大的產品的出現NetBook(或稱EeePC),Smart Phone(Mobile),將大大的改變未來上網裝置的發展。這兩個Device有著很接近的特色,輕、薄、小、容易攜帶及無線資料傳輸(無論wifi 或 GPRS,3G)、沒有很大個儲存空間、運算速度沒有很快等等,如此一來Cloud Computing在這樣的Device建立的網絡中,大大有發揮的機會。所以的Device只要能上網,都可以使用Cloud Computing的服務。這類的服務基本上目前還是架構在broswer上為主 ,但還是有其他的軟體可能,如widget(Gadgets),AIR, Java Web start這一類的,跨平台連接webService的軟體程式。讓Device上面只有簡單的呈現程式和暫存資料,其他所有運算都有網路端的Server處理掉了。

NetBook基本上架構還是PC的架構,早就有既定的統一標準。然而Mobile,Smart Phone這樣的應用正才要爆發出來。所以Google看到了這樣的發展,推出了Google的Smart Phone OS平台Android 一個Free OpenSource的Smart Phone OS,Google希望藉由推出這樣的OS,推動Smart phone產業的標準快速統一,更多手機端的應用軟體的產生。由於手持Device本身的限制,手機上的應用必定會配合cloud computing來運作,取得更多的資訊和服務,當然這樣的環境被開發出來後,會有怎樣的創意發展出現,更是可以令人期待的一個夢想。

目前Android正式的手機還未出現,但是目前市場有個可以很棒的例子可以來說明,Apple iPhone
。個人認為iPhone說穿了也只是一隻3G手機,除了Apple名聲跟超漂亮的外型,超大螢幕和Multi-Touch panel,說他有什麼功能可以很便利很好用,其實並不多(個人意見,如有不認同就請見諒..因為我買不起 :P)。但是,當他能夠上網,接上了強大的Google,那一切都將不同。Apple 不再是Apple,iPhone也不在只是之手機了。Google眾多的contact讓這隻大螢幕的手機,成為了手上的Magic Mirror,想知道什麼,他都能夠告訴你。想要分享資訊、照片、影片,他也隨時幫你分享。所以Google或者說Next generation internet打通了Smart Phone任督二脈,真正讓他可以千變萬化。

Smart Phone提供了一更全新的舞台給programer去發展,無論是手機上的、web上的,一種不同與往全新Internet模式的出現,必定會激發出不同與往更適合新一代網路的創意、想法和應用程式出現。這是現在台灣可以努力發展的一個領域、方向。因為Smart phone 全球我們有60%佔有率,我們可以有機會制訂Device上面的標準。這不同於Netbook的窘境,NetBook以EeePC與Aspire One為首,
雖然台灣品牌擁有大的市暫率,但是低價的Notebook市場,必然惡化廠商的財務壓力,這樣的品牌贏來並不容易,也可能傷了自己。加上NetBook上的OS是以PC為架構的,早就處在M$邪惡帝國的陰影下了,台灣廠商能在上面發揮的空間,也必然被壓縮了。

Connectivity
-- Missing
因為時間的關係,簡教授在Client段落,就沒有講完,所以後面這一段「Connectivity」也就沒有機會在講到了。

以上這些是簡教授最後要離開中研院前對所內公開的一個小型演講,內容是介紹一下google的一些未來發展,有小點點收穫,在這做個記錄。

Note:
Cloud:--Unlimited, Distributed Programing , Universal System, API and Open platform,Online test & new software engineering ,3 engineer are not small group

No comments: