2010年架構社區(qū)回顧:云計算依舊燦爛 |
發(fā)布時間: 2012/7/30 17:05:23 |
福爾斯特說:即將來臨的一天,比過去的一年更為悠長?墒沁@即將來臨的一天,無論多么的悠長,終究會流入過去的長河中。把握過去,或許可以成為另一種永恒。回眸過去的2010年,架構的發(fā)展或如花開花落如此的相似,卻又如人來人往如此的不同!軟件技術正是在這樣一種變與不變中艱難的演進。透視InfoQ中文站架構社區(qū)在這一年中的熱點,或許能幫助我們抓住架構發(fā)展的脈絡。如此,在即將來臨的一天,我們才不會產生面對未來的茫然。
1、 云計算:依舊燦爛 在過去的幾年里,整個IT行業(yè)最熱的詞語無疑首推“云”。凡是與云有關的產品,公司,技術與論題,都會得到極大的關注,或褒或貶,卻始終遮不住云計算的燦爛光芒。整體而言,在2010年,業(yè)界對云計算的質疑漸行漸遠,云也逐漸脫離“云山霧罩”的神秘外衣,人們開始更多地關注云產品的應用,成功的云案例,以及如何規(guī)范云計算。這說明云計算已經從紛爭的混亂時代開始走向成熟,業(yè)界對云的態(tài)度更加審慎與理智,不過高浮夸,也不肆意詆毀,而這才是技術發(fā)展的正道。個人認為,什么時候當云不再成為熱點,就說明云要么已經消亡,要么已經融入我們的生活。正如在破譯云計算的7個神話中引用的Serdar對云的概括:云不是神奇的萬靈藥也不是一場災難,更不是救世主也不是罪人。它是一個解決問題的新工具。想象在這么幾年里,誰還在炒作PC與互聯(lián)網(wǎng)的概念呢? 在2010年,我們看到了許多云產品或云服務的推出。Rackspace推出開源云平臺,為需要創(chuàng)建自有云解決方案的公司提供了IaaS平臺。Google向開發(fā)者提供云存儲,說明Google的云戰(zhàn)略依舊在穩(wěn)步的前進。而VMware也適時地推出了vFabric,它可以說是VMware收購SpringSource之后體現(xiàn)其云愿景的產物。在2010年,Amazon AWS獲得ISO 27001認證,標志著Amazon公共云已經真正成熟起來。顯然,云計算領域中群雄并起,逐鹿中原的戲碼還會繼續(xù)上演。 與此同時,人們也越來越關注云的成功案例。例如,在云應用的兩個案例中就提及了IBM為日本人壽保險公司以及馬來西亞信息圖形與動畫產業(yè)構建云平臺,并提供云服務。2010 Amazon AWS創(chuàng)業(yè)公司挑戰(zhàn)賽的獲勝者Mike Kavis,則分享了自己在云應用的成功經驗,他認為云中成功的關鍵始于架構。 關于業(yè)界對云計算審慎探討與分析的報道,頻頻見于InfoQ中文站架構社區(qū)。這些內容主要包括云間整合(Cloudstreams: 云間整合的下一個挑戰(zhàn)),云的開放(開放的云讓業(yè)務更“閃亮”),虛擬化(虛擬化發(fā)展減緩)、云應用重構(為云應用重構系統(tǒng))以及云計算標準(云計算標準和開源項目)。 2、 NoSQL:眾星追捧 突然之間,NoSQL成為了明星,而且是萬眾矚目、群星追捧的超級大明星。這一結果,或許作為CAP(即Consistency,Availability,Tolerance of network Partition)理論的提出者Eric Brewer也未曾想到吧。NoSQL(Not only SQL)作為一種迥異于關系數(shù)據(jù)庫的持久化解決方案,以其高性能、分布式、可伸縮性、高可用性的特征,迎合了高速發(fā)展的Web應用的需要。NoSQL的誕生與流行,可謂恰逢其時。 2010年,NoSQL產品開始扎堆出現(xiàn),NoSQL家族逐漸壯大。例如,在3月23日,North Scale宣布NoSQL數(shù)據(jù)庫解決方案Membase的推出。而在10月的Hadoop World大會上,Membase與Cloudera宣布整合了Membase服務器和CDH(Cloudera Distribution for Hadoop)。MongoDB則不斷推出新版本,例如在它的1.6版本中就增加了Sharding機制和副本集合特性?上驳氖牵覀儑鴥鹊幕ヂ(lián)網(wǎng)公司在NoSQL領域很是給力,也推出了自己的NoSQL開源產品,例如淘寶的Tair,天涯的Memlink。其實,在軟件領域里,越是新的技術,我們國內的軟件企業(yè)越有可能取得新的進展,提高自己的競爭力,只要我們擁有創(chuàng)新的精神、開闊的視野和足夠的自信心。 比較而言,關系數(shù)據(jù)庫在面對NoSQL咄咄逼人的態(tài)勢下,顯得有些心有余而力不足。例如Digg與Reddit就在2010年3月宣布加入NoSQL陣營,他們都將轉向Cassandra。當然,關系數(shù)據(jù)庫的廠商自然也不甘失敗,在NoSQL的競爭者這篇新聞中,就提到了不弱于NoSQL的關系型數(shù)據(jù)庫MySQL/HandlerSocket和VoltDB。面對NoSQL這種新類型數(shù)據(jù)庫的流行,工程界人士也開始了SQL之爭。在2010年GigaOM結構會議上,與會公司達成了共識,認為傳統(tǒng)的數(shù)據(jù)庫在可擴展的云環(huán)境中無法有效工作。他們開始了對SQL的聲討。10gen公司的Roger Bodamer認為NoSQL更適合于建模領域,而關系型模式由于涉及到太多的表和關系,所以需要最好的數(shù)據(jù)建模師才能使其有效發(fā)揮作用。Neo Technology公司的Emil Eifrem認為,SQL總是讓人頭疼,開發(fā)者討厭SQL,并且使用工具來逃避它。 正是因為NoSQL呈現(xiàn)出來的優(yōu)勢與良好態(tài)勢,越來越多的人開始重視NoSQL,渴望了解NoSQL。我們在對InfoQ中文站2010年的新聞進行點擊量統(tǒng)計時,發(fā)現(xiàn)排名20位的文章中,與NoSQL有關的文章就包含了4篇,分別位列點擊量的3位、9位、11位和19位,它們是: 分布式計算開源框架Hadoop介紹;解讀NoSQL技術代表之作Dynamo;淘寶開源Key/Value結構數(shù)據(jù)存儲系統(tǒng)Tair技術剖析;圖形數(shù)據(jù)庫、NOSQL和Neo4j。 3、 HTML5:Web的未來 毫無疑問,HTML 5將在未來的Web中占有舉足輕重的地位。然而,在這其中不知又開始了多少利益的紛爭。Microsoft、Adobe、Google以及Apple都在打HTML 5的牌,卻又不愿意完全放棄自己原有的前端技術。事實上,Web標準對于他們而言,既是災難,又充滿了巨大的誘惑。如何在未來的Web中分得一杯羹,那就得看他們擁抱HTML 5的態(tài)度了。 在評論霧里看花:微軟的前端技術戰(zhàn)略何去何從中,提及了微軟開發(fā)者平臺產品管理部經理Brad Becker的態(tài)度,認為微軟將致力于使用Silverlight實現(xiàn)HTML無法完成的解決方案來擴展Web功能。而在微軟推出的Internet Explorer 9 Preview 3中,則提供了更好的HTML 5支持。顯然,選擇Silverlight還是HTML 5,微軟的戰(zhàn)略有些搖擺不定。Adobe面對HTML 5,已經開始積極地面對。在2010年的開發(fā)者大會上,Adobe向公眾展示了一款用于HTML5動畫制作的IDE。可是在視頻方面,Adobe又該如何決策Flash的前途呢?現(xiàn)在,有許多視頻網(wǎng)站已經開始從Flash遷移到HTML 5,尤其是在Apple不愿意支持Flash的前提之下。例如,YouTube就發(fā)布了HTML 5視頻beta版,緊接著Vimeo也發(fā)布了HTML 5的beta版。至于Google,也開始布局HTML 5。它的Chrome瀏覽器目前已經能夠支持75%以上的HTML 5特性。而在2010年11月召開的Google開發(fā)者日上,F(xiàn)reiheit.com的CTO Stefan Richter 則談到了使用HTML 5與Google App Engine編寫富Internet應用的愿景。雖然這并非官方發(fā)言,但Google開發(fā)者的聲音,可能更草根,態(tài)度卻也更鮮明。Apple的步伐依然快速。至少在目前,Apple在移動互聯(lián)網(wǎng)的地位依舊不可撼動。如今,iPhone的Mobile Safari瀏覽器已經能夠支持HTML5的Canvas/Canvas2D、Video、Audio、Geolocation、Local Storage/Session Storage、Application Cache、Web SQL Database等。顯然,Apple的HTML 5戰(zhàn)略已經落地。畢竟,Apple可不像微軟那樣,還要為選擇自己的技術而猶疑不定。 雖然在2010年InfoQ中文站架構社區(qū)中,對HTML 5的關注度似乎還不算高;但InfoQ的作者們對于HTML 5的前景卻前所未有的保持一致的肯定態(tài)度。Abel Avram撰文稱HTML5已經起飛,豆瓣前端工程師張克軍則認為前端的HTML5時代來臨。當然,我們必須正視HTML 5,了解其本質。正如《HTML 5專業(yè)開發(fā)》一書的作者Peter Lubbers所說:“HTML5不僅僅是HTML的更新?lián)Q代,它已經孕育很久了。”或許,正是因為我們等待得太久,才對它充滿了期待吧。 4、 架構質量:大事件 隨著軟件系統(tǒng)變得越來越復雜,規(guī)模越來越龐大,對架構的質量要求也就變得越來越高。如何改善架構的質量,成為了架構師不能承受之輕。是的,隨著相關理論的逐漸完善,我們已經可以羅列出改善架構質量屬性的技術矩陣。弓箭與靶已經準備就緒,我們卻很難尋找到技藝高超的精靈弓箭手,來射出這有力而精準的一箭。一種好的學習方式是提煉最佳實踐,所以在2010年的QCon北京大會上,Twitter與Facebook架構師的演講才會如此引人矚目。 縱覽2010年InfoQ中文站的架構社區(qū),有兩個與架構質量相關的事件值得我們關注。一個是FourSquare的宕機事件,準確地說,應該是FourSquare的MongoDB宕機事件。InfoQ有三篇文章FourSquare經歷兩次宕機、MongoDB創(chuàng)始人Eliot Horowitz分析FourSquare宕機原因和Foursquare的MongoDB宕機事件報道和分析了此次事件,從不同的角度討論和剖析了宕機事件的原因、解決辦法和帶來的教訓。將它們串聯(lián)起來讀一讀,或能啟人深思。 另一個事件就是淘寶的雙十一事件,InfoQ中文站對此次事件做了一系列的深度采訪,分別就技術和運維的角度剖析雙十一事件中淘寶制定的方案與解決辦法。這些采訪包括:淘寶雙十一事件的前中后技術事、康伯談淘寶雙十一事件中的CDN優(yōu)化和伏威談淘寶網(wǎng)的高并發(fā)處理與壓力測試。雙十一事件在國內技術圈兒的影響極為深遠,相信在很長的時間內,人們還會津津樂道于這一事件。 最佳實踐不嫌其多。在2010年InfoQ中文站架構社區(qū),我們可以看到Facebook分享了如何利用BigPipe優(yōu)化頁面加載時間,以及如何使用Hadoop來計算大規(guī)模分析;Google則介紹了索引系統(tǒng)Percolator的技術細節(jié),用于大數(shù)據(jù)集增量更新系統(tǒng);Zynga的CTO則討論了如何設計高可擴展性社交游戲;又拍網(wǎng)分享了架構中的分庫設計;還有InfoQ自己的案例分析,介紹了InfoQ網(wǎng)站的數(shù)據(jù)庫升級過程。此外,架構社區(qū)還深入分析和討論了架構質量中關鍵的屬性:系統(tǒng)級復用,性能優(yōu)化與緩存,架構安全、數(shù)據(jù)恢復與備份、系統(tǒng)集成以及可伸縮系統(tǒng)的設計模式。 5、 企業(yè)架構:舊事重提 企業(yè)架構(Enterprise Architecture)是新玩意兒嗎?不是!如果以IT行業(yè)的年齡來看,它或許可以稱為老古董。在1987年,John Zachman就提出: “為了避免企業(yè)分崩離析,信息系統(tǒng)架構已經不再是一個可有可無的選擇,而是企業(yè)的必需”。從那時起,企業(yè)架構的理論就得到了緩慢的發(fā)展。那么,它的理論如今已經成熟了嗎?很多架構師認為,企業(yè)架構的原則仍然缺乏穩(wěn)固的基礎。 隨著云計算進入架構師的視野,它與企業(yè)架構之間的關系也引起了業(yè)內的爭執(zhí)。我注意到該文中的一個觀點是“轉向云計算為的是敏捷和靈活,企業(yè)架構正好與之相反。”這又引申出另外一個話題,那就是敏捷與企業(yè)架構的關系。Jean-Jacques Dubray帶著疑問的色彩發(fā)出呼吁,是否該重新思考企業(yè)架構了?敏捷的提出是為了應對軟件的變化,而微軟的Gabriel Morgan則認為“EA不應該包含面向公司變化的業(yè)務功能,而是應該通過正確的方式教育和協(xié)助建立這些業(yè)務功能。”這么說來,或許敏捷的架構可以作為企業(yè)架構的一種補充。整體而言,企業(yè)架構關注更多的是企業(yè)戰(zhàn)略的層面。在對業(yè)務架構的進行更合理抽象能成為企業(yè)架構的關鍵嗎一文中,F(xiàn)ujitsu的云架構師Ian的基本觀點是,在不同抽象層次上建立業(yè)務架構的資產,產出一套適合企業(yè)環(huán)境的方法,從而有利于更全面的決策與實施。 我的眼光還在穿越這悠長的2010年,意猶未盡。我發(fā)現(xiàn)還有很多與架構相關的話題值得我們關注,例如REST,例如模型驅動,例如敏捷與架構的關系,例如軟件工藝與良好的設計。它們影響著系統(tǒng)的架構,或者作為架構的一部分決定著架構的優(yōu)劣。 架構不是一天就能建成的,成為軟件架構師的路線更是一個漸進的過程。Simon Brown認為:“擁有持續(xù)的、跨不同領域的技能、知識和經驗構成了軟件架構的職責?缭杰浖_發(fā)者和架構師的界限取決于你自己,但是首先你要明白你的經驗水平,才能開始架構師之旅的第一站。”這段話擷取于他在InfoQ發(fā)表的文章你是個軟件架構師嗎,這篇文章是2010年InfoQ中文站架構社區(qū)最熱最火的一篇文章,一共有21條回復?雌饋,軟件開發(fā)者真的很在意軟件架構師這個頭銜!架構師的技能必須全面而專業(yè),這就要求我們必須廣泛閱讀與涉獵架構領域的知識,套用Simon的話,來一句廣告,那就是——時刻關注InfoQ架構社區(qū),或許可以成為你開始架構師之旅的第一站。 2010年已經過去,讓我們歡迎2011年的到來!個人認為,2011年的架構仍然會逃不出本文所涉及的五個范疇。除此之外,也許我們還會看到有關物聯(lián)網(wǎng)和移動開發(fā)對架構帶來的影響。而自敏捷宣言誕生到現(xiàn)在,已經過去了10個年頭,或許在2011年會看到更多對敏捷架構的討論。究竟如何,讓我們拭目以待! 本文出自:億恩科技【mszdt.com】 |