2010年架構社群回顧:悠長的一年

狼人2007發表於2019-05-13

福爾斯特說:即將來臨的一天,比過去的一年更為悠長。可是這即將來臨的一天,無論多麼的悠長,終究會流入過去的長河中。把握過去,或許可以成為另一種永恆。回眸過去的2010年,架構的發展或如花開花落如此的相似,卻又如人來人往如此的不同!軟體技術正是在這樣一種變與不變中艱難的演進。如此,在即將來臨的一天,我們才不會產生面對未來的茫然。

1. 雲端計算:依舊燦爛

在過去的幾年裡,整個IT行業最熱的詞語無疑首推“雲”。凡是與雲有關的產品,公司,技術與論題,都會得到極大的關注,或褒或貶,卻始終遮不住雲端計算的燦爛光芒。整體而言,在2010年,業界對雲端計算的質疑漸行漸遠,雲也逐漸脫離“雲山霧罩”的神祕外衣,人們開始更多地關注雲產品的應用,成功的雲案例,以及如何規範雲端計算。這說明雲端計算已經從紛爭的混亂時代開始走向成熟,業界對雲的態度更加審慎與理智,不過高浮誇,也不肆意詆譭,而這才是技術發展的正道。個人認為,什麼時候當雲不再成為熱點,就說明雲要麼已經消亡,要麼已經融入我們的生活。正如在破譯雲端計算的7個神話中引用的Serdar對雲的概括:雲不是神奇的萬靈藥也不是一場災難,更不是救世主也不是罪人。它是一個解決問題的新工具。想象在這麼幾年裡,誰還在炒作PC與網際網路的概念呢?

在2010年,我們看到了許多雲產品或雲服務的推出。Rackspace推出開源雲平臺,為需要建立自有云解決方案的公司提供了IaaS平臺。Google向開發者提供雲端儲存,說明Google的雲戰略依舊在穩步的前進。而VMware也適時地推出了vFabric,它可以說是VMware收購SpringSource之後體現其雲願景的產物。在2010年,Amazon AWS獲得ISO 27001認證,標誌著Amazon公共雲已經真正成熟起來。顯然,雲端計算領域中群雄並起,逐鹿中原的戲碼還會繼續上演。

與此同時,人們也越來越關注雲的成功案例。例如,在雲應用的兩個案例中就提及了IBM為日本人壽保險公司以及馬來西亞資訊圖形與動畫產業構建雲平臺,並提供雲服務。2010 Amazon AWS創業公司挑戰賽的獲勝者Mike Kavis,則分享了自己在雲應用的成功經驗,他認為雲中成功的關鍵始於架構。

關於業界對雲端計算審慎探討與分析的報導,頻頻見於InfoQ中文站架構社群。這些內容主要包括雲間整合(Cloudstreams: 雲間整合的下一個挑戰),雲的開放(開放的雲讓業務更“閃亮”),虛擬化(虛擬化發展減緩)、雲應用重構(為雲應用重構系統)以及雲端計算標準(雲端計算標準和開源專案)。

2. NoSQL:眾星追捧

突然之間,NoSQL成為了明星,而且是萬眾矚目、群星追捧的超級大明星。這一結果,或許作為CAP(即Consistency,Availability,Tolerance of network Partition)理論的提出者Eric Brewer也未曾想到吧。NoSQL(Not only SQL)作為一種迥異於關聯式資料庫的持久化解決方案,以其高效能、分散式、可伸縮性、高可用性的特徵,迎合了高速發展的Web應用的需要。NoSQL的誕生與流行,可謂恰逢其時。

2010年,NoSQL產品開始扎堆出現,NoSQL家族逐漸壯大。例如,在3月23日,North Scale宣佈NoSQL資料庫解決方案Membase的推出。而在10月的Hadoop World大會上,Membase與Cloudera宣佈整合了Membase伺服器和CDH(Cloudera Distribution for Hadoop)。MongoDB則不斷推出新版本,例如在它的1.6版本中就增加了Sharding機制和副本集合特性。可喜的是,我們國內的網際網路公司在NoSQL領域很是給力,也推出了自己的NoSQL開源產品,例如淘寶的Tair,天涯的Memlink。其實,在軟體領域裡,越是新的技術,我們國內的軟體企業越有可能取得新的進展,提高自己的競爭力,只要我們擁有創新的精神、開闊的視野和足夠的自信心。

比較而言,關聯式資料庫在面對NoSQL咄咄逼人的態勢下,顯得有些心有餘而力不足。例如Digg與Reddit就在2010年3月宣佈加入NoSQL陣營,他們都將轉向Cassandra。當然,關聯式資料庫的廠商自然也不甘失敗,在NoSQL的競爭者這篇新聞中,就提到了不弱於NoSQL的關係型資料庫MySQL/HandlerSocket和VoltDB。面對NoSQL這種新型別資料庫的流行,工程界人士也開始了SQL之爭。在2010年GigaOM結構會議上,與會公司達成了共識,認為傳統的資料庫在可擴充套件的雲環境中無法有效工作。他們開始了對SQL的聲討。10gen公司的Roger Bodamer認為NoSQL更適合於建模領域,而關係型模式由於涉及到太多的表和關係,所以需要最好的資料建模師才能使其有效發揮作用。Neo Technology公司的Emil Eifrem認為,SQL總是讓人頭疼,開發者討厭SQL,並且使用工具來逃避它。

正是因為 NoSQL呈現出來的優勢與良好態勢,越來越多的人開始重視NoSQL,渴望瞭解NoSQL。我們在對InfoQ中文站2010年的新聞進行點選量統計時,發現排名20位的文章中,與NoSQL有關的文章就包含了4篇,分別位列點選量的3位、9位、11位和19位,它們是:

3. HTML5:Web的未來

毫無疑問,HTML 5將在未來的Web中佔有舉足輕重的地位。然而,在這其中不知又開始了多少利益的紛爭。Microsoft、Adobe、Google以及Apple都在打HTML 5的牌,卻又不願意完全放棄自己原有的前端技術。事實上,Web標準對於他們而言,既是災難,又充滿了巨大的誘惑。如何在未來的Web中分得一杯羹,那就得看他們擁抱HTML 5的態度了。

在評論霧裡看花:微軟的前端技術戰略何去何從中,提及了微軟開發者平臺產品管理部經理Brad Becker的態度,認為微軟將致力於使用Silverlight實現HTML無法完成的解決方案來擴充套件Web功能。而在微軟推出的Internet Explorer 9 Preview 3中,則提供了更好的HTML 5支援。顯然,選擇Silverlight還是HTML 5,微軟的戰略有些搖擺不定。Adobe面對HTML 5,已經開始積極地面對。在2010年的開發者大會上,Adobe向公眾展示了一款用於HTML5動畫製作的IDE。可是在視訊方面,Adobe又該如何決策Flash的前途呢?現在,有許多視訊網站已經開始從Flash遷移到HTML 5,尤其是在Apple不願意支援Flash的前提之下。例如,YouTube就釋出了HTML 5視訊beta版,緊接著Vimeo也釋出了HTML 5的beta版。至於Google,也開始佈局HTML 5。它的Chrome瀏覽器目前已經能夠支援75%以上的HTML 5特性。而在2010年11月召開的Google開發者日上,Freiheit.com的CTO Stefan Richter 則談到了使用HTML 5與Google App Engine編寫富Internet應用的願景。雖然這並非官方發言,但Google開發者的聲音,可能更草根,態度卻也更鮮明。Apple的步伐依然快速。至少在目前,Apple在移動網際網路的地位依舊不可撼動。如今,iPhone的Mobile Safari瀏覽器已經能夠支援HTML5的Canvas/Canvas2D、Video、Audio、Geolocation、Local Storage/Session Storage、Application Cache、Web SQL Database等。顯然,Apple的HTML 5戰略已經落地。畢竟,Apple可不像微軟那樣,還要為選擇自己的技術而猶疑不定。

雖然在2010年InfoQ中文站架構社群中,對HTML 5的關注度似乎還不算高;但InfoQ的作者們對於HTML 5的前景卻前所未有的保持一致的肯定態度。Abel Avram撰文稱HTML5已經起飛,豆瓣前端工程師張克軍則認為前端的HTML5時代來臨。當然,我們必須正視HTML 5,瞭解其本質。正如《HTML 5專業開發》一書的作者Peter Lubbers所說:“HTML5不僅僅是HTML的更新換代,它已經孕育很久了。”或許,正是因為我們等待得太久,才對它充滿了期待吧。

4. 架構質量:大事件

隨著軟體系統變得越來越複雜,規模越來越龐大,對架構的質量要求也就變得越來越高。如何改善架構的質量,成為了架構師不能承受之輕。是的,隨著相關理論的逐漸完善,我們已經可以羅列出改善架構質量屬性的技術矩陣。弓箭與靶已經準備就緒,我們卻很難尋找到技藝高超的精靈弓箭手,來射出這有力而精準的一箭。一種好的學習方式是提煉最佳實踐,所以在2010年的QCon北京大會上,Twitter與Facebook架構師的演講才會如此引人矚目。

縱覽2010年InfoQ中文站的架構社群,有兩個與架構質量相關的事件值得我們關注。一個是FourSquare的當機事件,準確地說,應該是FourSquare的MongoDB當機事件。InfoQ有三篇文章FourSquare經歷兩次當機、MongoDB創始人Eliot Horowitz分析FourSquare當機原因和Foursquare的MongoDB當機事件報導和分析了此次事件,從不同的角度討論和剖析了當機事件的原因、解決辦法和帶來的教訓。將它們串聯起來讀一讀,或能啟人深思。

另一個事件就是淘寶的雙十一事件,InfoQ中文站對此次事件做了一系列的深度採訪,分別就技術和運維的角度剖析雙十一事件中淘寶制定的方案與解決辦法。這些採訪包括:淘寶雙十一事件的前中後技術事、康伯談淘寶雙十一事件中的CDN優化和伏威談淘寶網的高併發處理與壓力測試。雙十一事件在國內技術圈兒的影響極為深遠,相信在很長的時間內,人們還會津津樂道於這一事件。

最佳實踐不嫌其多。在2010年InfoQ中文站架構社群,我們可以看到Facebook分享瞭如何利用BigPipe優化頁面載入時間,以及如何使用Hadoop來計算大規模分析;Google則介紹了索引系統Percolator的技術細節,用於大資料集增量更新系統;Zynga的CTO則討論瞭如何設計高可擴充套件性社交遊戲;又拍網分享了架構中的分庫設計;還有InfoQ自己的案例分析,介紹了InfoQ網站的資料庫升級過程。此外,架構社群還深入分析和討論了架構質量中關鍵的屬性:系統級複用,效能優化與快取,架構安全、資料恢復與備份、系統整合以及可伸縮系統的設計模式。

5. 企業架構:舊事重提

企業架構(Enterprise Architecture)是新玩意兒嗎?不是!如果以IT行業的年齡來看,它或許可以稱為老古董。在1987年,John Zachman就提出: “為了避免企業分崩離析,資訊系統架構已經不再是一個可有可無的選擇,而是企業的必需”。從那時起,企業架構的理論就得到了緩慢的發展。那麼,它的理論如今已經成熟了嗎?很多架構師認為,企業架構的原則仍然缺乏穩固的基礎。

隨著雲端計算進入架構師的視野,它與企業架構之間的關係也引起了業內的爭執。我注意到該文中的一個觀點是“轉向雲端計算為的是敏捷和靈活,企業架構正好與之相反。”這又引申出另外一個話題,那就是敏捷與企業架構的關係。Jean-Jacques Dubray帶著疑問的色彩發出呼籲,是否該重新思考企業架構了?敏捷的提出是為了應對軟體的變化,而微軟的Gabriel Morgan則認為“EA不應該包含面向公司變化的業務功能,而是應該通過正確的方式教育和協助建立這些業務功能。”這麼說來,或許敏捷的架構可以作為企業架構的一種補充。整體而言,企業架構關注更多的是企業戰略的層面。在對業務架構的進行更合理抽象能成為企業架構的關鍵嗎一文中,Fujitsu的雲架構師Ian的基本觀點是,在不同抽象層次上建立業務架構的資產,產出一套適合企業環境的方法,從而有利於更全面的決策與實施。

我的眼光還在穿越這悠長的2010年,意猶未盡。我發現還有很多與架構相關的話題值得我們關注,例如REST,例如模型驅動,例如敏捷與架構的關係,例如軟體工藝與良好的設計。它們影響著系統的架構,或者作為架構的一部分決定著架構的優劣。

架構不是一天就能建成的,成為軟體架構師的路線更是一個漸進的過程。Simon Brown認為:“擁有持續的、跨不同領域的技能、知識和經驗構成了軟體架構的職責。跨越軟體開發者和架構師的界限取決於你自己,但是首先你要明白你的經驗水平,才能開始架構師之旅的第一站。”這段話擷取於他在InfoQ發表的文章你是個軟體架構師嗎,這篇文章是2010年InfoQ中文站架構社群最熱最火的一篇文章,一共有21條回覆。看起來,軟體開發者真的很在意軟體架構師這個頭銜!架構師的技能必須全面而專業,這就要求我們必須廣泛閱讀與涉獵架構領域的知識,套用Simon的話,來一句廣告,那就是——時刻關注InfoQ架構社群,或許可以成為你開始架構師之旅的第一站。

2010年已經過去,讓我們歡迎2011年的到來!個人認為,2011年的架構仍然會逃不出本文所涉及的五個範疇。除此之外,也許我們還會看到有關物聯網和移動開發對架構帶來的影響。而自敏捷宣言誕生到現在,已經過去了10個年頭,或許在2011年會看到更多對敏捷架構的討論。究竟如何,讓我們拭目以待!

原文連結:http://www.cnblogs.com/wayfarer/archive/2011/01/13/1934228.html


相關文章